Работа программистом без опыта работы: %d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%81%d1%82/%d0%b1%d0%b5%d0%b7%20%d0%be%d0%bf%d1%8b%d1%82%d0%b0 в Москве — свежие вакансии %d0%bf%d1%80%d0%be%d0%b3%d1%80%d0%b0%d0%bc%d0%bc%d0%b8%d1%81%d1%82/%d0%b1%d0%b5%d0%b7%20%d0%be%d0%bf%d1%8b%d1%82%d0%b0 на Rabota.ru

Содержание

Как найти первую работу программистом без опыта

Покажите мне деньги!

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

Расскажите о личных проектах. Неважно, маленькие они или большие – для работодателей главное увидеть, что вы можете делать то, о чем говорите. Покажите свой github, веб-сайт и так далее.

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

Отношение – это все

Да. Вы самоучка. Это значит, что в ваших знаниях есть множество пробелов – но это нормально.

Каждый разработчик по сути самоучка.

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

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

Как показать это? Проще всего – принимать участие в обсуждениях. Reddit, форумы, группы в Facebook, Stack Overflow, Medium, Quora, ваш блог – задавайте вопросы, отвечайте на вопросы, проявляйте активность, оставляйте за собой цифровой след. Помогайте другим, даже если вам кажется, что у вас недостаточно для этого знаний. Просите о помощи, даже если вам некомфортно.

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

Фото: Unsplash

Ознакомьтесь с основами

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

Научитесь пользоваться git и базами данных. Программирование – это не только HTML, CSS и JavaScript. Если вам нужны наставления, вот подробное руководство по основным концепциям разработки.

Вам нужно писать код

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

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

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

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

Финальные слова

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

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

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

Источник.


Материалы по теме:

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

Как я в 16 лет сам научился программировать и поехал в американский офис Microsoft

Роль женщин в программировании – от появления компьютеров до сегодняшнего дня

Драконы, обезьянки и башни: 14 приложений, которые легко научат программировать

Как программисту уехать в США и найти высокооплачиваемую работу в Калифорнии

Герой этой статьи переехал из России в США и нашел работу в крупной компании за 10 тысяч долларов в месяц.

Екатерина Мазунина

поговорила с Андреем

Андрей

переехал в США и сменил профессию

В Москве Андрей работал бизнес-аналитиком, а в Калифорнии оказалось, что это никому не нужно. Тогда он освоил профессию программиста и устроился в крупную ИТ-компанию.

На это у него ушел год. Недавно я была у него в гостях и попросила поделиться своим опытом.

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

Слово Андрею.

Как я переехал в США

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

В 2016 году мы с женой выиграли в лотерею грин-карту и переехали в США. Осели в городе Уолнат-Крик в 40 км от Сан-Франциско: там теплый климат, а в Кремниевой долине много крупных компаний с хорошими вакансиями. Кроме того, у жены в соседнем городе родственники — первое время они нам помогали.

Грин-карты разыгрывают каждый год в определенное время

Жилье в Уолнат-Крике дорогое. Комнаты стоят 800⁠—⁠1200 $⁣ (52 000⁠—⁠78 000 Р) в месяц, квартиры с одной спальней — около 2000 $⁣ (130 000 Р). Сначала мы потянули только комнату за 900 $⁣ (58 500 Р) в месяц.

По совету местных жилье искали на сайтах «Крейгслист» и «Зиллоу»

Когда мы устроились, я начал искать работу в Сан-Франциско. Добираться до него удобнее всего на поезде: одна поездка до центра занимает 40 минут и стоит всего 6 $⁣ (390 Р). На машине почти столько придется заплатить за проезд по мосту — а еще бензин, обслуживание, пробки. Парковку тоже найти сложно, а стоить она может до 40 $⁣ (2600 Р) в день.

Поиск работы занял год, а попутно пришлось еще и сменить профессию. Зато в итоге доход нашей семьи вырос в четыре раза: с 2500 $⁣ (162 500 Р) до 10 000 $⁣ (650 000 Р) в месяц. Комнату мы сменили на хорошую квартиру в том же Уолнат-Крике — с гостиной и двумя спальнями.

Но обо всем по порядку.

Уолнат-Крик окружен холмами, поэтому здесь теплее, чем в Сан-Франциско. В апреле он уже выглядит совсем по-летнему

Как я искал работу по старой специальности

Поиск работы в США состоит из четырех основных этапов:

  1. Составление резюме. Его размещают на тематических сайтах или рассылают работодателям напрямую.
  2. Телефонное интервью. Соискателя просят рассказать о себе и о том, что он знает о компании, в которую устраивается.
  3. Техническое интервью. Задают вопросы по теории и предлагают решить задачи по специальности.
  4. Собеседование в офисе. На него приглашают, если пройти первые три этапа. До этого этапа доходят немногие.

Сначала я попытался устроиться по старой специальности — бизнес-аналитиком. Я взял старое резюме и адаптировал его под американские реалии: убрал фотографию, дату рождения и семейное положение. В США работодателю запрещено использовать такие данные: это незаконно и считается дискриминацией. На работе только работа, частная жизнь никого не касается.

Я перевел резюме на английский, а друзья-американцы исправили неестественные фразы. Это можно также попросить сделать переводчика, например на фриланс-бирже «Файверр» исполнители вызываются поправить резюме за 10 $⁣ (650 Р).

Резюме я разместил на сайте «Дайс-ком» — это что-то вроде российского «Хедхантера» для технологических компаний. Попутно я отслеживал вакансии крупных компаний и на некоторые откликался сам. Но за неделю мне никто не перезвонил, и тогда я решил подойти к делу иначе.

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

Как меньше тратить и больше зарабатывать

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

Как я учился программировать

Программировать я учился на языке Java — с помощью друга-разработчика, учебников и обучающих видео. Друг давал задания, а потом мы вместе разбирали ошибки. Учеба заняла два месяца. По моему опыту и опыту знакомых, в большинстве компаний у разработчиков не спрашивают диплом или сертификат. Обмана не боятся: все равно навыки проверяют на собеседованиях.

Каждый день я решал очень много задач. Одно из первых собеседований в любую компанию — техническое, когда рекрутер спрашивает теорию и предлагает решить тестовые задания. Поэтому навык решения задач — основной. Готовиться можно с помощью сайтов, на которых выкладывают такие задачи, например «Литкод-ком». Моей настольной книгой стала Cracking the Coding Interview: 189 Programming Questions and Solutions, где собраны вопросы из реальных интервью.

Книга Cracking the Coding Interview: 189 Programming Questions and Solutions на «Амазоне» стоит 32 $

Если нет друга-программиста или такой способ не нравится, можно пойти на курсы обучения разработке — в США их называют буткемпами. Курсы бывают очные и дистанционные, а обучение длится от 3 до 9 месяцев. Стоят они дорого — скажем, трехмесячный очный курс обойдется примерно в 18 000 $⁣ (1 170 000 Р). Но, по отзывам, это очень эффективно.

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

Учиться приходится много. Например, первые пять недель студенты интенсивных курсов «Хакреактор-ком» занимаются по 11 часов в день

Подработка

Чтобы платить за жизнь во время учебы, можно найти подработку. Главное условие — нужно разрешение на работу в США. Возможностей достаточно: официант, строитель, сборщик мебели. Платят 12⁠—⁠14 $⁣ (785⁠—⁠915,8333 Р) в час или как договоритесь. Временные вакансии обычно публикуют на местных сайтах — вот сайт для подработки в Сан-Франциско.

14 $

в час мне платили на стройке в Сан-Франциско

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

Подработкой я занялся потом, когда доучился и начал искать работу. Я устроился на стройку за 14 $⁣ (916 Р) в час. Все было строго: выдавали спецодежду, следили за безопасностью. Работа была несложная, но пыльная: мы подготавливали помещения к ремонту и ломали стены из гипсокартона.

Поиск работы разработчиком. Первый подход

После учебы я обновил резюме и начал искать работу как разработчик программного обеспечения — software developer. Я выложил резюме на сайты и сам откликался на интересные вакансии.

Еще я обновил свой профиль в «Линкед-ине», но работу через него не искал. Там мне однажды написала рекрутер из Фейсбука и предложила созвониться. Я согласился, но не подготовился к разговору. Когда рекрутер спросила о моих последних проектах, мне не пришло в голову ничего связного, я начал мямлить и понял, что рискую провалить первое собеседование для крутой компании. В итоге я не придумал ничего лучше, чем сбросить звонок раз пять подряд, сослаться на плохую связь и попросить перенести собеседование. Оно так и не состоялось.

Сайты вакансий:
«Дайс-ком»,
«Монстер-ком»,
«Индид-ком»

Вакансии программистов в известных компаниях:
«Амазон»,
«Убер»,
«Эйр-би-эн-би»

Попутно я попробовал откликаться на вакансии с сайтов компаний. Так я вышел на «Амазон»: заполнил форму для соискателей — и мне ответили.

Чтобы откликнуться на вакансию «Амазона», нужно заполнить форму в несколько страниц. В основном спрашивают про технические навыки и опыт работы. Из России форма не работает — откликнуться на вакансию можно только по обычной почте

