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

Как все начиналось…

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

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

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

Спустя несколько поисков в Google я подключился к Codecademy и зарегистрировался на свои первые курсы: HTML и CSS. В этот момент, после серьезного личного разговора с Богом с просьбой о руководстве, я встретился с другом, которого сегодня могу назвать своим наставником. Назовем его Джо. Джо родом из Франции и уже много лет живет в Израиле. Он недавно получил высшее образование в области компьютерных наук и только что запускал свой высокотехнологичный стартап. Несколько чатов спустя, и он уже высказывает мне свое мнение о том, что мне следует прочитать и изучить дальше. У меня оставалось еще четыре месяца до уроков иврита. Джо заключает со мной сделку. Он предлагает мне поработать в его новом стартапе младшим разработчиком, первые шесть месяцев в качестве стажера, бесплатно - я буду в основном учиться, а они все еще ищут финансирование, но это же жизнь художника, верно? Это предложение было выполнено при условии, что я успешно завершу эти 3 онлайн-курса: HTML, CSS и JavaScript.

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

Продолжайте усердно работать! Все это того стоит!

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

  1. Более глубокое понимание JavaScript
  2. Front end разработка с AngularJS
  3. Back end разработка с NodeJS

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

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

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

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

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

  • Онлайн-расследование: отслеживание этой информации, необходимой для завершения функции, над которой вы работаете, или для отладки кода.
  • Коммуникация: общение с сообществом, участие во встречах и т. Д.
  • Любопытство и постоянное самообучение: я подписался на множество информационных бюллетеней о веб-технологиях, таких как Sitepoint и Scotch.io. Сюда входит доступ к учебным пособиям, статьям, курсам - лучшему источнику учебных материалов. Я также подписался на специализацию Coursera, которую дал Гонконгский университет, с упором на стек MEAN. Я очень рекомендую его, очень полный и хорошо объясненный. Я закончил этот курс за 5 месяцев и даже получил прибавку к зарплате!

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

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

Собеседование

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

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

  1. Язык: я хотел показать своим интервьюерам, что понимаю и говорю на местном языке, но когда дело касалось технических вопросов, я быстро переключился на английский. Мой технический словарный запас на иврите все еще был очень ограничен. Я также пытался смешать иврит / английский язык, но это не увенчалось успехом.
  2. Базовые знания JavaScript: я не смог ответить на базовые вопросы, такие как Что такое замыкания в JS ?, Что поднимается в JS? или Что такое цепочка прототипов в JS? Это был мой первый большой удар в моей карьере разработчика. Вскоре я понял, что усвоил и усвоил эти знания так необычно быстро, что пропустил некоторые основы. Хорошо, я знал, как создать веб-приложение с нуля, используя JS-фреймворки, но мне все еще не хватало концептуального понимания.

Мне нужно было глубже погрузиться в JavaScript и лучше понять этот компьютерный язык. Для этого я прошел новый видеокурс по Udemy Advanced JavaScript и во второй раз записался на курс: Более глубокое понимание JavaScript. Повторное прохождение этого курса было чрезвычайно полезным: я использовал заметки, которые сделал при первом посещении этого курса, и смог завершить их и уловить больше деталей во время второго тура. знания, которых мне, казалось, не хватало, на самом деле преподавали в этом классе, я только что пропустил их в первом туре. Я также понял, что некоторые пробелы в понимании JavaScript произошли из-за того, что я практиковал JavaScript только через Angular и никогда не использовал ванильный JavaScript.

Наслаждайтесь плодами своего труда

После полутора месяцев интенсивных исследований и множества собеседований я получил новую работу в стартапе по кибербезопасности в качестве разработчика полного цикла. В компании работало 30 человек. Я собирался стать частью команды из 5 разработчиков и работать со стеком AngularJS - NodeJS - MongoDB. Моя работа заключалась в создании сквозных функций продукта. Я должен был работать в тесном контакте с разными командами, следуя приведенному ниже рабочему процессу:

  1. Команда продукта: напишите спецификации функций
  2. Команда веб-дизайнеров: создайте веб-страницы, связанные с функцией
  3. Команда разработчиков полного стека (моя команда): вдохните жизнь в дизайн и функциональность всех функций.
  4. Команда QA: обнаружение ошибок и проверка соответствия спецификациям продукта
  5. Функция находится в стадии разработки, ее видит заказчик.

Сегодня, когда я пишу эти строки, я работаю на этой работе последние 2 года и приобрел такой ценный опыт. Я был первым в очереди, наблюдая за невероятно быстрым ростом моей компании: открываю филиалы и офисы продаж в США, Европе и Азии, приобретая более 160 клиентов по всему миру, включая компании на миллиарды долларов. Мы выросли с 30 до 100+ сотрудников и дважды переезжали в новый офис. Люди часто спрашивают меня: «Вы довольны своей работой?» Я всегда отвечаю: «Мне там очень хорошо не только потому, что я работаю с невероятно профессиональной, умной и дружной командой. , разработка и продажа надежного продукта, который удовлетворяет наших клиентов. Но еще и потому, что на личном уровне я чрезвычайно вырос как профессионал и с гордостью чувствую себя частью успеха компании ».

Следующая задача

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

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

Вот уже четыре года я работаю над одним и тем же стеком по 45 часов в неделю и постоянно совершенствую свои навыки. Однако из-за любопытства и желания расширить свои навыки я провел исследование, чтобы понять, какие технологии в настоящее время используются технологическими компаниями. Затем я решил начать изучать VueJS на Udemy с Максимилианом Шварцмюллером.

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

Я собираюсь отправиться в следующее путешествие!

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