Как стать разработчиком

Содержание

Что нужно знать и уметь на старте

Начинающий Java-разработчик может устроиться джуном или стажёром. Требования к кандидатам на эти позиции будут немного отличаться.

От стажёров ждут таких знаний:

  • Java-core. Знать базовые конструкции языка: функции, переменные, типы данных. Помнить основные классы стандартной библиотеки.
  • Базы данных. Знать, что это такое и как к ним обращаться.

А к джунам уже больше требований:

  • Java-core. Уверенно ориентироваться в конструкциях языка, знать стандартные библиотеки и понимать, для каких задач они нужны.
  • Фреймворки. Основной, который нужно освоить, — это Spring.
  • Git. Система контроля версий, которая помогает совместно работать с кодом. Джуну нужно уметь ориентироваться в ней и вести разработку вместе с другими коллегами.
  • Базы данных. Нужно уметь работать с базами данных: организовывать таблицы, писать более сложные запросы, чтобы получать и обновлять данные.

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

То, сколько придётся учиться, зависит от вашего прошлого опыта и знаний. Человек, который хотя бы немного знаком с разработкой, может изучить Java-core месяца за три. Если опыта нет, то на то, чтобы освоить базу, уйдёт около пяти месяцев. Изучение языка вместе со всеми инструментами займёт от 10 месяцев до года.

Поиск работы тоже может занять разное время. Однако сразу после изучения Java-core, если вам хватает задора и уверенности в себе, уже можно идти и пробовать искать работу стажёром. Возможно, новичок получит десяток отказов и два оффера с невысоким окладом, зато он получит и опыт собеседований, и больше информации о рынке. Это вариант для тех, кому очень хочется поскорее ворваться в профессию.

Получаем обратную связь

«Недостаточно просто решить задачу; нужно решить ее грамотно, качественно, чтобы разработка была стабильна, а код был читаемым», — отмечает Евгений Картавец. Получить обратную связь студенты могут как от лекторов, так и от личных наставников, которых некоторые школы закрепляют за учениками. Там, где личного наставника нет, обычно можно обратиться за помощью на форум, где общаются и ученики, и преподаватели.

Тем, кто учится самостоятельно, без посторонней помощи тоже не обойтись: «Надо найти человека, с которым можно консультироваться, — это может быть друг, знакомый, репетитор или преподаватель вуза», — советует Картавец. «Ищите наставника — это не обязательно должен быть учитель, им может стать просто сосед или коллега, который понимает в программировании и поможет вам разобрать примеры кода», — говорит Вадим Шандринов.

Должностные обязанности

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

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

  • разработка программ, необходимых для произведения разного рода вычислений (при этом применяются специализированные математические модели, а также алгоритмы решения научных, технических и производственных задач);
  • создание схем решения тех или иных задач;
  • перевод математических алгоритмов, необходимых для вычисления, на формализованный (так называемый компьютерный или машинный) язык;
  • ввод информации (при этом программист самостоятельно определяет ее объем);
  • контроль за операциями, которые производит компьютер;
  • контроль за формой и смысловым наполнением документов;
  • проверка результатов;
  • разработка макетов и схем ввода информации;
  • контроль за производимыми компьютером процессами (например, обработка, хранение и анализ информации);
  • осуществление камеральной проверки программ;
  • определение необходимых данных, которые помогут решить максимальное число задач с учетом большого количества условий;
  • отладка программ;
  • использование существующих программ и приложений;
  • работа над автоматизацией;
  • внедрение новых методов;
  • внедрение программ;
  • унификация и стандартизация различных процессов;
  • создание картотек типовых программ;
  • создание документов для машинной обработки и т. д.

Как стать программистом, с чего начать, основа обучения

Выбор направления разработки и языка программирования

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

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

Приводим актуальные направления, которые будут популярны как минимум десятилетие:

Получение образования: выбор школы и университета

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

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

Качественные курсы по разным направлениям предлагает учебный центр «Специалист.ru» при МГТУ им. Н. Баумана. Здесь можно изучить Kotlin, Golang, стать экспертом в разработке VR-AR, изучить геймдизайн, познакомиться с интернетом вещей.

Skillbox — один из лучших онлайн-университетов востребованных профессий. Направления — программирование, дизайн, маркетинг, управление. Компания предлагает обучение, а после помогает устроиться на работу программистом в одну из известных компаний: Альфа-Банк, Мегафон, Яндекс, Сбербанк, МТС и другие

