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

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

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

 

Как я стал программистом

С компьютером я впервые познакомился в 6 лет. В 13 лет у меня уже был свой персональный веб-сайт. В школе учился плохо, в универе тоже. На втором курсе мой друг нашёл работу Java-программистом и настоятельно рекомендовал мне сделать то же самое. Идея заинтриговала. Нужен был план.

Первый шаг — резюме

Первая и основная проблема, с которой сталкиваются новички, — резюме. Без адекватного, цепляющего резюме тебя не будут приглашать на собеседования. Но как быть тем, у кого совсем нет опыта работы? Для того чтобы «не с пустыми руками» идти к HR, мы с другом вписали мне в резюме целый год опыта работы над его проектом, над которым якобы вместе трудились.

 

Зарплатная политика

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

 

Позор и стыд

Первые собеседования были провальными. Надо мной буквально смеялись. На первом же техническом собеседовании, где мне дали пару задачек на бумаге, меня раскусили в два счёта. Кто-то даже по-отечески посоветовал книгу Thinking in Java.

 

Первая работа

В конце концов меня пригласили на собеседование в филиал одной датской компании, где я ответил на фундаментальные вопросы и приятно удивил всех своим английским. Меня взяли на должность Junior Java developer с одним условием — первые три месяца я буду проходить курс SCJP (Sun Certified Java Programmer), который восполнил бы мои пробелы и выковал бы из меня более подготовленного специалиста. Что может быть лучше, чем оплачиваемая стажировка без нужды работать (выдавать свою некомпетентность)? В этой компании я проработал полгода, чтобы через несколько месяцев пойти на повышение в компанию покрупнее.

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

 

