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

Irina Lim
7 min readSep 7, 2020

--

Frontend & Flutter

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

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

Кто я?

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

Исходные данные:

  • Высшее образование по специальности “Инженерная защита окружающей среды”
  • Научная работа в сфере гидрологии
  • Опыт работы инженером-проектировщиком
  • Магистратура по специальности “Environmental planning” в Берлине

Почему программирование?

  • Возможность работать на английском языке. Мой уровень немецкого достаточно далёк от профессионального, а вакансий для англоговорящих намного больше в сфере IT.
  • Высокие шансы трудоустройства. Вакансий много, всегда можно найти что-то, что тебе по душе: маленький стартап или большую известную компанию.
  • Высокие зарплаты (относительно). Конечно, речь не о миллионах, но для хорошей жизни достаточно.
  • Хорошие условия работы. Сейчас во многих компаниях гибкий график работы и разные плюшки. Компенсация проезда, фитнеса, опачиваемые конференции, субсидированные ланчи — всё, чтобы угодить работникам.
  • Мой муж — программист. Он ещё в 2013 убеждал меня заняться программированием и всегда поддерживал. Именно Юра разработал программу обучения и составил моё первое резюме.

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

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

Путь в Frontend

Frontend для меня выбрал Юра. На тот момент я не имела никакого представления о разных сферах IT. Я очень визуальный человек, и поэтому frontend мне отлично подошёл. О выборе я не пожалела.

Основы HTML и CSS

Курс МИФИ и Яндекса на Coursera.

Отличное введение в вёрстку, которое заставило меня полюбить HTML&CSS. Интересные задания и понятные объяснения.

JavaScript, часть 1: основы и функции

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

Тонкости верстки

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

JavaScript, часть 2: прототипы и асинхронность

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

Книги Jon Duckett

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

  • HTML & CSS я взяла в бибилиотеке и бегло пролистала. По сути после курса Яндекса в ней нет необходимости. Только если вы хотите что-то быстренько подсмотреть. Да и в интернете быстрее найти информацию.
  • Эта книга помогает понять самые основы JavaScript и JQuery. Мне особенно нравятся иллюстрации и объяснения. Когда я что-то не понимала в документации, то открывала эту книгу за более простым и наглядным примером. Но всё равно найти в интернете намного проще.

freeCodeCamp

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

Я прошла Responsive Web Design Certification довольно быстро и легко. Особо ценным для меня был блок по Responsive Web Design внутри курса, так как курс Яндекса не уделял этому внимания.

JavaScript Algorithms and Data Structures Certification. Этот курс действительно научил меня JavaScript! Я рекомендую знакомиться с JavaScript именно с него. Многие из прежложенных заданий втречаются на собеседованиях. Я к нему ещё много раз возвращалась, когда искала работу.

Из Front End Libraries Certification я начала только React и Redux. И если с React всё было достаточно понятно, то с Redux у меня возникли сложности. Поэтому я стала искать другие курсы, так и не закончив сертицикацию.

Курс по Modern React with Redux by Stephen Grider, Udemy

Стивен очень подробно объясняет основы и нюансы, предлагает отличные диаграммы для лучшего понимая. Он лучше всех может объяснить, что такое “this”, как работают hooks, context. Из недостатков: никаких самостоятельных проектов для тренировки, нет возможность скачать слайды.

Nanodegree Program ‘Become a React Developer’, Udacity

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

Я прошла части React, React-Redux, ES6, Career Pernonalized Feedback. Последняя часть содержала много полезной информации о поиске работы, резюме и собеседованиях.

Version Control with Git, Udacity

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

JavaScript 30 (Vanilla JS), Wes Bos

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

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

React Testing with Jest and Enzyme

Этот курс я прошла уже на работе, но считаю, что он будет очень полезен для начинающих. В курсе подробно и с хорошими примерами рассказано о тестировании в целом, работе с Jest и Enzyme и даже немного про React, React-Redux, Hooks, Context. Мне нравится, как Бонни всё раскладывает по полочкам, и её полоэительный настрой!

Мобильная разработка

В мобильную разработку меня подтолкнул пойти Юра, вдохновившись презентацией Flutter на конференции. К тому же в тот момент нам нужно было мобильное приложение для проекта. Flutter был выбран как перспектиное направление, позволяющее писать приложения дла Andriod и iOS одновременно. Сходство Dart с JavaScipt добавляло привлекательности.

Flutter & Dart by Paulo Dichone, Udemy

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

Dart and Flutter: The Complete Developer’s Guide by Stephen Grider, Udemy

Этот курс я проходила выборочно, так как мне нравятся детальные разборы Стивена. В особенности меня интересовала часть про RxDart и вещи, которые я не до конца поняла в предыдущем курсе.

Поиск работы

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

Работу я начала искать в октябре 2019 через Linkedin. Искала вакансии как мобильного разработчика, так и Frontend. На тот момент на Flutter работали единичные компании, которые хотели людей, которые уже всё могли. Поэтому мы переключились в поиске на Frontend, с которым было больше возможностей.

Я отправила больше 50 откликов на вакансии. Прошла около 5–7 видео-интервью и получила 2 предложения. Сейчас я могу сказать, что мой подход был неправильным. Но о том, как правильно искать работу, лучше спросить профессионалов.

Приглашение на работу в свою нынешнюю компанию я получила в конце января и вышла на неё начале марта (мне хотелось насладиться подольше свободной жизнью). Сейчас я работаю Junior Software Engineer в ImmoScout24 и очень люблю свою работу и коллектив. Конечно, на перечисленных курсах моё развитие не остановилось, и я продолжнаю учить что-то новое каждый день. Но мой пример показывает, что даже с базовыми знаниями и символическим опытом работы можно устроиться в IT.

Желаю вам удачи!

--

--

Irina Lim
Irina Lim

Written by Irina Lim

Заметки о путешествиях. Воспоминания меркнут, фото теряются, а блог — вечное напоминание о них!

No responses yet