С помощью Skillbox вы можете стать веб-дизайнером, интернет-маркетологом, графическим дизайнером, UX-дизайнером, Java-разработчиком, SEO-специалистом, руководителем digital-проектов.
Стоит обратить внимание и на веб-сайт Udemy.com, который предлагает самый большой выбор онлайн-курсов в мире. Введите в поисковую строку слово «программирование», и сервис сам предложит самые популярные поисковые запросы и востребованные направления обучения:

Развитие своих профессиональных навыков

  • «Чтобы оставаться на месте, надо бежать» — в современном мире эта фраза характеризует многие сферы деятельности и лучшим образом подходит для профессионального кредо программиста. Учиться и развиваться стоит не только для того, чтобы повысить свою привлекательность на рынке труда, но и чтобы банально не стать невостребованным.
  • Сколько времени нужно чтобы стать программистом? Вы должны были слышать о правиле 10 тысяч часов авторства Малкольма Гладуэлла, согласно которому для достижения уровня настоящего мастера (в нашем случае — чтобы войти в 1% лучших программистов) требуется потратить на изучение определенного навыка в общей сложности 10 тысяч часов. Это правило не работает в сфере IT. Намного меньше, в отдельных случаях меньше года, но если вы перестанете изучать новые технологии, через 5 лет ваши карьерные перспективы будут достаточно туманными. В сфере IT учиться придется всегда!
  • Участвуйте в сообществах, чатах, форумах, конференциях. Это бесплатно, познавательно и интересно. Крупными русскоязычными сообществами для программистов являются Habr.com, Киберфорум и другие. Если профессионально развиваетесь в определенной сфере, вам могут быть полезны тематические сообщества — такие как форум программистов Java, где можно попросить совета, помощи, найти друзей, работу Android разработчиком, работу программистом Java.
  • Читайте специализированную литературу. Казалось бы, книги — устаревший способ получения информации, но нет, принципы программирования неизменны уже много лет. Программисту любого уровня можно рекомендовать чтение литературы об архитектуре, организации кода, паттернам проектирования, ООП. Уже более 25 лет не может потерять популярности легендарное издание Gang of Four: Design Patterns.
  • Пишите код не только на заказ, но и для своих проектов. Они станут важным элементом вашего портфолио, так как свидетельствуют об инициативности. Американские работодатели очень лояльно относятся к соискателям, у которых есть тематический блог или YouTube-канал на английском языке о своих разработках.

Востребованность и зарплата

Разработчики, владеющие Java, востребованы уже сейчас. Специалистов, пишущих на этом языке код, не хватает, из-за чего работодатели готовы предложить им большую зарплату и лучшие условия. Число , связанных с Java, в Яндексе колеблется в районе одного миллиона в месяц. Вот еще несколько фактов, которые показывают востребованность профессии: 

  • Медианная зарплата по данным за 2020 год — 140 тыс. рублей («Хабр Карьера»).
  • Java-разработчики входят в топ самых востребованных IT-профессий на удаленке (CNews).
  • Работодатели в Москве готовы предложить программисту со знанием Java до 350 тыс. рублей в месяц (Superjob).
  • Работодатели в России ищут свыше 10 тысяч программистов с разным уровнем владения Java (hh.ru).
  • 59% опрошенных HR-менеджеров сталкиваются с нехваткой специалистов на Java (CodingGame:).

Курс

Java-разработчик

Освойте перспективную профессию с нуля за 14 месяцев.

  • неограниченный доступ к материалам курса;
  • вебинары, тренажеры, проекты для портфолио;
  • помощь в трудоустройстве.

Смотреть программу

На пути к профессии программиста

