0

За какое время можно стать программистом

Программист – профессия, требующая специальных знаний и навыков. Практически в любой профессиональной области нужно учиться и совершенствоваться, прежде чем стать специалистом. Но так ли разнятся сроки подготовки программистов, как, скажем, хирургов. Ведь есть хирурги в поликлиниках, а есть в больницах – те, которые оперируют. И времени, чтобы стать оперирующим хирургом нужно в разы больше.

Программисты тоже бывают разные: дипломированные и самоучки, веб-разработчики, разработчики под Android и iOS, программисты 1С, инженеры-программисты и так далее. Так сколько же времени нужно, чтобы стать программистом – один день или, может быть, целая жизнь?

«Отсчет времени начинается еще со школьной скамьи»

Дмитрий Раковец, javа-разработчик:

Однозначно на этот вопрос ответить нельзя, так как время подготовки программиста зависит от нескольких параметров: усердия, способностей. Обладая ими в должной мере, за один год можно изучить язык программирования и необходимые технологии. На выходе получим начинающего разработчика.

Если же говорить о Программисте (с большой буквы П), который может на своих плечах вытащить проект, то сюда можно добавить еще два параметра: увлеченность тем, чем человек занимается, и база, заложенная в школе, университете. То есть в целом отсчет времени начинается еще со школьной скамьи.

Однако стоит обратить внимание, что этих знаний все-таки недостаточно. Для того, чтобы стать успешным программистом, обязательно нужно снова практиковаться, изучать что-то новое и тут же применять это на практике.

Если же подходить к рассмотрению вопроса со стороны качества работы, то здесь, как в спорте – логарифмический рост показателей. То есть с каждым годом рост качества выполняемой работы становится все меньше. Ну а рынок, само собой, задает планку качества, после которой кандидат получит определенный оффер.

Мой программистский путь начался, увы, поздно. Я с программированием столкнулся только в университете (с Паскалем). Это было связано с тем, что школа, в которой я учился, к сожалению, не могла дать мне даже самых примитивных знаний в этой области. Но с учетом того, что я занимался олимпиадной математикой – сразу же начал делать успехи и в программировании. Не сразу, но все-таки решил сделать шаг навстречу промышленной разработке. За месяцев 6 изучил все необходимое для старта на курсах, и на данный момент работаю javа-разработчиком.

«Программированию нужно учиться всю жизнь»

Дмитрий Тулупов, ведущий веб-разработчик:

Все зависит от выбранной специализации. Ведь программированию нужно учиться всю жизнь. Поскольку требуется постоянное обучение и переобучение. Так как постоянно выходят обновления, создаются новые библиотеки, появляются новые языки программирования. Понятное дело, нужно учиться, чтобы не отставать от передовых технологий. Вышла новая веб-технология – изучил ее.

Кроме того, библиотеки состоят из миллиона различных функций, и их изучение за короткий промежуток времени просто не представляется возможным физически.

Я, например, занимаюсь программированием примерно с 2009 года, может чуть раньше. Сначала начинал с создания простых страниц на html и табличной верстки. Потом постепенно стал изучать CSS, JavaScript и PHP. Затем пошли готовые CMS (Системы управления контентом), их программирование и программирование модулей для этих систем. После этого я подробно разбирался в различных PHP-фреймворках и так далее. Сейчас технологий слишком много. Применяемых и новых, востребованных и забытых. Понятное дело, все знать невозможно. Но совершенствоваться и стремится к новым знаниям мы обязаны.

Здесь ещё очень важно учитывать, что подразумевается под словом «программист». Это примерно, как на музыкальном инструменте играть. Есть те, кто играют 3-4 аккорда до 5 лада и называют себя гитаристами, а есть те, кто в состоянии идеально исполнить всю дискографию Хендрикса, но на вопрос «ты умеешь играть?» они ответят: «ну, так, поигрываю чуть-чуть».

Так и с программированием. Например, я в данный момент могу назвать себя программистом. Но так, скорее всего, должны называть тебя коллеги, ученики и другие причастные люди. Ведь программистом сейчас могут назвать себя даже школьники, которые программируют на «детских» языках.

«Без постоянного обучения твои навыки быстро устаревают»

Александр Сташкевич, инженер-программист:

Если под словами «стать программистом» подразумевается получить работу, то первым делом нужно освоить базовые знания в выбранном направлении.

Обучаться (не в университете на факультете информационных технологий) можно разными способами:

Если говорить о самостоятельном изучении программирования с нуля, то очень многое зависит от заинтересованности человека в обучении. В интернете можно найти очень много материала, который позволит освоить базовые знания в выбранной области. Этот период очень сильно различается по времени (от 2 недель до 3 месяцев). После чего, а лучше параллельно с изучением, следует начать делать собственный, интересный самому себе же проект, так как обучение без практики не приносит должного эффекта.

С развитием проекта человек будет постоянно учиться и улучшать качество кода. Временные рамки этого этапа очень персонализированы, для некоторых проектов может потребоваться 1-2 недели, а для некоторых – пару месяцев. Опубликовав один (2-5 месяцев), а лучше несколько (3-10 месяцев) проектов, можно отправляться на поиски работы.

Наставник, понятное дело, ускоряет процесс изучения. Он указывает на ошибки и области, в которых обучаемому не хватает знаний. Возможно, он даже поможет с поисками первого проекта/работы.

Прохождение курсов (обычно от 2 до 6 месяцев) научит человека решать определенную задачу, и все его знания будут ограничены именно этой задачей (от А до Б, если говорить о краткосрочном обучении). Если по окончании обучения на курсах человек сразу не найдет работу или не начнет участвовать в интересном ему проекте – такое обучение не принесет никакого эффекта. Ведь в программировании, как и в любой другой профессии, без постоянного обучения твои навыки быстро устаревают.

Читайте также:  Замена контроллера аккумулятора ноутбука

Если же говорить о классическом вузовском образовании, то университет требует намного больше времени на обучение, но и должен давать более широкий спектр навыков. Такой спектр обширен, однако не всегда дает глубокие знания в конкретных областях. Грубо говоря, после 2-го курса нужно выбрать интересное для себя направление и углублять свои знания, развивать навыки именно в нем.

Можно ли получить эти знания не тратя 4 года? Если в самом начале изучения человек уже выбрал направление своего развития, то на прохождение нужных именно ему университетских программ он потратит намного меньше времени. Университет ведь помимо образовательных функций, развивает в человеке личность. А это тоже требует времени.

«Даже художник может стать программистом»

Евгений Вишневский, веб-разработчик, руководитель веб-студии:

Я думаю, что нет конкретного временного промежутка, чтобы стать программистом. Вопрос в том, кто и что закладывает в это понятие. То есть, если кто-то считает, что программист – это тот, у кого есть диплом о среднем специальном или высшем образовании, где прописана специальность «техник-программист» или «инженер-программист», то, наверное, достаточно срока обучения в учебном заведении, если же брать того, кто действительно может считаться программистом – наверное, учиться надо всю жизнь.

То, чему я учился в университете на 1 курсе, к 5 уже давно стало не актуальным. Например, когда я был студентом 2-3 курса, Стив Джобс презентовал первый iPhone, а когда я заканчивал университет – смартфон уже был обыденной вещью. Это именно та сфера, в которой все очень быстро меняется, так что учиться приходится постоянно.

Я не считаю, что в настоящий момент просто для того, чтобы сидеть и писать код, нужно иметь высшее или даже среднее специальное образование. У меня были знакомые художники, которые стали программистами. Они занимались графикой, живописью, а потом решили, что им это больше не интересно и стали программистами. То есть они прошли полугодовые курсы и в итоге работают программистами в весьма немаленьких компаниях. Но здесь вопрос в другом: какие задачи могут решать эти люди? Просто сидеть и писать код. с такими навыками и уровнем подготовки они не смогут в нашей стране претендовать на зарплату свыше $2000.

Вообще, белорусский рынок изначально развивался как аутсорсинговый для Запада. То есть там есть ребята, которые получают большие деньги, отдают заказы белорусам, а последние просто сидят и кодят. Вся экспертиза там, в Беларуси программисты просто выполняют механические действия. Сейчас этот вектор уже немножко смещается, даже экпертиза во многом уходит в Беларусь. Здесь есть самые современные «вещи» – нейронные сети, искусственный интеллект. У нас много стартапов, которые нацелены именно на это. И вот там все ребята имеют минимум высшее инженерное образование. Ведь эти знания им действительно необходимы: статистика, матанализ и так далее, с теорией вероятности им нужно быть хотя бы знакомыми. И это тоже программисты.

Но с другой стороны, есть условный товарищ, который дома «на коленках» пишет сайты (не важно какого они качества), однако он тоже себя считает программистом. Хотя посмотрел три видеоурока, научился ставить CMS-ку и добавлять на неё картинки. В итоге у него получается сайт. И он тоже программист.

