Карьера в IT. Как найти работу, прокачать навыки и стать крутым разработчиком

Текст
Читать фрагмент
Отметить прочитанной
Как читать книгу после покупки
Нет времени читать книгу?
Слушать фрагмент
Карьера в IT. Как найти работу, прокачать навыки и стать крутым разработчиком
Карьера в IT. Как найти работу, прокачать навыки и стать крутым разработчиком
− 20%
Купите электронную и аудиокнигу со скидкой 20%
Купить комплект за 1378  1102 
Карьера в IT. Как найти работу, прокачать навыки и стать крутым разработчиком
Карьера в IT. Как найти работу, прокачать навыки и стать крутым разработчиком
Аудиокнига
Читает Искусственный интеллект Ivan
689 
Синхронизировано с текстом
Подробнее
Шрифт:Меньше АаБольше Аа

Глава 11. Как найти работу, не имея опыта

Когда у вас нет опыта, найти работу может быть очень сложно.

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

Главное – не терять надежду. Пусть вас не взяли на стажировку и у вас нет опыта, получить работу все равно возможно, и я покажу вам, как это сделать.

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

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

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

Чем больше всего рискует компания, когда нанимает программиста

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

Знаете, в чем он состоит?

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

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

Такого человека лучше не нанимать вообще.

Когда я работал в Hewlett Packard, в мои обязанности входило проведение собеседований с «высококлассными» программистами на C++, желающими пополнить ряды нашей команды. Эти программисты становились частью команды проверенных первоклассных разработчиков на C++, чья работа заключалась в решении самых трудных задач и их сортировке по степени сложности для дальнейшей передачи команде разработчиков продукта.

Зачастую все выглядело так: мы сидели с собеседуемым за столом, я листал его резюме, в котором он представлял себя как «профессионального программиста на C++» с более чем 15-летним опытом, а затем я задавал претенденту один простой вопрос о C++, но ответа на него я не получал.

Один простой вопрос.

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

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

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

Зачем я об этом рассказываю?

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

Вопрос Джону!

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

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

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

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

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

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

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

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

То же самое можно сказать и о собеседованиях.

Хороший интервьюер очень, очень хочет, чтобы вы прошли.

Они правда хотят, чтобы вы оказались «тем самым парнем» или «той самой девушкой».

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

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

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

Будьте готовы к этому, не позволяйте им вывести вас из себя.

Сохраняйте самообладание, будьте хладнокровны… в общем, попытайтесь «угостить ее напитком».

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

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

Как уменьшить риск отказа

К чему я все это сказал?

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

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

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

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

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

Сделав это, вы наверняка получите работу.

Онлайн-доказательства вашей компетентности

У вас обязательно должно быть хоть какое-то присутствие в Интернете.

Первое, что сделает потенциальный интервьюер, рассматривая вашу кандидатуру, – поищет вас в Google.

И сделает он это еще до того, как зайдет речь о собеседовании.

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

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

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

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

Если у вас еще нет блога, подпишитесь на мой бесплатный курс о том, как создать собственный профессиональный сетевой дневник.

Не буду вдаваться в подробности этого процесса, лишь замечу, что я слышал массу отговорок на тему «почему у меня нет профессионального блога». Скажу только вот что: независимо от того, насколько вы опытны в программировании, независимо от того, считаете ли вы, что вам нечего сказать, просто создайте свой блог.

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

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

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

Я настоятельно рекомендую вам ввести свое имя в Google и посмотреть, что скажет на него поисковик.

В современном мире это и есть ваше настоящее резюме, независимо от того, как выглядит официальное, которые вы прислали в заявке на вакансию.

Сделайте портфолио

Присутствие в Сети – это здорово, но если опыта у вас и вправду маловато, вам, вероятно, понадобится презентовать себя еще каким-то способом.

 

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

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

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

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

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

Обязательно размещайте в Интернете созданные вами проекты, например с помощью такого сервиса, как GitHub.

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

GitHub – это открытое онлайн-хранилище программного кода, в особенности проектов с открытым исходным кодом, разработанных с помощью системы управления версиями Git.

Однако сегодня эта платформа представляет собой нечто большее.

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

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

Будь я сейчас начинающим разработчиком, я бы создал на GitHub профиль и постарался сделать его максимально впечатляющим.