Стоит сразу оговориться, что путь этот очень разный для студентов и уже состоявшихся специалистов. И я бы хотел рассказать отдельно про каждый случай:

  • Если вы только заканчиваете школу, то очевидно, самым правильным было бы поступить на профильный факультет любого ВУЗа. Даже если ВУЗ не будет самым топовым учебным заведением страны, в течение учёбы вам так или иначе придётся изучить теорию и получить практику программирования, которой будет вполне достаточно (если действительно учиться), чтобы впоследствии пройти собеседование в IT компании и там набраться опыта. Уйма книг и онлайн курсов, доступных в интернете, позволят получить высокий уровень знаний в независимости от названия ВУЗа или красноты диплома.
  • Если вы уже студент непрофильного ВУЗа или факультета, то вам придётся свыкнуться с тем, что нужно будет «попотеть» вдвойне. Но стать сильным программистом всё также возможно, так как времени у вас достаточно.
  • В случае, если у вас за плечами несколько лет учёбы и работы не по профилю, студенческая жизнь позади, но вы всё же решились сменить профессию, то я не советую брать за основу путь студентов — ваш путь, совершенно иной, однако не менее перспективный.

Плюсы и минусы профессии

Плюсы

Минусы

  • Интересная работа.
  • Высокие зарплаты – до 300-350 тыс. рублей в месяц.
  • Востребованность. На момент подготовить статьи на HH.ru было около 800 открытых вакансий для Unity-разработчиков.
  • Возможность удаленной работы из дома.
  • Можно открыть собственную студию и зарабатывать больше денег.
  • Работодатели могут предоставлять различные бонусы, например, процент от прибыли, помимо зарплаты, топовые компьютеры, комфортабельные офисы и многое другое.
  • Новичкам сложнее найти работу, поскольку многим нужны люди с опытом. Однако с учетом дефицита кадров вначале можно устроиться в небольшую студию или стартап, а потом – в крупную компанию.
  • Требуется много знать и уметь, чтобы быть востребованным.
  • Необходимо учиться и осваивать новые технологии, т.к. мир ИТ быстро меняется.

Немного о языке Java

Java появился в 1995 году благодаря инженерам компании Sun Microsystems и, в частности, Джеймсу Гослингу. Инженеры разработали его как язык программирования для управления бытовой и домашней техникой.

Но в итоге язык оказался нужен всем — в основном его используют во frontend- и backend-разработке, создают на нем мобильные приложения для Android и игры.

Для чего нужен Java?

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

Согласно исследованию BMC Mainframe, все больше компаний используют Java для модернизации устаревшего ПО. Это также один из самых популярных языков для облачных сервисов и сетевого программного интерфейса. Java для серверной части использует Amazon. На нем написаны онлайн-кинотеатры Netflix и Okko, серверная часть «Госуслуг», Яндекс.Маркет и «КиноПоиск».

А еще на Java делают игры (недаром всем, кто рос в нулевые, известен логотип с чашкой кофе на заставке перед запуском 2D-бродилок и тетрисов). В 2009 году шведский программист Маркус Перссон написал на Java Minecraft. Еще один мегапопулярный проект на Java — Assassin’s Creed.

Java использует NASA — в Национальном космическом агентстве США создали проект WorldWind с открытым исходным кодом. С его помощью можно рассмотреть крупным планом любой участок Земли, задействуя при этом спутник Landsat и данные Радиолокационной топографической миссии шаттла (SRTM). Компании по всему миру используют WorldWind, чтобы отслеживать погодные условия, получать данные о движении транспорта и другую информацию.

WorldWind

Одна из причин популярности языка — кроссплатформенность: программы на Java одинаково хорошо работают на разных устройствах. Это выгодно для бизнеса: во-первых, стоимость разработки ниже; во-вторых, чем больше устройств, на которые можно установить ПО, тем больше его аудитория.

Чему вы обучитесь на наших Java курсах

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

Более подробную информацию можно получить на странице плана курса Java программирование.

Специалисты считают Java одним их дружественных, доступных для обучения языков программирования. Каждый урок курса включает в себя вопросы, тесты и домашние задания, что гарантирует 100% усвоение материалы. Пройдя тест, вы увидите, какие темы необходимо повторить и чему уделить больше внимания.

Пройденные видеоуроки по Java для начинающих станут первой ступенью для дальнейшего обучения программированию. Вы можете выбрать одно из следующих направлений для дальнейшего обучения: мобильные приложения на Android, корпоративные и клиентские приложения, автоматизация тестирования и тех.поддержка. Можете выбрать направление веб-разработки, начинающееся с небольших коммерческих проектов и заканчивающееся масштабными международными порталами и государственными ресурсами. Еще одна интересная сфера — разработка игр. Например, на языке Java написан Minecraft.

Узнайте больше о бизнес-стороне

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

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