Первое собеседование в «Амазоне» я прошел, вторым было техническое собеседование. Мне дали ссылку на общий экран вроде «Гугл-документов» и предложили в реальном времени решить три задачи. Решать их надо было по очереди, но на любом языке программирования. Я справился с первой задачей, а на второй понял, что не тяну, — и это при том, что учился на подобных задачах, а за пять дней до интервью прорешал еще 30 штук на «Литкоде». На следующий день мне перезвонили и отказали.

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

  1. Исправить резюме.
  2. Подготовить рассказ о себе и о компании.
  3. Активнее писать компаниям напрямую.
  4. Практиковаться — решать очень много задач.

Работа над ошибками в резюме

При работе над резюме я в основном ориентировался на советы из русскоязычной группы Фейсбука по поиску работы в Сан-Франциско. Лучше всего мне запомнился комментарий одного рекрутера: «Представьте, что вам нужно покрасить забор зубной щеткой. Вы ищете человека, который может это сделать. К вам приходят сотни обращений. Кто-то красил потолки валиком или машины из пульверизатора. Кто-то красил кисточкой заборы или зубной щеткой обувь. Только один человек написал, что красил заборы зубной щеткой пять лет. Кого выберут?»

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

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

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

Отсутствие подробностей. В моем резюме опыт разработки был слишком общим. Например, я написал, что участвовал в волонтерском проекте: это мы делали сайт для благотворительной организации. В Америке же важны числа: сколько сайтов и для каких компаний. В резюме здесь лучше писать не «продавала холодильники», а «продала 100 холодильников». Доказательства числам в резюме не нужны, но если они будут сильно завышены, это поймут, когда будут проверять навыки на техническом интервью.

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

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

В России резюме любят оформлять таблицами. Я всегда считал, что так нагляднее. В США я не встречал таблиц: резюме пишут простым текстом с отступами и маркерами. Так делают еще и потому, что резюме часто обрабатывает программа, которая плохо работает с таблицами. До рекрутера оно может вообще не дойти.

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

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

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

Новое резюме уместилось в страницу, и в нем не было ничего лишнего

Поиск работы разработчиком. Подход второй

После обновления резюме я стал активнее искать работу. Я решил действовать по всем фронтам: размещал резюме на сайтах, писал в компании напрямую, использовал «Линкед-ин», общался с кадровыми агентствами.

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

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

«Линкед-ин». В России ресурс заблокирован, а в Америке очень популярен. Здесь заводят полезные контакты, общаются в группах по деловым интересам, делятся знаниями. Но в первую очередь — ищут работу. Рекрутеры размещают здесь вакансии и охотятся за профессионалами.

В интернете много статей о поиске работы через «Линкед-ин». Я использовал ресурс по-своему: искал компании, о которых что-то слышал, затем смотрел их вакансии, шел на сайт и откликался напрямую. Примерно в половине случаев я получал обратный звонок.

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

Диалог строится примерно так. Рекрутер звонит и говорит: «Мы нашли ваше резюме, оно классное. У нас есть для вас очень хорошее предложение. Мы можем устроить вас в отличную компанию». Дальше он задает вопросы из подготовленного списка. По моему ощущению, рекрутеры не особенно вникают в ответы кандидатов, скорее просто сверяют их со списком готовых ответов. Если ответы с ними примерно совпадают — проходите на следующий этап. Я два раза дошел до технических интервью, но пройти дальше не получилось.

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

Телефонное интервью

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

Рассказ о себе. Обычно разговор начинают так: «Tell me about yourself», «Tell me your story», «Walk me through your resume». О себе — это не какой вы хороший и чем увлекаетесь. Рекрутер хочет услышать, чего вы достигли в работе и чем будете полезны компании. Хороший рассказ о себе помогает произвести благоприятное первое впечатление и продолжить беседу. На ответ дают полторы-две минуты. Сначала я репетировал свой рассказ перед зеркалом, со временем выучил наизусть и отполировал.

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

Можно рассказывать и о том, как вы наращивали навыки на одной позиции. Это был как раз мой вариант. Я использовал резюме как план и рассказывал о разных проектах и о том, чему там научился. Хорошая идея — завести рекрутера в знакомые воды. Например, если вы много работали с базами данных, стоит несколько раз это упомянуть: «Я много работал с такими-то базами данных, это дало такой-то результат». Если рекрутеру интересны ваши базы данных, разговор пойдет на хорошо знакомую тему.

Рассказ о компании. Не менее важны вопросы о компании: «What do you know about us? Why do you want to work in our company?» Компании трепетно относятся к тому, чтобы сотрудник разделял их миссию, а не просто шел за зарплатой. Поэтому надо показать, что вы заинтересованы в работе именно у них: знаете, чем живет компания, любите их продукт и хотите менять мир к лучшему.

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

Техническое интервью

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

Техническое интервью. Я уже рассказывал, как проходило техническое интервью у «Амазона». У других компаний это выглядело примерно так же: мы созванивались с сотрудником компании и решали задачи в какой-то среде с общим доступом. Задач было три или больше, самих интервью тоже бывало несколько. Иногда интервью даже проводили сотрудники из разных стран, незнакомые друг с другом.

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

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

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

Когда рекрутер назначает встречи в офисе, он заранее сообщает, сколько встреч ожидается, сколько времени они займут и о чем пойдет речь. Рекрутер может также рассказать, чему стоит уделить особое внимание. Это выглядит примерно так: «В нашей компании передача знаний — важнейший навык для кандидата. Вам нужно будет показать, как вы выступаете в роли наставника и объясняете новому сотруднику конкретную тему».

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

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

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

Единственный вопрос про личные качества звучал так: «Кем вы видите себя через пять лет?» Действительно, американцев совершенно не волнует, кто вы такой, — только чем можете помочь их компании.

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

Результаты

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

До этого я нигде не говорил о желаемой зарплате, но на всякий случай все равно посмотрел среднюю по рынку сумму. В Сан-Франциско для младшего разработчика — junior software developer — с опытом работы до года это 72 000 $ в год, или 6000 $ в месяц, на полный рабочий день. Мне предложили 10 000 $⁣ (650 000 Р) в месяц, и я не торговался.

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

Подробности про налоги в США в нашей статье про жизнь в Нью-Йорке

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

Финансовые бонусы состоят из годового бонуса и акций. Годовой бонус — это фиксированный в договоре процент от зарплаты, больше него не заплатят. Акции мотивируют сотрудника работать лучше: если дела у компании идут хорошо, он богатеет. Когда Фейсбук вышел на IPO, мои знакомые так разом стали миллионерами.

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

Еще существует единовременный бонус «за согласие присоединиться к компании» — его выплачивают в первый день выхода на работу. Размер этого бонуса зависит только от навыков переговорщика во время последнего собеседования.

Социальные бонусы у меня стандартные, ими в ИТ уже никого не удивить. В офисе массажный кабинет, спортзал и комната отдыха с видеоиграми. Если пойду в другой спортзал, фитнес-карту компания тоже оплатит. Медстраховка у меня полная, а жене по ней дают скидку. На кухне — разнообразные сладости к чаю.

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

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

О быте — кратко. Доход нашей семьи вырос в четыре раза. Комнату мы сменили на хорошую квартиру в том же Уолнат-Крике — с гостиной и двумя спальнями. Ходим на концерты и путешествуем. Недавно я занялся инвестициями.

Уолнат-Крик окружен холмами, поэтому здесь теплее, чем в Сан-Франциско. В мае у нас может быть 30 градусов тепла, а в Сан-Франциско из-за ветра с залива не больше 20. Десять минут на машине — и можно гулять по холмам и валяться в траве Морские котики отдыхают на набережной в Сан-Франциско, а еще громко кричат и плохо пахнут Фото нашей гостиной

Наш семейный бюджет в месяц

До работы в ИТ После устройства
Доход 2500 $⁣ (162 500 Р) 10 000 $⁣ (650 000 Р)
Жилье 900 $⁣ (58 500 Р) 2500 $⁣ (162 500 Р)
Еда 1000 $⁣ (65 000 Р) 1500 $⁣ (97 500 Р)
Транспорт и связь 350 $⁣ (22 750 Р) 500 $⁣ (32 500 Р)
Развлечения и прочее 250 $⁣ (16 250 Р) 2000 $⁣ (130 000 Р)
Сбережения, инвестиции 0 $ 3500 $⁣ (227 500 Р)

До работы в ИТ

2500 $⁣ (162 500 Р)

После устройства

10 000 $⁣ (650 000 Р)

До работы в ИТ

900 $⁣ (58 500 Р)

После устройства

2500 $⁣ (162 500 Р)

До работы в ИТ

1000 $⁣ (65 000 Р)

После устройства

1500 $⁣ (97 500 Р)

Транспорт и связь

До работы в ИТ

350 $⁣ (22 750 Р)

После устройства

500 $⁣ (32 500 Р)

Развлечения и прочее

До работы в ИТ

250 $⁣ (16 250 Р)

После устройства

2000 $⁣ (130 000 Р)

Сбережения, инвестиции

До работы в ИТ

0 $

После устройства

3500 $⁣ (227 500 Р)