Рекомендации для начинающих программистов

  1. Резюме. Оно должно быть правильно отформатированным и написанным исключительно на английском. Если не хватает опыта, то его можно (и нужно) придумать, но следует подготовиться отвечать за каждое написанное в резюме слово. Например, если у тебя там написано JMS (Java Message Service), то как минимум следует пройти хоть одну обучалку и поиграться с JMS, поделать какие-нибудь примеры, пускай это и будет банальное «Hello, world!». Теперь будет удобнее пускать пыль в глаза, вы ты и правда «работал с JMS».
  • Выучи азбуку программирования. Если ты ещё можешь позволить себе «плавать» на глубоких уровнях каких-нибудь комплексных технологий вроде Struts и Spring, то неправильные ответы на элементарные вопросы тебе никогда не простят. Если тебя ночью разбудить, то ты должен уметь рассказать про ООП, наследование, инкапсуляцию, полиморфизм и другие базовые концепции, а также суметь объяснить это всё на примерах.
  • Практика. Научиться программировать можно, только лишь программируя. Это больно и неприятно (если ты не программист), но другого пути нет. Единственный способ перестать бояться задачек на собеседованиях — порешать их дома самостоятельно.
  • Читай книги и проходи туториалы по Java только на английском Абсолютно все термины программирования проще понимать на языке оригинала, то есть на английском. Читать техническую литературу по Java на русском — себя не уважать. Почему? Потому что, чтобы понимать что-нибудь в духе «…модуль таблицы во многих смыслах представляет собой промежуточный вариант, компромиссный по отношению к сценарию транзакции и модели предметной области», нужно быть поистине гением, которым ты вряд ли являешься.
  • Выучи, наконец, английский! В первую очередь это касается разговорного английского. Сложно сосчитать то огромное количество толковых программистов, которых на моей памяти забраковали по одной единственной причине — неудовлетворительный уровень разговорного английского. Нет, если ты, конечно, собираешься работать программистом где-нибудь в отечественной компании, то твой уровень языка не будет играть важной роли. Но если ты хочешь попасть на работу в международную компанию, то сам бог велел выучить язык. Уровень твоего английского будет конвертироваться в дополнительные сотни долларов прибавки к зарплате.
  • Знай рынок. Походи по вакансиям, почитай требования, поспрашивай друзей-программистов, сколько они получают. Используй сервисы, которые позволят составить более полную картину о рынке IT. Ты был бы удивлён, узнав о том, насколько велико количество талантливых программистов, которые получают в два раза меньше, чем могли бы, только лишь по причине своей лени и нежелания держать нос по ветру.
  • Торгуйся. Нет ничего предосудительного в том, чтобы торговаться за зарплату. Твоим аргументом в споре может быть как хороший английский, так и предложение о работе в другой компании. Последний аргумент особенно хорошо работает: «Да, но мне в Luxoft предлагают на 300 долларов больше, почему я должен соглашаться на ваши условия? Может, мы могли бы найти компромиссный вариант?». В своё время мне пару раз удалось выторговать дополнительную сотню долларов к своей зарплате, и через год эта сотня долларов дала мне дополнительные 1 800 долларов дохода на ровном месте. Ты должен понимать, что даже для небольших зарубежных IT-компаний лишняя сотня баксов как капля в море.
  • Найди себе ментора. Хорошо, если у тебя будет более опытный товарищ, который сможет помочь советом и ответить даже на самые глупые вопросы. Благодаря его опыту и моральной поддержке ты будешь продвигаться в программировании быстрее, чем в одиночку. Если нет ментора, то неплохо сходить на какие-нибудь курсы по программированию, которые не только дадут более полную картинку того, чем занимается программист, но и позволят познакомиться с более опытными людьми. Кто знает, может быть, кто-нибудь из них захочет стать твоим ментором.
  • Начни свой проект. Даже если он будет образцом самых худших практик кодинга и ты его никогда не закончишь, по крайней мере, у тебя будет то дело, ради которого захочется разбираться в программировании и изучать новые технологии. Кроме того, у тебя появится дополнительная тема для задушевных бесед на собеседованиях.
  • Ищи работу летом. Во-первых, когда все в отпусках, в компаниях более остро ощущается нехватка кадров и повышается вероятность того, что тебя позовут на собеседование. Во-вторых, поскольку твои конкуренты-соискатели тоже на отдыхе, у тебя опять-таки повышаются шансы быть замеченным HR.
  • Никогда не сдавайся. Даже если кажется, что ты заваливаешь собеседование, важно проявить стойкость и продолжить попытки решить задачу, какой бы сложной она ни казалась. Кто знает, может быть, тебя именно в этот момент проверяют на усердие в работе!
  • Избегай заданий на компьютере. Нет способа быстрее раскусить непрофессионала, чем сразу же бросить его в пекло программирования. Твоя задача — постараться перевести все беседы на высокий уровень, где обсуждаются общие подходы и концепции, но никак не конкретная реализация в решении той или иной задачи. Если тебе дали бумагу и ручку и попросили записать решение, то попроси возможность нарисовать его схематически. Таким образом, удалившись от синтаксиса конкретного языка, ты не только убережёшь себя от каких-нибудь режущих глаз ошибок, но и покажешь, что способен мыслить абстрактно, не вдаваясь так уж сильно в детали.
  • Начинай говорить первым. Избегай ситуаций, когда в воздухе виснет пауза, во время которой в мозгу у интервьюера может созреть очередной коварный вопрос. Как только происходит какая-либо заминка, начинай рассказывать что-нибудь из того, что ты хорошо знаешь. Постарайся навязать интервьюеру свою игру.
  • Старайся говорить правду. Если ты никогда не писал PL/SQL процедуры, то лучше об этом сказать прямо. Возможно, в этом для тебя будет минус, однако ты убережёшь себя от нужды выкручиваться, отвечая на вопрос, в котором ничего не смыслишь. Опытный интервьюер за версту почувствует твои пробелы в знаниях.
  • Бойся маленьких компаний. В небольших компаниях, как правило, небольшие команды. Чем меньше в команде людей, тем быстрее тебя раскусят. Твоя цель — большая и неповоротливая корпорация, где ты сможешь выиграть для себя немного времени.
  • Соблюдай дресс-код. Если ты придёшь на собеседование на должность программиста в шикарном костюме, то это вызовет больше подозрения, чем если ты явишься в шортах или потёртом свитере. Не лишним будет также нацепить очки, мол, «эдакий я книжный червь».
  • Конечно, кто-то знающий может отметить, что приведённый выше рецепт — это скорее способ стать кодером, чем программистом, и он где-то будет прав. Однако дело всё в том, что вы никогда не найдёте вакансию с заголовком «Требуется плохой кодер». Всем нужны программисты. Желательно senior. У которых более пяти лет опыта работы на корпоративных проектах и которые одинаково хорошо владеют сразу несколькими языками программирования, при этом досконально разбираются в СУБД, умеют писать bash-скрипты, хранимые процедуры, знают в совершенстве Linux, TCP/IP, обладают лидерскими качествами, стрессоустойчивостью, коммуникабельностью и ещё массой навыков, «без которых никак».

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