«Поговорите со своими коллегами в бизнес-отделах и задайте жесткие деловые вопросы своим руководителям», — сказал Слоян.

«Например, если вы работаете на платформе онлайн-рекламы, основной технологией которой является персонализация рекламы, определение и внедрение инноваций в алгоритм релевантности рекламы сделает или сломает ваш бизнес».

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

А можно еще проще?

  • фронтенд — всё, что браузер выводит на экран: контент, дизайн элементов, набор цветов и анимаций, реакции на действия пользователя. Нередко это направление выбирают те, кому нравится дизайн;
  • бэкенд — всё, что работает на стороне сервера: функции сайта, обработка запросов пользователей и работа с базами данных. Направление, как правило, выбирают те, кому дизайн и графика не близки.

Другое явное преимущество веб-разработки — оно востребовано всегда. Скажем, захотел сайт-каталог расшириться и добавить онлайн-торговлю — вот и вакансия для бэкенд-разработчика на фриланс-бирже. Или надумала фирма обновить свой дизайн — начинаются поиски фронтенд-разработчика. Регулярно нужно делать и новые сайты, что будет по силам со знаниями фулстек-разработчика.

Кто-то может возразить, мол, веб-технологии динамично развиваются, ежегодно появляются «технологии завтрашнего дня», быстро замещающие актуальные. И не получится ли так, что учишься год-два, а когда выходишь на рынок, это направление устарело и надо учиться заново?

Преимущества и недостатки самостоятельного обучения (в домашних условиях)

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

Сегодня есть огромное количество информации в интернете, есть возможность использовать производительное оборудование для программирования, есть возможность практиковать свои навыки. Подробные инструкции в интернете позволяют вам начать путь к профессиональному программированию, специальные биржи даже предоставят вам работу за определенную плату.

Преимущества самостоятельного обучения:

1. Огромное количество практических знаний.

2. Возможность зарабатывать начинающим программированием.

3. Настрой на перспективу и более ответственное обучение.

4. Дешевый способ стать программистом.

Недостатки самостоятельной учебы:

1. Очень сложно стать профессионалом за короткое время.

2. Трудности в обучении, так как некому подсказать.

3. Большое количество времени уходит на поиск информации и ее анализ.

Программирование ближе к математике или к иностранному языку

С одной стороны, программирование у многих людей ассоциируется с математикой. Считается, что айтишник хорош в точных науках. С другой, мы же говорим язык программирования», а не система программирования», например. Значит это что-то похожее на изучение английского. Какой из двух тезисов ближе к правде?

Скорее второй, чем первый. У компьютерных языков тоже есть своя лексика и грамматика. Они более точные и логичные, чем любой человеческий язык. По сути мы можем сравнить изучение языка программирования с изучением английского, и это не будет прям грубым сравнением. Нужно выучить слова (функции), грамматику (логику и правила написания кода), устойчивые фразы (часто используемые фрагменты кода). Можно даже сказать, что русскоговорящему выучить Python или JavaScript, к примеру, проще, чем арабский или корейский язык. А может даже проще, чем любимый нами английский.

А что с математикой? Она тоже нужна. Условный математический склад ума значительно упростит вам работу с кодом. Умение мыслить категориями из технических наук пригодится не столько в изучении языка, сколько в его применении. Вам будет проще представить в голове, как реализовать задуманное.

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

А вот что касается английского, то он пригодится в любом случае. Код пишется на английском, комментарии к нему и техническое задание зачастую тоже. Без английского в IT вам будет намного сложнее, но об этом позже.

Можно ли стать айтишником с нуля

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

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

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

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

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

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

Если после окончания учебы и/или первой стажировки у вас все еще недостаточно навыков, чтобы получить работу джуниор-программиста, то пройдите еще одну стажировку.

Где искать стажировки: на тех же сайтах и площадках, на которых нужно искать работу.

Что нужно знать, чтобы устроиться на работу джуниор-программистом

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

Откройте HeadHunter и посмотрите 7-10 junior вакансий в вашем городе по своему направлению. Выпишите требования из каждой из них, удалите повторы. Бинго, перед вами усредненный лист требований к джуниор-программисту в вашем направлении.