Коротко: как найти работу в США

  1. В резюме — только про работу. В США никого не интересует, когда вы родились, сколько у вас детей и как вы выглядите.
  2. Про работу — только по специальности, все, что вспомните, даже если это учебные задания. Но не больше одной страницы на 10 лет стажа.
  3. Нигде не пишите и не говорите про зарплату, даже если спросят. Отвечайте, что деньги для вас не важны.
  4. Результативнее всего рассылать резюме в компании, где вам хочется работать. Но ждать ответа можно и по несколько месяцев.
  5. Как следует готовьтесь ко всем телефонным интервью: репетируйте рассказ о себе, изучайте компанию, решайте задачи и повторяйте теорию. Пройти все этапы и получить приглашение в офис удается редко.
  6. Если вас позовут на встречу в офис, закладывайте на это целый день. Перед походом изучите средние зарплаты по рынку, но сами про них ни звука: пусть собеседник первым назовет сумму. После этого не грех немного поторговаться.

Как в IT-компаниях смотрят на программистов без диплома при приёме на работу?

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

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

Недавно я интервьюировал одного человека, без диплома, который 2—3 курса отучился в Бауманке или МИФИ, а потом исходя из некоторых внутренних соображений и необходимости зарабатывать деньги, плюс в силу характера, невозможности совмещать работу и учебу, бросил вуз. И вот мы с ним разговаривали, он вполне хороший разработчик, достаточно интересными вещами в жизни занимался, и как-то зашла речь о причинах, почему он бросил вуз. Он мне все объяснил и сказал, что жалеет, что недоучился. Я спросил почему, и он объяснил, что несколько раз в своей карьере наталкивался на задачи, где ему не хватало образования, где разработка эффективного алгоритма требовала глубокого понимания теории графов, например. Он говорит: «понятно, что 90—95% моей работы требует образования на уровне «умею складывать, умею умножать», но иногда попадаются задачи, где я просто чувствую, что, если бы я потратил время и поучился, я бы смог создать что-то сильно лучшего качества». Это одно соображение, но это никак не отрицает того факта, что если человеку действительно необходимо, то он может потом засесть за учебники, прочитать нужные материалы, разобраться. Но, как часто бывает в жизни — «потом» найти время и разобраться тяжелее, чем в молодости.

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

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

Как получить работу разработчика без опыта, как у меня | Автор Syk Houdeib

Давайте начнем с начала. Вам нужно хорошее резюме.

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

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

Будьте просты и лаконичны

Редко бывает причина иметь резюме длиннее одной страницы.

Получите рекомендации

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

Обратитесь к знакомым или старым знакомым. Не у всех из нас есть друзья, работающие в ведущих компаниях, но есть решения.

Например, я недавно обнаружил Rooftop Slushie, где вы можете получать рекомендации от разработчиков, работающих в таких компаниях, как Google. Разработчики могут рекомендовать разработчиков лучше, чем рекрутеры.Они знают, что ищут в коллегах.

Дайте на рассмотрение ваше резюме другим людям

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

Держите все, что связано с технологиями, наверху

Другой опыт и образование ниже.

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

Не добавляйте бесконечный список предыдущего опыта

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

Не приукрашивайте и не используйте уловки

Полосы прогресса навыков, я смотрю на вас * … Представьте информацию в визуально привлекательной, но не отвлекающей манере.

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

* В моем собственном резюме все еще присутствуют ужасные индикаторы выполнения. У меня есть полное намерение удалить их в ближайшее время.

Нет опыта? Вот как можно устроиться на работу программистом | автор: Christophe Limpalair

Как недавний выпускник, я слышал это снова и снова: «Все эти объявления о вакансиях говорят, что требуется 5+ лет опыта, но я все это время учился в школе… как я должен иметь многолетний опыт? »

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

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

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

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

Фото Мухаммада Ризвана

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

Причин для этого много:

  1. Степени обычно довольно специфичны или очень широки
  2. Есть много других, которые получают такую ​​же степень, как и вы (много соревнований)
  3. Степень не доказывает, что вы можете это делать работа или что вы будете преуспевать в качестве сотрудника
  4. Степени имеют разное влияние в зависимости от того, где вы их получаете от

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

Опыт, как правило, можно получить, пройдя по .

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

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

Итак, у вас есть время, проводимое в школе, и у вас есть время, проводимое вне школы.

То, что вы делаете вне школы, стоит столько же, если не больше, чем ваше время, проведенное в школе. Это время, которое определяет, получите ли вы или Джо Смит ту потрясающую работу, для которой требуется «5 лет опыта».

Если вы проводите эти часы вне школы, составляя свое резюме:

  1. Создание дополнительных проектов
  2. Участие в проектах с открытым исходным кодом
  3. Начало дополнительного бизнеса
  4. Сбор книг, связанных с работой, которую вы хотели бы иметь, и написание отзывов о них в личном блоге (или на Medium)

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

Даже если эти побочные проекты просто создают такие вещи, как приложения для задач, приложения для планирования или другие простые приложения, пока вы публикуете их публично (например, на GitHub), вы создаете резюме, которое доказывает, что вы :

  • Любопытный
  • Готов и уметь учиться
  • Страстный (вы проводите время добровольно)
  • Проститутка
Фото Yutacar

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

Это требует жертв.

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

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

Вместо того, чтобы смотреть 3 серии любимого шоу, как насчет того, чтобы сократить его до 2 серий? Если каждая серия длится 50 минут, это 50 минут в день (25 часов в месяц), которые вы можете потратить на создание проекта. Ищите подобные оптимизации в своем расписании, и вы будете удивлены тем, чего сможете достичь.

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

Надеюсь, этот пост дал вам разъяснения, так как я знаю, что это основная тема среди людей, которые еще учатся в школе. Я знаю, потому что слышал это все время. Пришло время понять, чего вы хотите, и действовать соответственно. Удачи 🙂

Как получить работу кодера с очень небольшим опытом

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

Парадокс: вам нужна работа, чтобы получить опыт, но вам нужен опыт, чтобы устроиться на работу…

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

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

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

Отстой.

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

К счастью, в мире программирования есть решение этой головоломки.

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

Все, что вам нужно сделать, это найти их.

Разрешите представить

фрилансеров и «гиганта» !

Я знаю, о чем вы думаете, фрилансер? Если меня никто не нанял на работу, зачем мне нанимать меня в качестве фрилансера? Что вообще такого особенного во фрилансе? Разве это не работает для компании, если не считать W-2, льгот и гарантий занятости? Не лучше ли мне какое-то время продержаться в поисках работы?

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

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

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

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

Наконец-то осталось гигов-фрилансеров .

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

Вот некоторые примеры работодателей, которые нанимают гигантов:

  • предприниматели — стремятся создать доказательство концепции идеи
  • intrapreneurs — предприниматели, работающие над инновациями внутри компании, которые также ищут доказательства того, что концепции
  • малый бизнес — обычно ищу кого-нибудь «под рукой» для установки или настройки чего-то
  • людей с проблемами программирования — может быть, это парень, которому нужна помощь с его домашним заданием по программированию или что-то в этом роде?

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

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

Почему стоит заниматься гигантом-фрилансом, когда вы только начинаете

Удивительно, но найти работу на гиге довольно легко.

Концерты обычно небольшие — несколько часов, неделя…

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

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

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

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

Определение типа концерта, который вам подходит

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

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

Хотите узнать данные? Возьмите работу по очистке или обработке данных.

Хотите узнать об аппаратном обеспечении? Есть Arduino и Raspberry Pi.

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

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

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

и этот список можно продолжить.

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

Gigs позволяют вам отточить свои навыки и отточить свое мастерство.

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

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

Кроме того, будет полезно просто все делать самому. Вам придется строить целые системы. У тебя не будет выбора. Вы узнаете , как все работает.

Концерты часто приводят к лучшему

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

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

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

В конце концов мне даже не пришлось искать новую работу. Это вроде как просто пришло мне в голову.

Было весело… и хотя сначала было страшно, со временем стало легче.

Так как же получить концерты? Вот процесс, который я рекомендую:

Найдите хорошую торговую площадку, которая соответствует вашей ситуации

Вы хотите начать свой поиск работы с поиска «торговой площадки», где работодатели будут рассматривать вас как хорошее решение проблем, которые они пытаются решить. решать.Обычно они ищут в Интернете «рынок»: доску объявлений, список рассылки, слабый канал, форумы и т. Д. Когда я говорю «рынок», я на самом деле имею в виду любое сообщество, в котором определенная группа людей публикует вакансии.

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

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

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

Итак, что вы хотите искать?

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

Помимо поиска торговых площадок, ориентированных на «концерты», вам больше всего повезет с рынками, которые являются «нишевыми».

Что я имею в виду под «нишевой»? Что ж, вам нужны торговые площадки, в которых есть своего рода фокус, в который вписываются ваши навыки или опыт.