31 комментарий

  1. 17.11.2014 at 13:40

  2. 17.11.2014 at 13:46

    Пособие «Как стать Hello World’щиком»

  3. 17.11.2014 at 13:53

    Про дресс-код бред. Со всем остальным согласен.
    В 4-ом совете очень понравился пример книгой по ЯП на русском 🙂

  4. 17.11.2014 at 13:59

    Как ни парадоксально, но лучше бы автор воровать учился — ЧЕСТНЕЕ!

  5. 17.11.2014 at 13:59

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

  6. 17.11.2014 at 14:01

    Статья о том, что все равно надо трудитьсяучиться))))

  7. 17.11.2014 at 14:01

    офисный планктон негодует))

  8. 17.11.2014 at 14:13

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

  9. 17.11.2014 at 15:51

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

  10. http://u65.info

    17.11.2014 at 16:54

    Благодаря этой статье, плохих программистов с большими зарплатами станет еще больше. Этот мир спасет только opensource

    • 18.11.2014 at 14:30

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

  11. 17.11.2014 at 17:06

    Быстрый способ стать аферистом))

    Не лучше ли честно все освоить прийти и всех поразить своим интелектом и навыками.

  12. 17.11.2014 at 19:22

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

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

    • 17.11.2014 at 22:12

      во во
      я по документации DrRacet без знания английского разбирался, просто смотрел на команды и что они выводят и базовые знания лиспа хорошо все переводили)

  13. 17.11.2014 at 21:48

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

    • 18.11.2014 at 14:31

      Развитие тоже бывает разным. Кто-то считает, что развитие — это изучать каждый месяц новый фреймворк. А для кого-то — это написание собственного фреймворка каждый месяц.

      • Григорий Кислин

        06.10.2017 at 11:38

        > А для кого-то — это написание собственного фреймворка каждый месяц
        свои велосипеды- отличный показатель непрофессионализма.

  14. 18.11.2014 at 01:10

    «В своё время мне пару раз удалось выторговать дополнительную сотню долларов к своей зарплате, и через год эта сотня долларов дала мне дополнительные 1 800 долларов дохода на ровном месте»
    высшая математика не иначе 🙂

  15. 18.11.2014 at 04:12

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

  16. 18.11.2014 at 14:28

    > ты не только убережёте себя

  17. 18.11.2014 at 15:52

    Единственный правильный совет — искать работу летом.

  18. 19.11.2014 at 12:07

    Статья о том, как повезло автору. Может мне написать статью, как я попал в США??? Блин, писать уже не о чем?!!

  19. 21.11.2014 at 12:36

    Не могу поверить, что эту статью я прочитал на xakep.ru, а не на lamer.ru

  20. 25.11.2014 at 14:19

    Чтобы пройти собеседование не умея программировать, научитесь программировать! Браво! Это гениальный лайфхак, автор!

  21. 28.11.2014 at 17:24

    Суть программирования — это когда в языке, на котором ты говоришь, оставить с 10 — 15 слов и попытаться разговаривать.

  22. http://dotblog.ru

    10.12.2014 at 13:41

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

  23. 23.05.2015 at 02:18

    Что значит «якобы».Сказали,написали,что работали вместе,значит ТАК И ЕСТЬ!!!Дебилизм словарный!!!

  24. http://kitwork.net

    18.06.2015 at 13:53

    Kit Work — это фриланс биржа, которая создалась с одной единственной целью: Предоставить максимально эффективный веб-инструмент, который позволит в короткие сроки найти или разместить необходимый проект. Мотивируясь этой целью, удалось разработать интернет-ресурс, который сможет удовлетворить потребности каждого, кто заинтересован в работе на удаленной основе. Проект Kit Work обладает полным набором стандартного функционала, который применяется при эксплуатации известных фриланс бирж. Кроме традиционного функционала, были реализованы элементы, которые значительно упрощают работу на сервисе и позволяют эффективней продвигать собственные услуги и интересы.
    http://kitwork.net

Оставить мнение

Check Also

Обвес macOS. Меняем скрытые настройки, ставим полезный софт и лезем под капот системы, перейдя на «мак»

Уверен, ты не раз слышал, что в Apple всё решают за пользователя и в macOS ничего нельзя т…