Мы сделали срез по самым популярным направлениям в Москве:

  • Что нужно знать, чтобы стать frontend junior программистом: Опыт работы с VueJS, Vuex, HTML5, CSS3, взаимодействие с бэкендом по Rest-Api, базовые навыки работы с Git, понимание основных принципов HTTP/REST/JSON, опыт работы с React,js
  • Что нужно знать, чтобы стать backend junior программистом: JavaScript, понимание ООП, базовые знания JVM, опыт работы с Git, оптимизация и отладка запросов в MySQL, знание Node.js, опыт работы с облачными сервисами
  • Что нужно знать, чтобы стать junior iOS программистом: Swift, базовое понимание ООП, базовое понимание MVC, опыт разработки клиент-серверных приложений, знание Git, Знание HTTP/S, REST API, JSON
  • Что нужно знать, чтобы стать junior Android программистом: Java, Android, Kotlin, понимаешь особенности разработки клиент-серверных приложений, Базовые знания Git, Gradle/Maven; Базовые знания HTTP/S, REST API, XML, JSON; Базовые знания Google Play Services (GCM, GM, GA, FIREBASE)

Работа над второстепенным проектом

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

«Программирование того, чем вы увлечены, имеет решающее значение для развития, и, взяв на себя второстепенный проект без каких-либо ожиданий, кроме как получать удовольствие и учиться, вы будете удивлены тем, насколько вы можете расти», — сказала Алисса.

Попробуйте изучить новый язык программирования или создать приложение, чтобы отточить свои навыки и расширить свои возможности!

«GitHub также полон проектов, как больших, так и малых, которые приветствуют вклад в развитие сферы программирования», — сказал Синан де Леон, руководитель отдела разработки данных и аналитики Mint в Intuit.

«GitHub — это отличное место, чтобы увидеть, как кто-то уже начал воплощать вашу идею в реальность, и посмотреть, как ее можно улучшить», — сказал де Леон.

Вы также получаете выгоду от того, что другие люди смотрят на то, что вы внесли, продолжая этот цикл. Это может быть что-то маленькое, как решатель судоку, или что-то огромное, как проект верхнего уровня Apache. Это не имеет значения — если вы увлечены этим, идите на это!

Минусы и подводные камни

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

Сильная нагрузка на глаза

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

Сидячий образ жизни

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

Необходимость учиться всю жизнь

Само собой, это не минус, но это важная особенность, и необходимо это четко понимать. Если в какой-то профессии можно пройти месячное обучение и идти работать, раз в 3 года посещая курсы для галочки и сертификата, то тут вам нужно будет прорабатывать десятки книг, курсов, сертификаций, чтобы оставаться на плаву. При этом вы будете конкурировать с очень умными людьми, которые часто будут моложе вас лет на 10.

Необходимость тратить очень много свободного времени на обучение

Недавно на Хабре была статья про человека, который готовился к марафону Ironman. Так вот, его тренер в числе первых вопросов спросил, как к его решению относится семья. Думаю, и на IT-курсах у семейных людей должны спрашивать то же самое. Потому что в ближайшие год-два, при условии, что вы хотите расти как разработчик, вам нужно будет уделять обучению и работе очень много времени. И забирать это время будете у семьи. А про какие-то хобби и праздные тусовки вообще можете забыть. Если у вас прокачанные навыки тайм-менеджмента, будет проще. Если вы и сейчас как белка в колесе ничего не успеваете, будет очень сложно.

Скромная зарплата на первое время

Уже в нескольких статьях мы писали, что школы программирования осознанно создают миф об огромных зарплатах. Мелькают цифры 100, 120, 150 тысяч рублей. Так вот, на первых порах о таких зарплатах можете забыть, если, конечно, живете не где-нибудь в Калифорнии. В провинции, даже в городе-миллионнике, вам для начала будут платить 20-35 тысяч рублей. В Москве в районе 30 — 70 тысяч рублей.

Сами видите, что разговоры о мега-зарплатах программистов — это полная туфта. Эти цифры вполне сравнимы с любой другой профессией. Конечно, со временем ваша зарплата будет расти. Как и в любой другой профессии. Но если сейчас вы ценный специалист в области, не связанной с IT, и хотите бросить свою работу и стать программистом, хорошо подумайте. Возможно, к текущему уровню дохода вы можете вернуться лишь через пару лет. Быстрых успехов тут не будет, это не спринт, а очень долгий марафон.