Нишевые торговые площадки включают:

  • Географический фокус: Некоторые торговые площадки построены для местных сообществ.Люди часто нанимают через эти сайты, когда хотят работать с кем-то из местных.
  • Ориентация на технологии: Некоторые торговые площадки сосредоточены на определенных технологиях. Если вы проводите много времени с определенной технологией, эти доски будут местом, где у вас будет преимущество.
  • Фокус на проблемном пространстве: Некоторые торговые площадки ориентированы не на технологию как таковую, а на определенную аудиторию. Программные проекты существуют в каждом сообществе.Если вы являетесь членом сообщества, вы можете получить доступ к выступлениям, которые недоступны другим разработчикам.

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

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

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

  • craigslist (раздел концертов) — он ориентирован на местные / географические регионы, поэтому у вас есть некоторые из вышеупомянутых встроенных преимуществ.
  • личные встречи — снова местные и нишевые. По моему опыту, когда вы появляетесь на этих мероприятиях, почти всегда кто-то ищет кого-то, кто поможет с их проектами. То, что вы местный житель, — огромное преимущество.
  • слабые чат-группы, ориентированные на общественных предпринимателей и тематические списки рассылки (опять же, они нишевые и немного менее популярные). Вы можете найти их, выполнив поиск по «публичным каналам бездействия» — во многих из них есть специальный раздел, посвященный вакансиям, а большая часть вакансий на каналах, ориентированных на предпринимателей, будет связана с концертами.
  • наконец, upwork.com , freelancer.com или какой-нибудь другой сайт, ориентированный на фрилансеров. На этих сайтах есть множество работодателей, которые хотят нанять людей, но начать работу может быть немного сложно.Вы будете соревноваться за вакансии с людьми со всего мира, у которых уже есть много отзывов о платформе. Когда вы в конечном итоге получите несколько 5-звездочных оценок, все станет проще, но до тех пор это игра в числа, так что будьте готовы к множеству отказов.
Подать заявку на работу

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

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

Что скажешь?

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

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

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

Вы можете подумать, у меня нет опыта. Разве это не дисквалифицирует меня сразу? »

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

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

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

Последующие действия

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

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

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

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

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

Итак, как вы это делаете?

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

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

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

Не отчаивайтесь

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

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

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

Я профессиональный программист ?

Надеюсь, я убедил вас

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

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

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

Спасибо, что нашли время прочитать мою статью.

Вы также можете прочитать другие мои статьи в моем личном блоге https://wildnotion.com

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

Если вы нашли эту статью полезной, дайте мне знать ???.

Как я получил работу разработчика полного цикла без технического образования и опыта работы

Чарли Джеппссон

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

Часть 1: Принятие кризиса четверти жизни

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

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

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

Во-вторых, походы и серфинг, хотя и были замечательными, не помогли мне найти то «призвание», которое я искал. Единственное, что можно было сделать, это классический метод проб и ошибок.

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

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

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

Так я проработал около восьми месяцев, одновременно работая писателем / редактором и внештатным бизнес-аналитиком. Но со временем я начал терять интерес к работе в журнале.

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

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

И мне нужно было проверить еще одну вещь в моем списке проб и ошибок.

Часть 2: Обед, который изменил мою жизнь

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

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

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

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

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

Но это еще не все.

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

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

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

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

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

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

  1. Я был шокирован, узнав, что у нее не было «настоящего» образования в области веб-разработки, которое для меня в то время было бы равносильно академической степени. Все, что она знала, она узнала на платформах MOOC (массовые открытые онлайн-курсы), таких как freeCodeCamp и Codecademy.
  2. Она сказала мне, что у нее был финансовый опыт, как и у меня.Фактически, она проработала бизнес-контролером в течение нескольких лет до недавнего времени, когда она присоединилась к тому же стартапу, что и я, всего несколькими месяцами ранее в качестве внешнего специалиста.
  3. Когда она показала мне страницу портфолио, которую создала всего за шесть месяцев опыта программирования, я не мог в это поверить. Это было невероятно.

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

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

Например, ежегодный опрос разработчиков Stackoverflow (100 000 опрошенных) показал, что только половина всех профессиональных разработчиков имеет степень бакалавра, а из этой половины целая треть специализировалась в чем-то совершенно не связанном с информатикой и разработкой программного обеспечения.

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

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

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

Хотя я всегда завидовал окружающим меня программистам — даже до такой степени, что несколько лет назад я прошел летний курс Python 101 — я никогда не считал это жизнеспособным карьерным путем для себя. По крайней мере, без возвращения в университет на 3-5 лет.

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

Часть 3: Текст, который мне обошелся в 6000 долларов

В течение следующих нескольких месяцев я провел сотни часов на онлайн-платформах, таких как Codecademy и freeCodeCamp. Я даже приобрел подписку на платную платформу Code School.

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

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

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

Я кодировал на своем ноутбуке в общежитии в Сальвадоре, когда я получил сообщение от моей подруги Мари.

«Я получил работу!» он сказал.

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

В то время я просто издевалась над ней за это — Итак. Вы собираетесь заплатить 5000 долларов за 12-недельный курс? И вы не получаете за это ни одного университетского кредита? И ради этого вы бросили высшую степень MBA? Звучит нормально.

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

Я остановился и сделал несколько расчетов. Если бы я мог поддерживать свой текущий темп, кодируя в среднем около 6 часов в день, около 5 дней в неделю, я бы делал 30 часов в неделю. Итак, чтобы закончить полную 1200-часовую программу freeCodeCamp, мне потребовалось бы еще как минимум 8 месяцев. И это , если я смогу не отставать. Чего я определенно не мог, так как у меня заканчивались деньги, и мне нужно было вернуться в Швецию и вскоре найти новую работу.

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

Вернемся к старому доброму исследованию Google.

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

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

Благодаря Switchup и Coursereport, вскоре я обнаружил Le Wagon, историю успеха стартапа французского учебного лагеря для начинающих по программированию с более чем 15 локациями по всему миру и топ-5 рейтингами в обоих рейтингах (на момент написания, фактически №1 на обоих, с 27 локациями!).

После сравнения его с такими альтернативами, как Hack Reactor, Ironhack, General Assembly и NYCDA, я выбрал несколько основных причин, по которым я предпочел его другим:

  • Относительно низкая цена (тогда 6000 долларов).
  • Акцент на предпринимательстве и разработке продуктов.
  • Глобальное присутствие и сообщество.

Тем не менее у меня остались некоторые сомнения по поводу программы.

  1. Выбор внутреннего языка Ruby и Rails фреймворка MVC.Хотя казалось, что это было довольно распространено среди других признанных учебных курсов для начинающих, почти в каждой статье, которую я читал на эту тему, говорилось, что Javascript действительно актуален и то, что искали работодатели. Например, на буткемпе моей подруги Мари был обучен бэкэнд-стек, основанный на Node.js и Express.js. Обе технологии на основе Javascript. Некоторые общие аргументы, казалось, заключались в том, что Ruby был отличным языком для изучения, но что Node и Express были навыками, которые работодатели ценили намного выше.Действительно ли Руби была той лошадью, на которую можно было делать ставки?
  2. 9-недельный курс казался коротким. Большинство конкурирующих программ длились не менее 12 недель, что уже казалось слишком коротким, чтобы стать пригодным для работы веб-разработчиком.
  3. Le Wagon не предлагала никакой реальной помощи в поиске работы после завершения учебного лагеря. Многие конкуренты предлагали либо гарантии занятости, либо, казалось бы, надежные функции карьерного роста.

Я рассмотрю каждое из этих трех сомнений одно за другим с моими выводами после буткемпинга в конце следующего раздела.

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

Подключившись к паршивому Wi-Fi в кафе в ленивом серф-городке Эль-Тунко, мы коротко поболтали. Но это было намного более неформально, чем я ожидал. Я чувствовал, что мы связаны, что заставило меня еще больше хотеть, чтобы меня приняли. А потом, даже не через 24 часа, я получил письмо, которое так долго ждал.Гас сказал мне, что был бы рад принять меня в следующую партию, и что единственное, что мне нужно было сделать дальше, — это внести залог в размере 1200 долларов, чтобы зарезервировать мое место.

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

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

Однако вскоре это странное чувство превратилось в возбуждение. По крайней мере, теперь я знал, что в ближайшем будущем мне не придется возвращаться к работе в сфере финансов, продаж или интернет-СМИ. В тот же день я начал готовиться к буткемпу.

За оставшиеся три месяца мне каким-то образом придется заработать оставшиеся 4800 долларов гонорара. Плюс расходы на аренду и проживание. Ну дерьмо.

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

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

Часть 4: Учебный лагерь в Барселоне

Перенесемся на три месяца вперед. 1 мая 2017 года, я в классе на своей первой лекции по Le Wagon.

Вокруг меня около 25 человек со всех уголков мира. Килиан из Германии, Даниэль из Венесуэлы, Франческа из Франции, Арби из Италии, Кортни из США и так далее.Кто-то вообще не имеет опыта программирования, кто-то с небольшим, а кто-то на полпути к получению степени в области информатики.

Мы слушаем Гаса, директора местной школы, и Рубена, учителя Ruby, объясняющих структуру предстоящей программы.

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

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

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

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

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

Еще одним источником разочарования был разрозненный характер вещей, которые мы изучали. Казалось, что нам дали сотню кусочков пазла, но нет инструкций, как их все сложить.Знание того, как писать на базовых Ruby, HTML, CSS, Javascript и SQL, действительно вдохновляло меня, но как эти знания помогут мне создать реальное приложение?

И вот настал мой большой момент AHA.

