Начинаем карьеру программиста: Пишем код

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

Каждую неделю вижу на тостере очередной вопрос из серии: “Ребята, программить умею, вчера вот градусы в фаренгейты на C++ переводил! Как теперь работу найти?”. Самое печальное, что отвечают на эти вопросы, чаще всего, такие же новички, советуя всякую чушь, типа: “Иди для начала в opensource”, “Пойди на курсы «Супер-Стартап своими руками за 16 дней»”, “Устройся уборщицей, и дорасти до программиста”… На самом деле, начать карьеру программиста достаточно легко. Нет, конечно, если вчера ты узнал, что твой школьный товарищ Василий получает зарплату в три раза больше твоей за то, что программирует в каких-то интернетах, и тоже захотел программировать интернеты — мне тебя порадовать нечем. Я предполагаю, что читатель этих строк уже определился с будущей специализацией, прочел пару-тройку книжек и чувствует, что готов зарабатывать программированием на хлеб. Вот только не знает как.

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

Начинай уже!

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

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

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

Придумай себе проект.

Теперь ты готов начать свой первый в жизни проект в качестве программиста. За плечами у тебя несколько небольших консольных программок, а впереди тачки, яхты и личные самолеты. Засыпая, ты представляешь, как Паша Дуров просит тебя профинансировать его новую идею, а Марк Цукерберг зовет прочитать небольшую лекцию для топ-менеджеров Фэйсбука. Ты богат и популярен. Осталось придумать, что за приложение вознесло тебя на Олимп.

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

Оно не должно быть слишком сложным, не пытайся написать второй Photoshop или Вконтакт. Скорее всего, тебе быстро наскучит. Оно не обязательно должно быть оригинальным. Быть может, в твоей жизни есть приложение которым ты постоянно пользуешься, но считаешь его далеко не идеальным?

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

Просто пиши код.

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

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

Мой совет: не заморачивайся! Просто пиши код. Ты в принципе не способен сейчас сделать адекватный выбор в пользу той или иной технологии, ибо у тебя отсутствует опыт. Определи себе конкретное время, например 3 часа на то, чтобы решить какой фреймворк ты будешь использовать. Почитай статьи, StackOverflow, посмотри видео-уроки, и ровно через три часа сделай выбор. Помни, твоя главная цель не показать крутость своих знаний (ведь у тебя их практически нет), твоя главная цель — показать, что ты можешь работать, можешь учиться и можешь вырасти в сильного программиста.

Приготовься к тому, что будет возникать много проблем. Это действительно не прямая дорожка, ты будешь просто продираться сквозь непонятную череду всяких заморочек. Компилятор будет постоянно жаловаться и отказываться компилировать. Ты будешь рвать на себе волосы, и выкрикивать заклинания типа: “ДОЛЖНО ЖЕ РАБОТАТЬ!!!” или “ЧТО ТЕБЕ ЕЩЕ НУЖНО!!!”. Просто успокойся и попробуй отдохнуть. Если начинаешь нервничать — значит, ты устал. Попей чай, поспи, посмотри пару серий сериала и начинай с начала.

И последний совет. В процессе работы, на многие твои вопросы будут отвечать Гугл и StackOverflow. Ради Бога, не вздумай копипастить оттуда код. Во-первых, прежде чем применять решение со стековерфлоу, посмотри на дату. В программировании все очень быстро меняется, и возможно, тебе предлагают костыль, который сейчас уже не нужен. Во-вторых, убедись что ты понимаешь предложенное решение. Ничто не раздражает меня также сильно, как бездумное, глупое копирование кода, по принципу: “Заработает — оставлю”.

Вывод.

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

Не забудьте поделиться статьей с друзьями

Подписывайтесь на меня в соц. сетях

Комментарии (1)

  1. Дмитрий комментирует :

    29.09.2015

    Все верно сказано, лучшее обучение через практику самое эффективное.

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

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