Я работаю Java разработчиком, по образованию магистр радиотехники, но в процессе учёбы увлекся разработкой и решил в этом направлении развиваться. Набрал книг, Кнут, Философия Java, изучал самостоятельно и попробовал пройти собеседование в Java школу (в Петербурге такие часто бывают), попал в Epam и очень был этому рад. Сама школа не сказать, чтобы очень много дала, но это был хороший вход в профессию.
Если бы мне надо было снова пройти подобный путь, я бы постарался выбрать определённое направление и самостоятельно разработать до конца какой-то проект и выложить его на гитхаб, это, по-моему, может увеличить шансы начинающего на собеседование, плюс это опыт, пускай с ошибками, но не важно. Распыляться на кучу языков не стоит, лучше концентрироваться на чем-то одном, а вот что стоит - это изучить основные структуры данных и примитивные алгоритмы, т к. это точно пригодится.
Привет я юрист по образованию, в программирование начал вникать в 24 года. Снял фильм о том, как с ноля за 157 устроился на работу программистом. Может будет полезным https://www.youtube.com/watch?v=ovFXHhC1frk
Наоборот хорошо, что ты учишься не на программиста. Будешь иметь несколько точек зрения при решении задач. С++ не советую изучать ради мобильного сегмента. C# и Java - годится. Сейчас еще Swift активно зарождается - советую обратить внимание.
First thing first. Выбери ОДИН язык и не начинай учить другие, пока не будешь достаточно уверенно владеть основным. Могу порекомендовать Java, не слишком сложный, не слишком простой, достаточно "богатый", Си-подобный синтаксис, большое комьюнити, отличная основа, после которой может даже получиться выучить C++ за 21 день (вряд ли). То, что нужно. Сосредоточиться, особенно в начале пути, следует не на изучении различных языков, фреймворков, др. технологий, а на изучении фундаментальных основ. Прежде всего с банальной информатики, структур данных и алгоритмов, теории баз данных, принципы организации сетей, архитектуры ЭВМ, и т.д. Следует понять основные принципы и теоретическую основу Comp.Sci. в целом, тогда отдельные технологии будут щелкаться как семечки. Математическую основу всех этих вещей знать не обязательно (в зависимости от конкретной предметной области и проекта, может быть и обязательно), но в любом случае крайне полезно и часто будет выручать или давать преимущество на рынке труда и "в бою". В большинстве технических вузов в основном дают только теорию (в основном), это верно, но вот только на практике она очень часто применяется, иногда без нее вообще никак и никуда. Счастье в том, что сейчас в сети полным-полно онлайн открытых курсов и доступной литературы, начиная от азов математики и информатики, заканчивая довольно специфичными и продвинутыми предметными областями. Гуглим - выбираем - скачиваем/записываемся - читаем/проходим - закрепляем на практике - профит. И да, очень верно подсказывают - начать свой проект. Что нибудь, что интересно лично тебе, для начала простое, главное - от начала и до конца. Постепенно идти от простого к сложному. Для меня работает такой подход: сначала набираем некоторую "критическую массу" теоретической базы (от теории к практике), затем начинаем разрабатывать и писать проект, если что то не ясно - гуглим/смотрим/читаем и впитываем по ходу пьесы (от практики к теории). Так гораздо быстрее изучаются и сетевые технологии, и работа с ГУИ и фреймворки, и особенности языка и т.д. и т.п., особенно все то, до чего в процессе жадного поглощения сакральных знаний вечно "руки не дотягиваются" или откладывается на следующий месяц уже полгода. Все описанные выше подходы являются субъективным мнением и работают лично для меня, тем не менее, могут послужить некоторой пищей для размышления. Удачи!
На javarash хорошие практические задания с автоматизированной проверкой. Плюс в сети полно документации и ответов на все возможные вопросы. И вперёд - запили пару юридических приложений, пока учишься.
Не тратить время на задавание глупых вопросов с просьбой помочь в том, на тему чего огромное количество материала в интернете. И знаете, если вы не способны открыть гугл и ввести запрос "изучение #технология#" и найти жирные и хорошие обсуждения на стековерфлоу или хабре или где-нибудь еще, то у меня для вас не очень хорошие новости, ибо умение искать информацию и учиться весьма важные навыки для программиста.
Резюмируя: гуглите, смотрите авторитетные источники, учите теорию и, конечно, практикуйтесь. Удачи.
P.s. не нужно задавать вопросы, на которые уже много раз ответили.
Осваивать сразу все перечисленные языки нет смысла. Я бы выбрал Java, хотя C++ даёт более глубокое понимание (но это кровавый путь). Что точно потребуется на серьёзных позициях - это знания программной инженерии (Макконнелл, Соммервилл, GoF в помощь) и алгоритмов (Седжевик на Coursera в помощь, как раз для Java). Отсутствие технического образования - очень сильный фильтр в серьёзных конторах. Не стоппер, но будет значительно сложнее, чем если это образование иметь, пусть даже ради корочки. В любом случае, самое главное - реальные навыки программирования. Удачи с выбором!
Unity3D для игр же в основном, Java - Android, iOS - Swift. Однако писать мобильные приложения сейчас можно и на HTML, CSS, JavaScript,да и не только мобильные, но и десктопные приложения. В остальном все как и предлагали выше, делаешь портфолио проектов, с ним идешь в контору на джуниора.
Многие универы зачастую дают либо нерелевантные знания в области программирования, либо не дают студентам должного уровня самостоятельности, как-то эта тема поднималась в США и там пришли к выводу, что большинство бакалавров пишут дерьмовый код.
Насчет магистратуры скажу так: все сильно зависит от направленности универа. Есть чисто исследовательские институты, там, имхо, программисту делать нечего, а есть более практико-ориентированные университеты, где можно получить неплохие скиллы, поработать над проектиками и даже что-то продать.
Понять основы хватит два года универа по специальности Вычислительные машины. Можно было бы и в один год ужать, но там еще есть математика, физика и какая-то гуманитария... В основном понимание дают лабораторные работы и курсовики. Если останешься на третьем курсе, то еще сможешь немного прокачаться, но по хорошему тут стоит закругляться.
Параллельно закупиться всеми умными книгами из бестселлеров на 15-20К руб. Читать и прбовать. Плюс обязательно английский на уровне чтения документации.
Если действительно хочешь быть программистом - сожги мост юридического образования. Тогда тебе ничего не останется, кроме как ибошить ночами - так и становятся тру прогерами
Летом устройся стажером в любую ИТ компанию, можно даже бесплатно. В команде разработчиков освоишь на практике работу над каким-то проектом, получишь бесценный опыт, связи по интересам появятся. Диплом все равно надо получить, высшее есть высшее. Знание Права в жизни всегда пригодится.
Рекомендую не стремиться получить корки, они сейчас реально никому в бизнесе не нужны. Лучше на базе юридического образования и тяги к технологиям, двигаться дальше в этом ключе. Создать свою СПС(типа Гаранта, Консультанта) к примеру или вэб-разработки с юридической наклонностью.
Еще крайне рекомендую начать участвовать в жизни интересных вам проектов на гитхабе. Предварительно поискав их там через advanced search. Скилл программера растет молниеносно.
С детства увлекался компьютерами и программированием. Начинал с бейсика, затем ассемблер, c++, visual basic. Однако получил банковское образование и в итоге работал в банке (не в ИТ области) 8 лет дослужившись до руководящей должности. Во время работы в банке периодически использовал свои знания для оптимизации, упрощения и ускорения своей работы и работы своих сотрудников. Года 4 назад ушел с банка и спустя некоторое время стал работать сам на себя в сфере web-разработки. Сейчас зарабатываю больше, чем зарабатывал в банке на руководящей должности, а нервотрепки на порядок меньше. Как выше рекомендовали - учи английский. Большинство серьезной документации идет на английском языке и его незнание является очень сильным тормозом в развитии.
http://haseebq.com/ - блог человека, который сначала получил образование в области Philosophy & English language, потом полгода учился программировать в режиме 24х7, в результате получил 8 офферов в Долине, включая Google, Uber, AirBnB.
Да насрать всем на твое образование. Ищи заказы, пили проекты, составляй портфолио, расширяй портфолио.
"Как стать программистом без технического образования?"
Научиться программировать и делать это хорошо!
Однажды, много лет назад, пара моих родственников, написавшие в сумме 21 неплохой роман ответили на похожий вопрос в унисон: Бля, научись писать!
Есть один действенный метод научиться программировать: write the fucking code.
Я работаю Java разработчиком, по образованию магистр радиотехники, но в процессе учёбы увлекся разработкой и решил в этом направлении развиваться. Набрал книг, Кнут, Философия Java, изучал самостоятельно и попробовал пройти собеседование в Java школу (в Петербурге такие часто бывают), попал в Epam и очень был этому рад. Сама школа не сказать, чтобы очень много дала, но это был хороший вход в профессию.
Если бы мне надо было снова пройти подобный путь, я бы постарался выбрать определённое направление и самостоятельно разработать до конца какой-то проект и выложить его на гитхаб, это, по-моему, может увеличить шансы начинающего на собеседование, плюс это опыт, пускай с ошибками, но не важно. Распыляться на кучу языков не стоит, лучше концентрироваться на чем-то одном, а вот что стоит - это изучить основные структуры данных и примитивные алгоритмы, т к. это точно пригодится.
Второе высшее - не думаю, что есть смысл большой.
посоветуй с какого языка программирование лучше начинать учить C# C++ или Java ?
Комментарий недоступен
Привет я юрист по образованию, в программирование начал вникать в 24 года. Снял фильм о том, как с ноля за 157 устроился на работу программистом. Может будет полезным https://www.youtube.com/watch?v=ovFXHhC1frk
Наоборот хорошо, что ты учишься не на программиста. Будешь иметь несколько точек зрения при решении задач. С++ не советую изучать ради мобильного сегмента. C# и Java - годится. Сейчас еще Swift активно зарождается - советую обратить внимание.
First thing first. Выбери ОДИН язык и не начинай учить другие, пока не будешь достаточно уверенно владеть основным. Могу порекомендовать Java, не слишком сложный, не слишком простой, достаточно "богатый", Си-подобный синтаксис, большое комьюнити, отличная основа, после которой может даже получиться выучить C++ за 21 день (вряд ли). То, что нужно. Сосредоточиться, особенно в начале пути, следует не на изучении различных языков, фреймворков, др. технологий, а на изучении фундаментальных основ. Прежде всего с банальной информатики, структур данных и алгоритмов, теории баз данных, принципы организации сетей, архитектуры ЭВМ, и т.д. Следует понять основные принципы и теоретическую основу Comp.Sci. в целом, тогда отдельные технологии будут щелкаться как семечки. Математическую основу всех этих вещей знать не обязательно (в зависимости от конкретной предметной области и проекта, может быть и обязательно), но в любом случае крайне полезно и часто будет выручать или давать преимущество на рынке труда и "в бою". В большинстве технических вузов в основном дают только теорию (в основном), это верно, но вот только на практике она очень часто применяется, иногда без нее вообще никак и никуда. Счастье в том, что сейчас в сети полным-полно онлайн открытых курсов и доступной литературы, начиная от азов математики и информатики, заканчивая довольно специфичными и продвинутыми предметными областями. Гуглим - выбираем - скачиваем/записываемся - читаем/проходим - закрепляем на практике - профит. И да, очень верно подсказывают - начать свой проект. Что нибудь, что интересно лично тебе, для начала простое, главное - от начала и до конца. Постепенно идти от простого к сложному. Для меня работает такой подход: сначала набираем некоторую "критическую массу" теоретической базы (от теории к практике), затем начинаем разрабатывать и писать проект, если что то не ясно - гуглим/смотрим/читаем и впитываем по ходу пьесы (от практики к теории). Так гораздо быстрее изучаются и сетевые технологии, и работа с ГУИ и фреймворки, и особенности языка и т.д. и т.п., особенно все то, до чего в процессе жадного поглощения сакральных знаний вечно "руки не дотягиваются" или откладывается на следующий месяц уже полгода. Все описанные выше подходы являются субъективным мнением и работают лично для меня, тем не менее, могут послужить некоторой пищей для размышления. Удачи!
На javarash хорошие практические задания с автоматизированной проверкой. Плюс в сети полно документации и ответов на все возможные вопросы. И вперёд - запили пару юридических приложений, пока учишься.
Не тратить время на задавание глупых вопросов с просьбой помочь в том, на тему чего огромное количество материала в интернете. И знаете, если вы не способны открыть гугл и ввести запрос "изучение #технология#" и найти жирные и хорошие обсуждения на стековерфлоу или хабре или где-нибудь еще, то у меня для вас не очень хорошие новости, ибо умение искать информацию и учиться весьма важные навыки для программиста.
Резюмируя: гуглите, смотрите авторитетные источники, учите теорию и, конечно, практикуйтесь. Удачи.
P.s. не нужно задавать вопросы, на которые уже много раз ответили.
Осваивать сразу все перечисленные языки нет смысла. Я бы выбрал Java, хотя C++ даёт более глубокое понимание (но это кровавый путь). Что точно потребуется на серьёзных позициях - это знания программной инженерии (Макконнелл, Соммервилл, GoF в помощь) и алгоритмов (Седжевик на Coursera в помощь, как раз для Java). Отсутствие технического образования - очень сильный фильтр в серьёзных конторах. Не стоппер, но будет значительно сложнее, чем если это образование иметь, пусть даже ради корочки. В любом случае, самое главное - реальные навыки программирования. Удачи с выбором!
Unity3D для игр же в основном, Java - Android, iOS - Swift. Однако писать мобильные приложения сейчас можно и на HTML, CSS, JavaScript,да и не только мобильные, но и десктопные приложения. В остальном все как и предлагали выше, делаешь портфолио проектов, с ним идешь в контору на джуниора.
< писать мобильные приложения сейчас можно и на HTML, CSS, JavaScript
можно, но не нужно. Особенно новичку.
Многие универы зачастую дают либо нерелевантные знания в области программирования, либо не дают студентам должного уровня самостоятельности, как-то эта тема поднималась в США и там пришли к выводу, что большинство бакалавров пишут дерьмовый код.
Насчет магистратуры скажу так: все сильно зависит от направленности универа. Есть чисто исследовательские институты, там, имхо, программисту делать нечего, а есть более практико-ориентированные университеты, где можно получить неплохие скиллы, поработать над проектиками и даже что-то продать.
Устройся на работу юниором каким-нибудь.
Учи Джаву Начни пилит опенсорс.
Понять основы хватит два года универа по специальности Вычислительные машины. Можно было бы и в один год ужать, но там еще есть математика, физика и какая-то гуманитария... В основном понимание дают лабораторные работы и курсовики. Если останешься на третьем курсе, то еще сможешь немного прокачаться, но по хорошему тут стоит закругляться.
Параллельно закупиться всеми умными книгами из бестселлеров на 15-20К руб. Читать и прбовать. Плюс обязательно английский на уровне чтения документации.
Если действительно хочешь быть программистом - сожги мост юридического образования. Тогда тебе ничего не останется, кроме как ибошить ночами - так и становятся тру прогерами
за 157 дней
Если душа лежит, и будешь делать это хорошо, то твой диплом никому не нужен )))))
Летом устройся стажером в любую ИТ компанию, можно даже бесплатно. В команде разработчиков освоишь на практике работу над каким-то проектом, получишь бесценный опыт, связи по интересам появятся. Диплом все равно надо получить, высшее есть высшее. Знание Права в жизни всегда пригодится.
Конечно же начать стоит с ассемблера. Без понимания того как работает x86 или ARM за пределы быдлокодера не вылезешь все равно.
Хороший вопрос - в целом думаю может помочь эта статья ( https://goo.gl/osLf07 )
Рекомендую не стремиться получить корки, они сейчас реально никому в бизнесе не нужны. Лучше на базе юридического образования и тяги к технологиям, двигаться дальше в этом ключе. Создать свою СПС(типа Гаранта, Консультанта) к примеру или вэб-разработки с юридической наклонностью.
Еще крайне рекомендую начать участвовать в жизни интересных вам проектов на гитхабе. Предварительно поискав их там через advanced search. Скилл программера растет молниеносно.
С детства увлекался компьютерами и программированием. Начинал с бейсика, затем ассемблер, c++, visual basic. Однако получил банковское образование и в итоге работал в банке (не в ИТ области) 8 лет дослужившись до руководящей должности. Во время работы в банке периодически использовал свои знания для оптимизации, упрощения и ускорения своей работы и работы своих сотрудников.
Года 4 назад ушел с банка и спустя некоторое время стал работать сам на себя в сфере web-разработки. Сейчас зарабатываю больше, чем зарабатывал в банке на руководящей должности, а нервотрепки на порядок меньше.
Как выше рекомендовали - учи английский. Большинство серьезной документации идет на английском языке и его незнание является очень сильным тормозом в развитии.
http://haseebq.com/ - блог человека, который сначала получил образование в области Philosophy & English language, потом полгода учился программировать в режиме 24х7, в результате получил 8 офферов в Долине, включая Google, Uber, AirBnB.
Советую почитать его историю.
Спасибо, надо прочесть