Шла шестая неделя, и мы наконец добрались до модуля Ruby on Rails. Прежде чем я это понял, я смотрел в окно своего браузера Chrome и читал слова «Ура! Вы на Rails! ». Учитель сказал, что это было мое первое веб-приложение.

Целевая страница по умолчанию для любого нового проекта Rails.

Что? Все, что я сделал, это запустил несколько простых команд в своем терминале и перешел на http: // localhost: 3000 / в моем браузере.На что я вообще смотрел?

Я не был уверен, пока не открыл каталог приложения в текстовом редакторе, это большое милое понимание стало на свои места. Rails так красиво все это отображал.

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

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

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

  • Значит, я могу смешивать HTML и Ruby в своих файлах erb?
  • Я могу получить доступ к переменным экземпляра из контроллера в связанном файле html.erb?
  • Я могу импортировать код, написанный другими людьми с помощью этой штуки под названием Gems?
  • Я могу написать столько ванильного JavaScript, сколько захочу, в каталоге assets / javascript?
  • Я могу использовать консоль Rails в терминале, чтобы делать все, что я хочу, со всей базой данных?

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

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

Давление.

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

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

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

Это был наш первый MVP (минимально жизнеспособный продукт), и мы решили назвать его Unify.Я знаю, что это супер банальный и подражатель Кремниевой долины. Но в свою защиту: у нас есть более важные дела, чем придумывать лучшие имена.

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

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

Таким образом, нам пришлось сузить круг функций до MVP, и фактически мы получили почти тот же продукт, который менеджер Le Wagon Гас рекомендовал нам с самого начала.

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

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

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

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

API геолокации Google не отвечал должным образом на наши запросы, поэтому мы не могли проверить событие, которое мы использовали для демонстрации. Мы все перепробовали. Смена компьютеров и пользователей. Удаление и создание новых событий. Изменение почтового адреса мероприятия. Ничего не получилось.

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

Но он опаздывал, поэтому мы попытались ему позвонить.

Нет ответа.

Мы попытались позвонить еще раз.

Опять же, нет ответа.

А потом мы запаниковали.

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

И вуаля — приложение отлично заработало. И демо тоже.

В целом , Мои впечатления от Le Wagon были просто потрясающими. Я, наверное, никогда не узнал столько за такое короткое время. Оглядываясь назад, на самом деле трудно поверить, что большинство из нас могло разрабатывать полнофункциональные веб-приложения всего за 9 недель опыта разработки.

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

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

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

Даже если вы получаете степень в области информатики, вам все равно придется заполнить массу пробелов в практических знаниях, чтобы стать продуктивным. Я практически видел это на собственном опыте в своих одноклассниках на буткемпе, у которых за плечами 2–3 года обучения компьютерным наукам. Опять же, это потому, что академическая модель сломана и устарела и, следовательно, не может идти в ногу с экстремальными темпами, с которыми меняется реальная разработка программного обеспечения.

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

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

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

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

1. Изучение Ruby on Rails вместо стека на основе JavaScript

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

Однако длинный ответ будет таким.

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

И конечно, когда дело доходит до рендеринга HTML / CSS на стороне клиента (или «представлений»), пользовательский интерфейс Rails даже не сравним с большими фреймворками JavaScript. Это я должен дать ненавистникам Rails.

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

В современной среде JavaScript это просто вопрос помещения новых данных (комментария) в хранилище данных на стороне клиента и проверки того, что список комментариев обновляет свое состояние, чтобы отобразить новый комментарий. Таким образом, вам не нужно ждать, пока новая запись будет отправлена ​​на сервер, сохранена в базе данных, а затем снова запрошена клиентом. Вместо этого новый комментарий мгновенно появляется на вашем экране.

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

До наступления эры JS-фреймворков основным решением было бы добавить некоторую довольно неструктурированную логику AJAX поверх HTML, которую часто было бы очень трудно поддерживать в долгосрочной перспективе по мере того, как ваше приложение становится больше. Другой вариант, доступный для Rails совсем недавно, — это решение websocket pubsub (публикация-подписка), использующее что-то вроде Action Cable.Например, это то, что мы использовали для чата в приложении, которое мы создали в учебном лагере. Проблема только в том, что без оболочки JavaScript логика веб-сокета может легко стать излишне сложной, а также сложной в обслуживании.

К счастью, сегодня у нас есть гораздо лучший вариант — использовать фреймворки JavaScript для решения подобных проблем. И поскольку клиентская сторона, на мой взгляд, является самым слабым местом Rails, это также мой главный аргумент, почему не следует отказываться от Rails как опции, например, для Laravel или стека MERN.Просто возьмите сверху четкий JavaScript-фреймворк, например React или Ember, и готово.

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

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

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

2. Разве 9 недель не слишком коротки, чтобы чему-то научиться?

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

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

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

Оглядываясь назад, можно заметить, насколько точным был набор инструментов Le Wagon.На моей нынешней работе я использую большинство этих инструментов ежедневно. Некоторыми примерами могут быть Postgres, Git, GitHub, Sidekiq, Pundit, Heroku и Cloudinary. Единственные две вещи, на которые я хотел бы, чтобы мои учителя тратили больше времени, — это то, как использовать фреймворк JavaScript, такой как React, и как писать тесты с такими технологиями, как Rspec. Потому что изучение этих двоих в одиночку позже оказалось решающим для моей первой работы разработчика.

3. Помогли бы мне гарантия работы и / или карьерные услуги?

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

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

Часть 5: Создание портфолио

В конце июля минувшим летом буткемп закончился. Но я только начал.

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

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

  • Я буду кодировать каждый божий день, пока не достигну своей цели, которая, конечно же, заключалась в получении этой первой работы разработчика. Значит с понедельника по воскресенье, днем ​​и ночью.
  • Я бы отправил каждый написанный мной фрагмент кода на Github , место №1 для потенциальных работодателей, где они могут проверить ваши навыки работы с кодом и уровень амбиций.Даже если бы я не чувствовал, что создал что-то стоящее, я бы все равно делал это, просто чтобы развить эту сладкую зеленую историю коммитов, чтобы ее мог увидеть весь мир.
Моя история коммитов Github с https://github.com/charliejeppsson.
  • И я бы полностью погрузился в как можно больше программного обеспечения . Это означало, что я слушаю подкасты, такие как Software Engineering Daily и SE Radio, всякий раз, когда выполняю какое-либо поручение, бегаю или готовлю. Это означало просмотр переговоров по коду, руководств и лекций на каналах Youtube, таких как Coding Tech, Traversy Media и CS50.Это означало чтение публикаций Medium, таких как Hacker Noon, freeCodeCamp и Codeburst, а также журналов, таких как Techcrunch и The Next Web. А это означало установить Dash на моем ноутбуке, чтобы всегда было легко найти нужную документацию по любой синтаксической проблеме, с которой я боролся в любой момент (для меня тогда в основном веб-документы MDN, api.rubyonrails.org и RubyDocs) .

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

На следующий день после Demo Day, едва трезвый после наступившей ночи, я начал создавать свое самое первое собственное приложение Rails (вот насколько сильным был импульс!). Каким бы самоуверенным я ни был, я подумал, что создание первого приложения займет несколько недель, теперь, когда я уже прошел через все это один раз с приложением Unify. Опять же, я ошибался.

Мне потребовалось почти два месяца, чтобы закончить его. За последние две недели буткемпа было так много процессов, которые пролетели так быстро, что я полностью их не понял.Я застревал на несколько дней в самых разных вещах, от досадно простых до довольно сложных. Для простой настройки средства выбора даты и времени потребовалось несколько дней, потраченных на Stackoverflow. Не говоря уже о функции чата с использованием веб-сокетов с Action Cable, на разработку которой у меня ушло около двух недель.

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

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

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

Достаточно скоро пришло время написать реальный веб-сайт портфолио. И на этот раз я решил не усложнять. Поэтому я собрал очень минималистичную статическую веб-страницу, где я мог собрать все, что я сделал. По окончании я планировал начать подавать заявки на работу. Но кое-что меня беспокоило. Помните, как я сказал, что немного сомневался в Ruby on Rails, прежде чем присоединиться к Le Wagon? Что ж, хотя мне действительно понравился минимализм Ruby и простота использования Rails, я все же чувствовал, что где-то нашел ярлык.

В разделе «Навыки» на странице моего портфолио можно найти Ruby, Rails, SQL, Postgres, HTML / CSS, jQuery, Bootstrap, Sketch, Git и Heroku. И JavaScript.

Это был последний вопрос, который меня беспокоил. Это было похоже на ложь.

Если бы я начал подавать заявки на работу сейчас, я, вероятно, смог бы найти что-нибудь достойное в качестве Rails-разработчика. Но что, если все ненавистники были правы, а Rails на самом деле устарел и умирает? А что, если я найду работу своей мечты только для того, чтобы понять, что они использовали передовые JS-технологии? У меня не было бы шанса, если бы я провел 200 часов на freeCodeCamp и 2–3 дня jQuery + 1 React.js на буткемпе.