Ваш профиль на GitHub это фактически ваше онлайн-портфолио.

Но если по каким-то причинам вы не можете воспользоваться этим сервисом, вы все равно должны иметь портфолио с работами.

Другой отличный способ составить портфолио – создание реальных мобильных приложений и размещение их в каком-либо магазине мобильных приложений.

В настоящее время эта возможность доступна всем, кроме того, у этого способа есть множество преимуществ, помимо простого создания портфолио.

Например, вы можете подзаработать немного денег и, возможно, даже создать собственный сторонний бизнес (далее эта тема будет раскрыта более подробно).

На вашем месте я бы задался целью создать портфолио минимум из 3–4 собственных приложений или проектов.

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

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

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

Ваше портфолио должно содержать лучшие образцы написанного вами кода.

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

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

Создайте собственную компанию

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

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

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

Вы можете делать это одновременно с созданием своего портфолио и обучением программированию.

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

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

Хочу подчеркнуть, что это ни в коем случае не обман и здесь не нарушается никакой закон. Большинство людей думают слишком узко и не осознают, что это очень неплохой и эффективный вариант решения проблемы.

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

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

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

Но если вас об этом не спросят, не спешите проявлять инициативу.

Также я не считаю, что быть единственным программистом в собственной компании-разработчике программного обеспечения – это что-то ущербное.

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

Конечно, не все работодатели согласны с этой логикой, но многие думают именно так. Вы наверняка удивитесь, узнав, насколько их много.

Фактически Simple Programmer начинался именно так.

Подготовьтесь к интервью

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

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

Запишите на камеру, как вы проходите собеседование.

Посмотрите это видео и оцените, как вы смотритесь и звучите.

Возьмите книгу вроде «Карьеры программиста» и сделайте так, чтобы вы могли пройти любое собеседование с написанием кода, на которое вас пригласят.

Вам нужно по-настоящему проявить себя, а это невозможно без хорошей подготовки.

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

Заводите связи

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

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

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

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

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

Поработайте бесплатно

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

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

Я понимаю, что мои слова звучат безумно – и признаю, что осуществить эту идею не так-то просто.

Вам не потребуется прибегать к этому способу, если вы проходите через обычную процедуру «резюме – собеседование», однако если вы ищете работу через знакомства или обращаетесь напрямую, для прохождения неформального собеседования, вам стоит присмотреться к этой тактике.

Но чтобы это осуществить, вы должны быть очень уверены в себе.

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

Вы должны быть достаточно настойчивыми и мыслить нестандартно – как я уже сказал, это вряд ли актуально для привычной процедуры «резюме / собеседование». Но если вы мыслите нестандартно и обладаете способностями к продажам или огромной харизмой, это может сработать.

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

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

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

Участие в небольшом проекте

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

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

Повторюсь: это немного нестандартный подход, но если вы сумеете подать его правильно – особенно компании, которая «не нанимает на данный момент», – есть шанс добиться успеха.

На самом деле это довольно распространенная практика, когда компании нанимают сотрудников в качестве временных работников, чтобы их сначала «протестировать».

Другим вариантом той же самой тактики является получение некоторого опыта путем выполнения малооплачиваемой работы на фрилансе.

Зарегистрируйтесь, например, на таком сайте, как Upwork.com, чтобы побыть в роли фрилансера и поучаствовать в конкурсах на получение заказов.

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

Пусть вы хотите зарабатывать программированием 25 долларов в час. Тогда для начала предложите свои услуги по ставке 5 долларов в час, чтобы набраться опыта.

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

Я сам нанимал на Upwork фрилансеров с явной нехваткой опыта, однако их услуги стоили настолько мало и они так стремились получить опыт, что я решил дать им шанс.

 

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

Вы не обязаны искать опыт исключительно на Upwork. Я провел интервью с Маркусом Бланкеншипом, и он рассказал мне, как на старте своей карьеры, занимаясь веб-разработкой на фрилансе, выполнял заказы по смехотворно низкой ставке, просто чтобы набраться опыта.

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

Купите 3 книги одновременно и выберите четвёртую в подарок!

Чтобы воспользоваться акцией, добавьте нужные книги в корзину. Сделать это можно на странице каждой книги, либо в общем списке:

  1. Нажмите на многоточие
    рядом с книгой
  2. Выберите пункт
    «Добавить в корзину»