На просторах интернета встречается множество вопросов типа: «Как стать программистом?» и «Кто бы из опытных программистов захотел стать моим наставником, а я уж потом, когда научусь, отработаю ?».
Ответов множество и все они правильные, только на практике срабатывают не всегда, не для всех и не совсем так, как хотелось бы. А какая-то доля, на первый взгляд, самых правильных ответов может даже навредить.
Вот и мой ответ такой же, поэтому материал статьи будет полезен только тем, кто действительно горит желанием стать программистом, но при этом находится вне системы, ну и, естественно, сам еще для себя не нашел ответ.
Тем, кто находится в системе (ученикам, студентам, «мажорам» или тем, кто уже работает в области IT) читать строго не рекомендуется.
Кто же находится вне системы и что ему делать?
Задача решается «методом исключения». Вне системы находится тот, кому не подходят популярные ответы на вопросы: «Как стать программистом?» и «Как найти наставника?».
Ответ первый: «Устройся на работу, а там доучат.»
Отличный ответ, если вы профильный выпускник или студент последних курсов с хорошими оценками и живете в большом городе типа Москвы или Киева. У работодателя просто нет выбора: из кого же тогда компания будет выращивать новых сотрудников? А вот если вы закончили не совсем профильный институт и не совсем недавно, да и живете неблизко, то как-то уже работодателю не выгодно из вас нового сотрудника выращивать.
Ответ второй: «Порешай задачки.»
Дельный совет, особенно для школьника 5 — 8 класса. Решаешь задачки, побеждаешь в олимпиадах, идешь в институт, опять побеждаешь в олимпиадах и лет через 8 — 10 можно отработать предыдущий сценарий, только с топовыми компаниями и большими стартовыми зарплатами.
Ответ третий: «Придумай себе проект.»
Особенно обнадеживает оговорка, которую иногда добавляют: " Ну, так как ты не профессионал, то тебе надо найти наставника, который будет тебе эти задачки давать и проверять". Вариант сработает хорошо, если вы уже эксперт, к примеру, в математике и слегка подучите C, чтобы реализовать алгоритм, аналогов которому в мире еще нет. Или можно отработать нижеследующий вариант.
Ответ четвертый: «Пойти на курсы или нанять репетитора.»
Гениально! Наверное, никто, из задающих этот вопрос, не догадался, что можно так сделать.
Еще ответ: «Никто не будет твоим наставником просто так» или «Чтобы стать программистом нужен суперталант»
На самом деле будет, по крайней мере, в ответах часто находятся желающие побыть удаленными наставниками и было бы просто замечательно послушать историю успеха такого сотрудничества.
Что-то рассказ начинается затягиваться, пора дать нормальный ответ.
Нормальный ответ:
- вначале выбрать язык программирования и технологии, учитывая:
- наличие хорошего выбора удаленной работы
- наличие большого открытого сообщества
- наличие объекта (к примеру, телефон с Android, если хотите научиться программировать под Андроид)
- перевести с английского и законспектировать последнюю версию базового справочника по языку разработки (Флэнаган для javascript), чтобы:
- подучить технический английский
- проработать основы языка переводя, конспектируя и проганяя примеры
- сделать что-то на языке разработки что-то полезное, причем:
- поделка должна быть реально полезна вам лично, выполнять какие-то простые, но ваши задачи и для вас
- делать вы должны ее так, как вам нравится, такой как вам нравится, таким способом, как вам хочется
- ни на кого не оглядываться, ни в коем случае не пытаться угадать, что хотел бы увидеть ваш возможный будущий работодатель — вы не экстрасенс
- быть устойчивыми к любым сомнениям в себе и негативным отзывам.
- найти эталонный исходник, который:
- сделан признанным мастером в области
- широкого назначения, широко охватывает возможности вашего языка программирования
- автор придерживается простого стиля программирования и хорошо поясняет свой код
- относительно маленький размер исходника ( до 3000 строк)
- должен быть достаточно популярным, чтобы было легко находить ответы на возникающие вопросы
- потом надо этот исходник хорошенько проработать всеми возможными способами, какие только в голову придут, потому что создание подобного кода — это как раз то, к чему вы должны стремиться.
- дальше возвращаемся к пункту 3, только на этот раз на полную катушку используем эталонный исходник (как библиотеку, как эталон стиля, как объект копипаста, как набор паттернов и т.д.)
А вот теперь ваших знаний достаточно, чтобы вернуться в систему и воспользоваться популярными ответами, типа: «Попробуй поработай во фрилансе.», «Поучаствуй в opensource проектах», «Устройся на работу, там повысишь свой уровень.» и так далее.
Автор: IDriuk