Надменная часть моего мозга снова заговорила со мной: «Вот идея: что, если бы я тоже выучил стек MEAN?» MEAN, как в MongoDB, Express.js, Angular.js и Node.js, что в некотором роде похоже на JavaScript-эквивалент того, что Rails представляет собой Ruby. Согласно результатам поиска в LinkedIn и Glassdoor, это означало бы, что я бы более или менее удвоил количество рабочих мест разработчика, на которые я был квалифицирован.

Я вспомнил, что Гас, менеджер учебного лагеря, сказал мне, что мне понадобится еще месяц, чтобы выучить его.Как трудно это может быть? Я думал, что смогу сделать это за две недели.

И вот как я пришел к тому, что я бы назвал , учебным болотом .

Итак, я снова обратился к своему старому другу Google с просьбой изучить стратегии обучения. Но через несколько часов я все еще не мог найти хороший онлайн-курс для моих потребностей в стеке MEAN 101. Казалось, что все они сосредотачиваются на одной части за раз, что определенно является правильным путем, если вы хотите глубоко понять структуру.Но поскольку я хотел узнать как можно больше за две недели, ровно столько, чтобы добавить новый проект в свое портфолио, у меня не было на это времени.

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

В конце концов я нашел свой путь к каналу Traversy Media и серии руководств MEAN Stack Front To Back.Десять видеороликов по 20 минут каждое, демонстрирующих, как создать базовое веб-приложение RESTful с регистрацией пользователя и аутентификацией при входе. Идеально.

Я начал сразу же и закодировал каждое видео на своем ноутбуке. И достаточно безумно, всего через несколько дней я закончил. На самом деле я написал полнофункциональное веб-приложение с использованием совершенно чужих технологий. Узел для серверной части, Mongo для управления базой данных, Angular для внешнего интерфейса и Express для объединения всего этого воедино.

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

Что ж, раз уж я опередил график, я подумал, почему бы не продолжить работу над приложением? Моя идея заключалась в том, чтобы превратить его в клон Medium, просто включив базовые действия CRUD для публикации в блоге (создание, чтение, обновление, удаление), как мы это делали в проекте в учебном лагере с Rails.

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

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

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

Итак, я был по колено в большой луже грязи, которая тогда была для меня СРЕДНИМ стеком. Приложение еще не было готово к добавлению на страницу моего портфолио. В нем буквально не было никаких особенностей. Просто возможность для пользователей зарегистрироваться, войти в систему и ничего не делать, кроме как смотреть на некоторые статические проекты Bootstrap.

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

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

Вот так веб-приложение, которое должно было стать клоном Medium, стало приложением для поиска музыки с помощью Spotify Search API.

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

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

Часть 6. Подача заявления о приеме на работу

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

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

Первое, что я сделал, — это составил таблицу для короткого списка интересных вакансий (изначально я был скучным экономистом, помните?).Затем я провел несколько дней, просматривая доски объявлений LinkedIn, Glassdoor и Stackoverflow в поисках вакансий по таким ключевым словам, как Интернет, разработка, программное обеспечение, интерфейс, бэкэнд, Ruby, Rails, Javascript, Angular, Node и Postgres.

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

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

Если бы я мог выбрать любую работу, которую хотел, мои приоритеты выглядели бы примерно так:

  1. Я бы кодировал для всего стека, а это означало, что мне приходилось делать столько же работы с базами данных и архитектуры, сколько и UX / Материал пользовательского интерфейса, и в основном в JavaScript. Вся шумиха вокруг React, вероятно, была во многом связана с последним. Как я уже говорил вам ранее, насколько я знал на тот момент, Rails в основном умирает, а будущее за JavaScript.
  2. Моя кривая обучения будет чрезвычайно крутой, так что мне придется писать код днем ​​и ночью, чтобы не отставать.Все для того, чтобы стать настолько хорошим, насколько это возможно, в кратчайшие сроки.
  3. Мои коллеги были бы умными, амбициозными, веселыми и неформальными, и желательно, чтобы все они были одновременно.
  4. Компания будет быстрорастущим стартапом со значимой миссией и продуктом, связанным с блокчейном, искусственным интеллектом и / или устойчивостью, или цифровым агентством высшего уровня с такими проектами.
  5. Мне бы честно заплатили.

Вот и все. Казалось бы, довольно высокие требования для новичка.Но учтите, что высокая зарплата не входила в критерии (как и сегодня, с 6-месячным профессиональным опытом). Может быть, я утверждаю очевидное, но если вы переходите на роль чистого разработчика из чего-то совершенно другого, я думаю, важно знать, что не имеет значения, сколько вам платили раньше.

Например, я знал, что моя рыночная стоимость в финансовой сфере составляет около 5000 долларов в месяц. Но понимая, что разработка программного обеспечения — это принципиально другое дело, я поставил себе цель около 3700 долларов, но согласился бы на всего 3000 долларов (что значительно ниже средней зарплаты в Швеции около 4000 долларов).

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

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

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

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

Во-вторых, я увидел, что чем популярнее и крупнее была компания, тем больше вероятность, что она будет включать в себя требования о некоторой степени, связанной с информатикой, и опыте профессионального развития.Я полагал, что приличное портфолио и сопроводительное письмо, вероятно, могли бы дать вам интервью с компанией, которой требуется «ниндзя Rails» или «суперзвезда React», а не новичок, как я.

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

В-третьих, почти в каждом объявлении о вакансии упоминается React. Несмотря на всю шумиху вокруг него в Интернете, я все еще был поражен его безумно высоким спросом.

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

Для этого я на самом деле в основном использовал заметки из одной лекции по React в учебном лагере Le Wagon, но если вам интересно ее изучить, вам не составит труда найти там бесплатные руководства, в том числе и с freeCodeCamp. .

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

Скорее всего, вам рано или поздно придется подружиться с какой-то JavaScript-фреймворкой, и тогда эти концепции пригодятся в любом случае, будь то React, Angular, Vue, Ember или любой другой из множества JavaScript-фреймворков. там.

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

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

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

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

Следующее, что я сделал, это обновил свое резюме и профиль в LinkedIn.И здесь я не могу не подчеркнуть важность ключевых слов. Убедитесь, что названия всех технологий, которые вы знаете (или хотите сделать вид, что знаете), включены в обе. Таким образом, у вас больше шансов появиться в результатах поиска (то же самое и здесь, просто спросите меня, и я пришлю вам свое резюме).

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

Потом я начал получать ответы.

Часть 7: Проведение интервью

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

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

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

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

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

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

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

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

Место было свалкой. Если вы когда-нибудь видели «Офис», мне казалось, что я только что вошел в офис компании «Дандер Миффлин Пейпер». Мне сказали, что раньше это был офис крупной аудиторской компании, переделанный в дешевый временный коворкинг на время, оставшееся до его планового ремонта. Мы вошли в конференц-зал и сели за большой деревянный стол.

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

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

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

Нравится, какие технологии и фреймворки мне понравились. Если бы я мог выбрать какую-нибудь новую технологию для изучения в следующий раз, какой бы она была. Что я думал о новом синтаксисе, представленном ES6 (обновление Javascript 2015 года, в котором появилось много новых интересных вещей, таких как стрелочные функции, обещания и константы).

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

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

«Если к тому времени компания еще будет», — почти добавил я.

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

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

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

Неплохая идея. Хотя объявления о вакансиях, начинающиеся со слов вроде «найм» и «HR» 9 дней из 10, напугали бы меня, было что-то в этой компании, что меня заинтриговало.

В результате моего довольно тщательного исследования я обнаружил, что они существуют около 4 лет, у них около 30 сотрудников, присутствие в 4 или 5 странах, 600 клиентов (предприятий), рост выручки на 100% + и высокий уровень даже с некоторым запасом наверху.Совсем неплохо.

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

М. М. Ммм.

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

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

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

Сначала большой розовый плакат прямо перед моим лицом, с жирными белыми буквами, кричащими мне: «Teamtailor — один из 100 самых популярных стартапов Европы — Wired Magazine». Слева от меня что-то напоминало гостиную, где группа 20-летних играла в ФИФА на огромном экране. Передо мной большая комната, где ближайший ко мне стол был заполнен разработчиками, небрежно рубящимися на больших четких экранах. И повсюду вокруг меня из динамиков Sonos пульсируют мягкие хип-хоп биения.

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

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

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

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

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

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

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

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

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

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

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

Немедленно их лица загорелись, и они выпрямились на стульях, кивая мне. Я собирался понять, что только что совершил БОЛЬШУЮ ошибку.

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

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

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

Потом пришло второе смущение. Когда я попытался войти в свою учетную запись с помощью аутентификации Facebook, это не удалось. Как я понял слишком поздно, причина заключалась в том, что я не обновил URL-адрес в своих настройках API Facebook после получения нового сертификата SSL.Итак, Facebook ожидал запросов от домена http: //, а мой — от домена https: //. Ошибка новичка.

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

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

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

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

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

Основная цель заключалась в том, чтобы понять, насколько хорошо я знал их внутреннюю структуру (Rails), и насколько быстро я смогу изучить их интерфейсную структуру Ember.js (о которой я даже не слышал в тот момент ).