Сроки подготовки здесь очень сложно оценить. А вот если оценивать профессию по срокам вхождения в неё, то самый короткий путь у веб-разработчиков (даже если не брать в расчет тех, кто за пару дней осваивает технологию по видеоурокам), именно у тех, кто работает с вебом на PHP. Потому что этот язык сам по себе прост, у него большое сообщество разработчиков, по нему есть уйма книг, видеоуроков, курсов и много другого. Самой времязатратной областью программирования будет, я думаю, как раз-таки сфера искусственного интеллекта и нейронных сетей, потому что там помимо хороших знаний в программировании нужны и глубокие знания в математике.

В любом случае, я считаю, что если есть желание, человек сможет стать хорошим программистом. Снова вспомню знакомого художника. Даже имея «лирическое» образование, человек сможет постигнуть профессию. Возможно, ему будет сложнее в силу отсутствия технической базы, специализированных знаний. Но дальше я проблемы не вижу.

«Не все люди, которые закончили вуз по программистским специальностям, в итоге становятся программистами»

В первую очередь, все зависит от базовых знаний в Computer Science. Это архитектура ЭВМ, знание того, как производятся вычисления и тому подобное. Во вторую – от базового понимания основ программирования, ведь наличие этих знаний может сильно сократить путь становления программиста.
Количество затрачиваемого времени также сильно зависит и от предметной области, в которой ты хочешь стать программистом. Поскольку могут понадобиться дополнительные знания в этой самой предметной области: биология, физика+математика, искусственный интеллект, блокчейн, компьютерная графика и так далее.

Естественно, все во многом зависит и от самого человека, который учится. От его способности к самообучению, заинтересованности, уровня интеллекта, в конце концов. Более того, важна правильность подхода к обучению. Учитывается насколько он системный, не скачет ли человек от одного к другому и тому подобное.

Качество знаний, конечно, тоже напрямую зависит от количества времени, которое человек инвестирует в обучение. Кто-то может уделять программированию по 2 часа раз в два дня, а кто-то может по 12 часов в день сидеть. И вот все это вместе может составлять умопомрачительно разные сроки обучения.

Читайте также:  Блютуз гарнитура для телефона беспроводная какая лучше

В итоге все сводится к тому, что сроки – это нечто, сложно оцениваемое. Можно, допустим, сказать, что на каком-то языке программирования стать Junior Developer можно за 1 год. Только как об этом корректно судить? Ведь этого джуна, например, взяли на какую-то одну работу, а в 20 других мест, где нужен джун, не взяли. Так что статистически он рынку был не особенно нужен.

Кроме того, умение программировать – не единственное умение, которое требуется от программиста. Потому что всегда есть всякие смежные «вещи»: базы данных, верстка, системы очередей, какая-нибудь анимация, системы контроля версий, системы развертывания, облачные технологии и так далее. То есть это как бы не совсем программирование, но при этом джава-бэкэнд разработчик без знания баз данных никому и даром не нужен.

В общем, очень сложно оценить сколько времени нужно, чтобы стать программистом. Главное, помнить сакраментальную вещь: не все люди, которые закончили вуз по программистским специальностям, в итоге становятся программистами.

Новичкам кажется, что обучение разработке требует много времени. Отвечаем с преподавателями Skillbox на вопрос, как долго учиться программированию.

«Всю жизнь», — вот так лаконично отвечают разработчики на вопрос о том, сколько нужно учиться профессии. Это вполне справедливое замечание, ведь регулярно появляются новые технологии. Но мы решили более подробно рассмотреть, сколько времени нужно, чтобы стать программистом при различных исходных данных.

А ты точно программист?

Перед тем как начать изучать программирование, проанализируйте, зачем вам это нужно. Разработчиком может стать любой человек, если приложит усилия и наберется терпения. Но абстрактные деньги — не лучший мотиватор в этом деле. Поставьте более конкретную цель, для достижения которой понадобятся средства и инструменты, — именно она будет двигать вас вперед.

Вы хотите эмигрировать за границу? Хотите реализовать полезный для людей проект? Может быть, открыть собственную компанию по разработке сайтов? Это примеры мотивации, которая поможет преодолеть много ступеней профессионального развития.

Автор в сфере IT, digital, экономики и финансов. Ведет некоммерческий проект для начинающих писателей «ЛитЦех».

