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

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

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

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

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

Английский язык

Знание английского открывает огромные возможности:

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

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

Знание английского на уровне чтение технической документации для программистов - почти обязательное условие в каждом предложении о работе.

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

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

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

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

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

С английским возрастает в 10 и 100 раз объем информации, который ты можешь получить в современном мире. Блоги, форумы, научные публикации, книги, фильмы. Всего этого гораздо больше на английском, чем на русском.

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

Open Source

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

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

Взгляни сюда GitHub. Только на этом сайте можно найти более 40 миллионов программистов и более 100 миллионов программных проектов.

Нужно будет разобраться, как работать с git. Что это такое и как им овладеть, ты можешь узнать тут.

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

Огромные компании как Microsoft, Facebook, Google выкладывают на GitHub и не только свои проекты с открытым кодом, в которых ты можешь принять участие.

Представь себя на собеседовании, где ты говоришь: у меня нет предыдущего опыта работы, я только получил диплом, но я сделал 5 pull request-ов в React проект от Facebook-а и работаю над 6-ым. Меня как работодателя это бы очень впечатлило.

Twitter

Twitter - одна из социальных сетей, в которой ценится полезная информация. Наверное поэтому Twitter предпочитают многие программисты.

Взгляни на хэш тег #100daysOfCode. Ты можешь найти уйму единомышленников в Твиттере.

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

Если последовать совету прокачать навык английского, можно весело общаться с любым человеком в Твиттере. Спросить вопрос. Предложить идею. Некоторые получают предложения о работе в Твиттере.

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

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

Блог

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

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

Блог станет частью твоего резюме и портфолио.

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

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

Самое главное - отбросить мысль, что тебе нужно быть экспертом, чтобы писать свой блог. Тебе не нужно! Делись своим опытом, не претендуй на гениальность и получай удовольствие.

StackOverflow

Познакомься со stackoverflow.com. Создай там аккаунт. Задавай вопросы. Отвечай на вопросы. Находи ответы на каждодневные проблемы.

Большое количество хороших ответов на одну из тем на StackOverflow будет служить еще одним доказательством твоих знаний.

Предостережение. Не забывай понимать ответы, подход копировать-вставить-решить-проблему только вредит.

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

Резюмируя

Опыт работы может быть и не в компании. Часто гораздо веселее заниматься Open Source проектами, чем каждодневной работой, а количество и качество опыта может быть гораздо больше и глубже. Работая над существующими Open Source проектами, ты будешь читать код, написаный очень сильными программистами, замечать используемые приемы, техники. Ни в каждой компании будет такая возможность. Open Source - важный источник знаний. Чтобы научится сочинять хорошие песни, нужно научится играть хорошие песни других исполнителей. Точно так же с кодом.

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

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

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

Все вышесказанное может быть приумножено в полезности, если знать английский язык на уровне свободного письменного и устного общения. Учи английский через личное погружение, используй Twitter или коллег по Open Source проекту для живого общения. Пиши, читай, слушай, смотри информацию на английском. Самое лучше начало - это простые сериалы на английском с русскими субтитрами.


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

Присоединяйся к движению #TheBetterProgrammerMovement (общение и материалы на английском).