Я сразу понял, что демонстрационное приложение должно быть тем, которое я создал с помощью Rails и React.js. Он был идеален по двум причинам:

  1. он был построен на Rails, интегрированном с фреймворком JavaScript (точно так же, как их стек), и
  2. я изучил все вещи React, которые я использовал менее чем за две недели, что дало бы им хорошее представление о том, как быстро я смог выучить Ember.

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

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

Я зашел в веб-приложение, и вскоре рабочее название «AppHunt» появилось на экране большими жирными лиловыми буквами.Это было что-то вроде Product Hunt, но больше похоже на рынок приложений. Таким образом, любой пользователь сможет просматривать домашнюю страницу приложений для продажи и для покупки. И если бы они создали учетную запись и вошли в систему, они также могли бы искать и фильтровать элементы приложения, оценивать их и писать материал в полях комментариев. Вот и все.

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

  • Что функции в реальном времени — такие как мгновенное изменение комментариев, результатов поиска и рейтингов — показали, что я знаю, как использовать состояние и свойства, что очень важно. в любом фреймворке JavaScript.
  • То, что я использовал JBuilder для сериализации запросов JSON между интерфейсом и сервером.
  • Что я использовал Elasticsearch для функции поиска.
  • Что им понравился дизайн, и что я сам делал наброски в Sketch, прежде чем начать писать код.
  • Что код CSS не был очень контекстно стилизован или вложен. Вместо этого они нашли его многоразовым во всем приложении, и это было хорошо. Они сказали мне, что одна вещь, которая произвела бы на них еще большее впечатление, была бы, если бы я также следовал так называемому соглашению об именах BEM CSS.

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

Я сразу согласился и на следующей неделе приступил к новой работе. ✌️

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

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

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

Как и в других компаниях, первое собеседование было сплошным трепом и мягкими навыками.Но на этот раз еще больше «HR». Почему ты хочешь работать разработчиком? Какие технологии тебе нравятся? Каковы ваши сильные и слабые стороны? И так далее. Легкая штука.

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

Внезапно парень через стол протянул мне огромную белую бумагу формата А3 и ручку. Он сказал мне, что они хотели, чтобы я нарисовал набросок потоков данных и процессов, задействованных в следующем сценарии:

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

Это действительно застало меня врасплох, но я нерешительно кивнул и принял вызов.Затем парень сказал что-то вроде: «Мы просто пойдем выпьем кофе, а затем через 5 минут или около того мы вернемся и позволим вам объяснить свои мысли».

5 минут! Это была шутка? Я действительно не мог сказать. Когда они ушли, я всерьез задумался, не было ли это чем-то вроде вопроса с подвохом, когда я должен был понять, что эта задача слишком велика, чтобы ее можно было выполнить прилично за такое короткое время. Но время уже было на исходе, и это был слишком большой риск. Поэтому я решил попробовать.

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

Но я этого не сделал. В состоянии паники я пропустил несколько шагов и начал пытаться набросать модель базы данных учетной записи пользователя с таблицей, столбцами и внешними ключами (я предполагал, что они использовали реляционную базу данных). Когда я закончил с этим, у меня было около 30 секунд, чтобы сопоставить другие компоненты архитектуры. Я был так взволнован, что стал философствовать и начал задаваться вопросом, каковы на самом деле роли API и сервера. Плохой знак.

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

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

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

Всего за 4 недели поиска работы я посетил 11 собеседований в 6 компаниях, из которых 3 сделали мне предложения. Так что, несмотря на то, что я несколько раз обгорел, это был действительно потрясающий опыт.Если бы меня попросили назвать одну-единственную самую большую награду (кроме предложения моей мечты), то это был бы , который я привык разговаривать с разработчиками о программном обеспечении . Если вы страдаете синдромом самозванца, как и я (посмотрите, это вещь), лучшего способа вылечить просто нет.

Еще один важный вывод: из моих 11 собеседований только , одно потребовало реальных теоретических знаний в области информатики. Никаких вопросов о сложных структурах данных, никаких хитрых головоломок.Только один вопрос по архитектуре системы. Остальные были на 100% сосредоточены либо на практических, либо на социальных навыках. Так что, если вы не претендуете на яркую работу разработчика программного обеспечения в Google или Facebook, я определенно рекомендую сосредоточиться на практических вещах, а теоретические знания выучить позже.

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

Часть 8: Чем я занимаюсь сегодня

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

Я часть команды из 12 человек, где все, кроме одного дизайнера, являются разработчиками полного стека на Rails и JavaScript.У некоторых есть опыт работы более 10 лет, у некоторых — всего несколько лет, но только двое из них имеют настоящие академические технические степени. Остальные из нас более или менее самоучки.

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

https: // карьера.teamtailor.com

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

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

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

Конечно, мы не просто создаем новое. Мы также поддерживаем приложение. И в основе этого обслуживания лежит, как мне кажется, довольно необычный распорядок: — дежурный по вызову. Это означает еженедельную смену должности, когда каждый разработчик, в свою очередь, проводит целую неделю, помогая нашим пользователям и вспомогательному персоналу в Intercom.

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

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

Наконец, между каждым 6-недельным циклом у нас уходит две недели, чтобы приложить общие усилия для устранения всех ошибок, перечисленных на нашей доске ошибок Trello. Мы также используем эти две недели для разработки презентаций новых функций, которые мы сами хотели бы видеть в приложении. Затем каждый разработчик получает возможность представить эти идеи на общей питчевой встрече, которую мы проводим каждые 8 ​​недель, что действительно дает возможность тем, кто не только хочет решать сложные проблемы кода, но и бизнес-проблемы с помощью новых интересных дополнений к существующему продукту. .

Что я сделал до сих пор

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

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

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

Мой профиль кандидата с некоторыми извлеченными URL-адресами социальных сетей в сером поле.

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

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

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

Пример использования кнопки призыва к действию на сайте вакансий.

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

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

Модальная форма для нашей новой функции автоматического тестирования кандидатов.

Третья функция, над которой я работал, заключалась в том, чтобы позволить нашим пользователям интегрироваться с внешними поставщиками оценивания, что означает, что они смогут отправлять кандидатов на тестовую платформу, такую ​​как Hackerrank. По завершении теста результаты будут автоматически отправлены через интеграцию между нашим API и API провайдера. Это был большой проект, поэтому я в основном выступал в качестве помощника старшего разработчика (он же гроссмейстер Ember нашей команды), ответственного за проект.Тем не менее, он научил меня многому, как правильно настроить интеграцию API и автоматизировать рабочие процессы с помощью триггеров.

Одна из страниц в разделе «Сотрудники», переписанная на Ember.js.

Мой четвертый проект был самым большим на сегодняшний день, и хорошо, и плохо, я закончил тем, что сделал его более или менее самостоятельно. Все приложение изначально было построено на Rails, и большинство представлений были переписаны с помощью JavaScript и Ember одно за другим. Только в одном из наших основных разделов приложения все еще были только представления Rails.Это был так называемый раздел «Сотрудники», который был основным местом для создания, редактирования и удаления учетных записей пользователей. Поэтому было важно, чтобы мой перевод на Ember был безупречным.

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

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

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

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

Звучит довольно просто, правда? Что ж, это было не так. Вообще.

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

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

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

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

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

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

Я на работе?

Часть 9: Почему стать разработчиком — это лучшее, что я когда-либо делал.

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

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

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

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

Мне нравится, что он не только терпит моего внутреннего перфекциониста, но и требует, чтобы этот перфекционист присутствовал — и наказывает его отсутствие.

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

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

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

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

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

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

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

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

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

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

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

Поздравляю! Поскольку вы прочитали всю эту ОЧЕНЬ длинную статью, вы, должно быть, такой же сумасшедший, как и я. Изначально у меня было два намерения с этим текстом: обработать мои неудачи и успехи последних трех лет и вдохновить других на пути, подобные моему.Первый считаю завершенным. Так что если у вас есть вопросы или отзывы — свяжитесь с нами! Либо в комментариях ниже, либо на [email protected]

Сертифицируемый? Как найти работу программиста без диплома

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

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

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

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

Дипломы не создают веб-сайты

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

Однако, даже с такой большой нагрузкой на них, предложение кодеров далеко не соответствует спросу на рынке труда.В 2015 году 59 000 выпускников информатики подавали заявки на более чем 500 000 незаполненных вакансий в области программирования. Не нужно иметь ученую степень, чтобы увидеть, что есть много возможностей. А когда работодатели борются за вас, стимулы становятся лучше. По данным Glassdoor.com, программисты получают среднюю годовую зарплату более 66 000 долларов США с потенциалом более 100 000 долларов США.

Почему так много открытых позиций кодирования? Вероятно, по многим тем же причинам, по которым вы их не заполняете: время, деньги, запугивание.Чтобы получить степень бакалавра компьютерных наук, требуется четыре года, не говоря уже о стоимости этих четырех дипломов (в среднем от 112 000 до 236 000 долларов). А кодирование может быть сложной задачей. Постоянно развивающиеся технологии, быстро меняющиеся тенденции и все новые языки программирования делают кодирование потенциально опасным занятием.

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

[cta vid = «0»]

Программирование: много путей; один пункт назначения