Программирование позволяет переехать на ПМЖ за рубеж — останется только выучить иностранный язык в зависимости от желаемой страны. Хотя для контрактной работы в бизнес-инкубаторе достаточно и английского на уровне Upper Intermediate. Если вы станете трудолюбивым высококлассным специалистом, то переезд вполне реален. Так же как и открытие собственного бизнеса или создание онлайн-проекта мечты, приносящего постоянный пассивный доход.

Сколько времени потребуется на обучение

Временные затраты — вопрос конкретных обстоятельств и желаемого результата. Наверняка вы слышали выражение, что профессионалом в любой сфере можно стать, затратив 10 000 часов на эту деятельность. Чтобы стать разработчиком начального уровня, потребуется в несколько раз меньше.

Например, Даниил Пилипенко, программист с 10-летним стажем и ведущий курсов Skillbox, полагает, что для начального уровня достаточно 6–12 месяцев:

Зависит от талантов, конечно. Но полгода-год обычно достаточно, чтобы с нуля вырасти до уровня Junior.

Если у вас уже есть техническая база в виде математического вуза или колледжа, то освоить технологии Frontend на базовом уровне — HTML, CSS, JavaScript, фреймворки — можно за 4-5 месяцев. И после этого уже искать первые заказы на фрилансе для создания портфолио. Однако это зависит от степени интенсивности обучения: если вы работаете и параллельно учите программирование, то времени может понадобиться больше. Без технической специальности за плечами при нагрузке 2-3 часа в день вы будете постигать азы около года.

Этапы изучения веб-разработки для новичка

Обучение можно условно поделить на три этапа:

  1. Начальный или пробный. В течение пары-тройки месяцев изучаете две-три актуальные технологии, которые легко освоить. Например, те же самые HTML, CSS, JS или один из языков Backend — Python/Ruby/PHP. В это время прислушивайтесь к тому, нравится ли вам программирование, как быстро вы получаете результат и усваиваете знания.
  2. Самостоятельный этап. Если предыдущий успешно пройден, можете вкладываться в самообразование по-крупному. Изучайте программирование более комплексно и интенсивно: оплатите курсы, чтобы прогресс шел быстрее, или найдите ментора, если учитесь самостоятельно, — кто-то должен вас направлять и объяснять ошибки.
  3. Стажировка в компании. Первые заказы на фрилансе или удаленная работа в качестве junior-специалиста.

На гребне технологической волны

Что же делать, чтобы стать настоящим профессионалом разработки? Всегда оставаться в русле технологического развития и поддерживать полученные знания в актуальном состоянии. Первые несколько лет для новичка — очень насыщенный период. В это время нужно впитать массу знаний, отработать множество навыков и освоить много новых инструментов, порой не самых интуитивно понятных.

Программирование — это интенсивно развивающаяся сфера, где изменения происходят очень быстро. При этом динамичность сильно зависит от того, где работает программист выбранного языка. Например, в том же JavaScript изменения происходят почти каждый день — настолько велико его сообщество и популярность.

Чтобы стать хорошим программистом, нужно действительно учиться всю жизнь. Выучить один-два языка в совершенстве можно, лишь постоянно практикуясь.

Преподаватель Skillbox Вадим Шандринов так ответил на вопрос о том, сколько потребуется времени для становления IT-специалиста:

Здравствуйте. Мне 20 лет. Я работаю торговым агентом. Недавно попробовал себя в программировании. Наткнулся на самоучитель по Java. Выполнил все задания, нагуглил ещё каких то курсов, даже какое то подобие игры написал. Вообщем я изучал это 1.5 недели в свободные от работы часы. Не знаю зачем, мне просто было интересно. Есть желание это развивать и время.

Вопросы такие:
Смогу ли я самостоятельно изучить программирование до такого уровня чтобы устроиться на работу?(книги, видео уроки, гугл)
Сколько времени это займет?
С чего лучше начать?
Обязательно ли идти в универ?
20 лет не поздно?

Читайте также:  Восстановить стертые файлы на андроид

Извините за глупые вопросы и спасибо за ответы.

  • Вопрос задан более трёх лет назад
  • 47775 просмотров

Самостоятельно можно.
Вы ещё не определились что вам ближе? Сайты, десктоп приложения, игры, мобильные приложения?
Если нет, то нужно начинать с самых основ – упор на алгоритмы и методологию.

Универ никогда лишним не будет, но можно и без него всё изучить.
Хотя бы посмотрите в сторону курсов по программированию.

20 ничуть не поздо.

Если английский не знаете – учить в обязательном порядке и очень интенсивно. Для программиста это очень важно.

