Как стать программистомМне часто в последнее время задают этот вопрос. Вот мой алгоритм:
1. Задай простой вопрос: "Зачем мне это?"Это основополагающий пункт. Приветствуются ответы вида "очень интересно", "хочу автоматизировать", "хочу написать игру", "хочу сделать сайт". Не советую тебе программировать, если ты подумал про деньги. В любом ремесле нужно искреннее желание, чтобы преодолеть первые несколько тысяч часов. Да и на работу будет труднее устроиться: джуну с горящими глазами я давал шанс, даже когда искал мидла, а пустобрёха-золотоискателя разворачивал даже если он отвечал на все вопросы.
2. Начинай кодитьПрямо после чтения этого поста. Абсолютно не важно, Windows у тебя или MacOS, два монитора или ни одного. Даже если ты читаешь этот пост в 3:07 с телефона, переходи на страницу курса
"Введение в программирование" и приступай. Тебе не потребуются ни деньги, ни редактор. Нужно просто нажать кнопку "Начать". Это не реклама, Хекслет — одна из немногих школ, где есть честные бесплатные курсы для начинающих, которые можно пройти прямо в браузере. Идеально для тебя.
3. Продолжай кодитьЕсли ты не закончил курс из второго пункта, значит, тебе это не надо. Не программировать нормально. Так же нормально, как не управлять самолётом или не играть на трамбоне. Я бы даже сказал, что не программировать нормальнее, чем программировать (спроси мою жену). Но если ты прошёл вводный курс на одном дыхании, можешь взять ещё один, ориентационный, например,
"Основы PHP", раз уж ты оказался на канале
Пых. Подчёркиваю — тебе для этого не надо бросать учёбу или работу. У тебя и так куча времени, чтобы кодить: проезд, перемены, обеды, вечера, ночи, выходные. И самое главное! Тебе не нужно тратить ни копейки до самого трудоустройства. Я твёрдо уверен, что лучший старт в программировании — самостоятельный.
4. Продолжай кодитьСкорее всего, к этому моменту ты уже придумаешь идею для пет-проекта. Если нет, попробуй автоматизировать любой бытовой процесс, заменив парой скриптов приложение на телефоне. Это может быть список дел, вишлист, учёт финансов, календарь дней рождения, личная страничка в интернете. На этом этапе необходимо взять любую задачу и начать её решать самому, чтобы встретить первые сложности. Все ответы ты найдёшь в интернете: гугли, смотри видео, спрашивай в профильных чатах для джунов и, самое главное, — бесконечно пробуй и переделывай, пока не получится. Делай перерывы — часто ответ приходит в туалете (я серьёзно) или на прогулке.
5. Продолжай кодитьВ течение месяца у тебя сформируется свой особенный мирок, в котором ты, к несчастью для близких, будешь пропадать всё чаще и чаще. В нём зародится желание написать тот самый идеальный код. Каждый день ты будешь постигать всё новые способы выразить намерение в программе и многократно переписывать одну и ту же функцию. Ты на верном пути: думай, гугли, рефактори, отлаживай, читай чужой код, проси обратную связь и так по кругу. Этот цикл со временем замедлится, но не прекратится никогда.
6. Не переставая кодить, выходи на рынок трудаЕсли ты учишься и необходимости в работе нет, лучше доучись или перейди на IT факультет. Я сам по образованию не программист, но рад, что не бросил универ — там меня научили думать. Если ты работаешь, не увольняйся, пока не возьмут, так как поиски могут занять месяцы. Не ври на собеседованиях: претендуй на джуна и реалистичную зарплату, но не соглашайся на что попало. Лучше выбрать проект по душе с достойной командой и низкой стартовой зарплатой, чем условную порностудию с высокомерными людьми и большим окладом. Неудачное собеседование — источник новых знаний, проработав задачи, иди на следующее.
7. Устроился — молодец, продолжай кодить!Потому что это только начало. Тебе предстоит снова всё переосмыслить, а ещё научиться командной работе: ревью, тесты, легаси, оценка сроков и ответственность. Первый год не бойся переработок и инициативы. Чем больше ты дашь команде, тем больше она вернёт тебе в ответ, не наоборот. Они в тебя поверили — докажи, что не зря.
Удачи! Но будет абсолютно нормально, если ты станешь кем-то ещё.