Это может показаться устрашающим, но есть несколько простых шагов, которые вы можете предпринять прямо сейчас, чтобы сдвинуть с мертвой точки свое будущее. Самый востребованный навык программирования — это умение говорить (или писать) на разных языках программирования.Купите несколько вводных книг по SQL, JavaScript, HTML5, GitHumb или Java. Не нужно бояться; есть языки программирования, которые подходят для всех уровней квалификации, включая начальный уровень.

Кроме того, быстрый поиск в Интернете приведет к появлению тысяч веб-сайтов, полных бесплатных ресурсов и руководств, которые помогут вам найти свою опору, начать изучать мир программирования и получить работу по программированию начального уровня без требований к ученой степени. Преимущество массовых онлайн-курсов (МООК) заключается в структурированности занятий без связанных с этим затрат.

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

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

И да, это правда, все это легче сказать, чем сделать. Это все еще много информации, которая может быстро стать ошеломляющей.Самостоятельное обучение может занять много времени и сбить с толку, МООК могут дать вам навыки, но не получить сертификат, который можно было бы использовать в резюме. Но если вы не можете выделить четыре года и около 150 000 долларов в колледже для получения степени C.S., как насчет 14 недель и ~ 11500 долларов? Школы программирования или учебные курсы для начинающих по программированию — это компактный, экономически подкованный выбор для подающего надежды программиста. Имея программы в 74 городах США и 40 штатах, они подходят практически для всех.

Ускоренный курс кодирования

Курсы для начинающих по программированию

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

Хотя продолжительность курсов может составлять от 12 до 24 недель (средняя продолжительность — 14 недель), большинство студентов заканчивают обучение со всем опытом и знаниями, необходимыми для поиска работы без степени. Выпускники учебных курсов для начинающих по кодированию могут похвастаться 80% трудоустройством, при этом большинство из них находят работу, используя свой сертификат через один-шесть месяцев после выпуска. Они не только получают оплачиваемую работу, используя свои недавно приобретенные навыки, но и получают сразу же среднюю зарплату более 60 000 долларов.

Если вы все еще сомневаетесь в кодировании учебных курсов для начинающих, обратите внимание не только на средний рост заработной платы на 51% и более 80% трудоустройства, но и на рейтинг удовлетворенности 8,3 / 10, который сообщают выпускники. В конце концов, недостаточно зарабатывать больше денег, если вам не нравится то, что вы делаете. Программисты нужны во всех сферах, работая со всеми видами продуктов. Это навык, который может помочь вам попасть в выбранную вами область, а также внести немедленный и значительный вклад.

Все 93 (и их количество) вариантов Coding-Bootcamp, доступных в США и Канаде, различаются, и некоторые из них могут удовлетворить ваши потребности лучше, чем другие. Обязательно проведите свое исследование. Обратитесь в эти школы и узнайте все, что можно, о том, что они предлагают. Свяжитесь с бывшими выпускниками и начните устанавливать связи. Вы быстро найдете программу, которая подходит именно вам и поможет вам создать отличное портфолио.

Толчок в правильном направлении

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

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

[cta vid = «0»]

Как получить работу программиста без диплома

Не секрет, что навыки программирования пользуются большим спросом.Рабочие места программистов растут на 50% быстрее, чем рынок в целом. Но нужна ли вам степень, чтобы быть программистом? В этой статье мы рассмотрим, как стать инженером-программистом без ученой степени, используя технику, называемую подъемом по карьерной лестнице, и применяя ее к работе по программированию начального уровня.

Заблуждение

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

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

The Truth

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

В исследовании, проведенном Burning Glass в 2017 году, выяснилось, что только 25% объявлений о вакансиях в сфере ИТ и программирования запрашивали степень в области компьютерных наук.Это означает, что многие ведущие работодатели нанимают программистов без такового.

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

Мой опыт Получение работы программиста без диплома

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

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

Стоять за пределами штаб-квартиры eBay

Программисты-самоучки

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

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

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

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

Bluetangerine.com

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

Что вам нужно изучить

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

Изучите язык программирования

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

Первый шаг — выбрать один. Какой язык лучше всего выучить в первую очередь? Это зависит от ваших карьерных целей и интересов. Сузив круг, вы сможете научиться программировать с помощью классов, веб-семинаров, книг или даже программных подкастов. Чтобы получить полный список лучших ресурсов, которые помогут вам научиться программировать, вы можете использовать такой инструмент, как Coding List. Выясните, какой стиль обучения лучше всего подходит вам, и развивайте свои навыки.

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

Если вы не знаете, что выбрать, начните с Python.

Python

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

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

Парадигмы программирования

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

Парадигма программирования — это стиль программирования. Двумя наиболее популярными из них являются объектно-ориентированное программирование и функциональное программирование.

Объектно-ориентированное программирование рассматривает все как объекты, тогда как функциональное программирование делает упор на вычисление функций.

Вот статья, которая объясняет разницу между ними.

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

Инструменты программирования

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

Github.com

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

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

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

Изучение информатики

Чтобы стать инженером-программистом, вам также необходимо изучать информатику.

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

Например, вот пример программы, написанной на популярном языке программирования Python:

 print («Hello, World!») 

Приведенные выше инструкции называются кодом. Программирование означает написание кода.

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

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

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

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

Поднимитесь по карьерной лестнице внештатного сотрудника

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

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

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

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

Использование платформ для фрилансеров

Существует множество различных веб-сайтов, которые вы можете использовать для поиска работы внештатного программиста в Интернете. Одними из самых популярных являются Upwork.com, Fiverr.com и Freelancer.com. У них есть небольшие отличия, но вы можете начать работать с любым из них как программист-фрилансер.

upwork.com

Start Small

Платформы для фрилансеров, такие как Upwork, имеют проекты стоимостью от 25 до 10 000 долларов. Это означает, что вы можете начать с завершения проекта за 25 долларов. В проекте за 25 долларов хорошо то, что для него не нужно проходить собеседование, и работодатель, скорее всего, захочет рискнуть и найти нового программиста.

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

Эта стратегия особенно удачна, потому что спрос на фрилансеров стремительно растет. К 2027 году большинство работников в США будут внештатными сотрудниками.

К 2027 году большая часть сотрудников будет внештатной.

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

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

Станьте участником LinkedIn Allstar

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

www.linkedin.com

Благодаря моему портфолио на LinkedIn я впервые устроился на работу инженером-программистом на eBay (без степени в области информатики).

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

Подтверждение навыков

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

Обновите свою последнюю вакансию

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

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

Включите ключевые слова

Наконец, вы хотите убедиться, что ваш профиль LinkedIn заполнен ключевыми словами.У большинства компаний есть технические источники: люди, единственная задача которых — находить новые технические таланты и приглашать их на собеседования.

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

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

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

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

findmatthew.com

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

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

Овладейте техническим собеседованием

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

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

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

Ресурсы для технических интервью

Популярная книга для подготовки к техническому собеседованию — это Cracking the Coding Interview Гейл МакДауэлл, в которой рассказывается, как решать типы проблем, с которыми вы столкнетесь при оценке.

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

My Secret Interview Hack

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

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

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

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

Некоторые из самых популярных сайтов по программированию — это Hacker Rank, Code Chef, Code Wars и Top Coder.

Заключительные мысли

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

Вот и все!

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

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

Если вы хотите узнать больше о программировании, вы можете прочитать мою книгу или, если вам нужно наставничество, попробовать такую ​​программу, как One Month Python. Если вы хотите узнать еще больше о том, как подняться по карьерной лестнице и получить работу по программированию начального уровня, вы можете пройти мой курс по Udemy.

Удачи!

Как получить опыт программирования | Работа

Дэвид Видмарк Обновлено 13 июля 2021 г.

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

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

Лучшие сайты для программистов Начало работы

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

  • GitHub: Если у вас еще нет учетной записи GitHub, создайте ее сейчас. Это место, где вы можете участвовать в проектах с открытым исходным кодом, публиковать собственные проекты, создавать бесплатные веб-сайты и демонстрировать свои навыки работодателям по всему миру.
  • StackExchange: Это еще одно место, где у вас должна быть учетная запись. Дом Stack Overflow и Ask Ubuntu, StackExchange — это сеть из почти 200 сообществ, где около 100 миллионов разработчиков собираются вместе, чтобы поделиться знаниями и поработать над своей карьерой.
  • CodeWars: Это место, где можно отточить свои навыки программирования и одновременно заработать репутацию, решая различные задачи, или ката, для повышения своего рейтинга.CodeWars имеет проблемы буквально для десятков языков программирования.
  • LeetCode: Этот веб-сайт поможет вам подготовиться к программированию собеседований при приеме на работу и содержит более 1500 технических вопросов для практики. LeetCode также предлагает ряд других инструментов, предназначенных для связи программистов с работодателями.

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

Участвуйте в соревнованиях по программированию

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

FreeCodeCamp ведет список своих самых популярных веб-сайтов, посвященных проблемам кодирования. На вершине их списка в 2021 году находится TopCoder, который регулярно публикует задачи кодирования с кошельками в диапазоне от $ 1 до $ 13 000 . Проблемы варьируются от React и SQL до науки о данных (например, AI и ML) и других областей информатики, поэтому не должно возникнуть проблем с поиском чего-либо в вашей области.

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

Разрабатывайте побочные проекты

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

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

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