Поставить реальную задачу перед собой и её решать, используя выбранный инструментарий.
Такой задачей ждя меня стало написание веб варианта домашней бухгалтерии на c# + asp.net mvc.
заодно разобрался и с субд, и с html и с jquery с twitter bootstrap.
Если пересчитать на фуллтайм, то получилось где-то 2-3 месяца, более менее войти в курс дела, я из 31 года около 16 админ без навыков программирования как таковых, только небольшие скрипты.

Ну а Вам надо понять, под что хотите писать, выбирать инструмент и вперед, покорять вершины

Универ, очень нужен, если хотите этим заниматься серьезно. Но с другой стороны 5 лет (или 4 года бакалавром), можно с успехом до 3-х сократить. Придется учить кучу хрени, типа метрологии, философии, истории и прочей хренотени, которая потом будет успешно забыта. Но с другой стороны, если сможете с преподами договориться, не тратя время на эту муть, то после 2-3 курса можно смело на работу идти на junior позицию.

Без универа будете говнокодером, знаю по примерам, даже если сходите на какие-нибудь курсы.

Смогу ли я самостоятельно изучить программирование до такого уровня чтобы устроиться на работу?(книги, видео уроки, гугл)
Да (Я сам такой же. Изучаю программирование уже года 2.5 (последний год конкретно, до этого так), но так и программировать качественно сам до сих пор не умею, т.е. именно писать свой source code, кот. был бы приемлем на профессиональном уровне, хотя и изучал и Swift, и Java, и даже C++, и Python. Копировать чужие программки и код – это не программирование, a обучение и дрочилка.
Сколько времени это займет?
В зависимости от сферы в какой хотите работать
(Для клЕпания сайтов – front end: недолго, для создания своих AI движков: очень долго)
Я лично, например, решил сконцентрироваться сейчас только на Python. По сути, если научиться капитально программировать (опять же, именно программировать(!), то после любой язык прогрраммирования (а для начальных прогеров синтакс) дается очень легко, т.к. понимаешь а) структурирование, б) архитектуру решения задач и в) собственно построение этого решения.
Я начинал с изучения со Swift’а для создания приложений на Iphone. С одной стороны рад, что начал с более сложного языка (а Swift – это intermediate язык по сложности), с другой нет, т.к. это было не программирование, а попытка копипастить откуда можно, чтобы что то работало, т.е. попытка сшить из носовых платков штаны, собственно, по сравнению с брюками нормальными от пиджака, также получались разноцветные шаровары, да еще и на соплях, да еще и если получались..
С чего лучше начать?
Начните с языка Python, самый легкий. Если есть английский:
1. "Learn to Program with Python" by Irv Kalb
2. www.udemy.com курсы Jose Podilla – рекомендую почти все
3. найдите сайт фоксфорд с лекциями по подготовке к ЕГЭ Тимофея Хирьянова, а потом для закрепления пройдите и все его курсы для 1 курса МФТИ (все есть на youtube)

Обязательно ли идти в универ?
Нет. По сути, если взяться конкретно за это (т.е. заниматься с 8 утра до 8 вечера, 6 дней в неделю, где то полгода-год), то можно закончить всю университетскую программу самому. Если еще есть хороший наставник, кот. подсказывает то за полгода точно можно даже хакером стать. Я все учил сам, что значительно и увеличило время изучения, так как иногда приходилось делать круги.
20 лет не поздно?
Да хоть в 60, если мозги работают. Самое главное желание.

PS От Себя.
По сути, программирование – это 3 этапа
а) структурирование, т.е. разбивка задачи на транзакции, для чего нужна логика, усидчивость и немного мозгов, т.е. само программирование здесь почти нулевое (больше нужно даже problem solving skills, но это уже отдельных навык, связанный с след. пунктом)
б) перевод затем всего этого структурирования в математический язык и алгоритмы,
т.е. знание алгоритмов, структур данных, паттернов итд итп всяких intermediate и advanced программных штук – что начинающий поймет после изучения базового синтаксиса, а также что не мало важно хороший уровень математики (матан, дискретка, линейная алгебра – 3 в особенности, ну и далее статистика, итд итп, т.е. по специализации)
c) и затем перевод это все в синтаксис, язык программирования, что со знанием базы уже становится очень просто

PPS проблема что пункт б) практически нигде не отмечают, особенно в курсах для начинающих, и в основном преподают тоже качественно учителя в ВУЗах, т.е. люди, кот. реально умеют программировать и писали, код, а не те, кто выучил синтаксис, а реальной практикой на профессиональном уровне никогда не занимались в своем большинстве

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *