Блог Geek Export

От Инженера до Фуллстак Программиста за 1 Год

Основной блог
Я приехал в Финляндию учиться на инженера по автоматизации производства. Задачи, связанные с кодингом, давались с трудом. После 5 лет Самарского Университета по специальности "Гидропневмоавтоматика" у меня имелся опыт только с графическим программированием, где блоки и простейшие переключатели соседствовали с бесконечными циклами. Но и это давалось тяжело и без радости. Однажды, я даже ходил на компьютерные курсы в старшей школе, но испугался Delphi и бросил.


Изучение основ


В 2015 году, между первым и вторым курсом финской магистратуры, появилось куча свободного времени. В середине лета 2015-го года, Вконтакте попалась контекстная реклама JavaRush. Заинтересовало тем, что курс считался условно-бесплатным. А мне ни одного нормального языка программирования в то время было не известно. Открыл, начал читать и делать упражнения. Задачи показались детскими с повторами слов и строчек, которые впоследствии становились на порядок труднее. Взял из университетской библиотеки книгу "Thinking in Java", которая стала настольной. С чтением сон только улучшился, кстати. Отвлекался минимально, потому что летом из студенческого городка уезжают все, поскольку делать там особенно нечего. Так проходило лето, я каждый день программировал на Java и читал книгу. Главной радостью было то, что получалось писать консольные приложения, типа ввода-вывода имен и данных в командной строке.

К сентябрю стало понятно, что надо продолжать. В моем университете была возможность набрать предметов, связанных с программированием, хоть они и не были включены в мой учебный план. На английском преподавались только курсы по электронике и автоматике. В Европе это значит непростое программирование на C/C++. Естественно знаний в этом не было, а развиваться хотелось. В итоге нашел курс по Java, который оказался доступен только на финском. Написал преподавателю, сказал, что есть желание учиться программировать. Запрос приняли. По-прежнему продолжал заниматься каждый день на JavaRush. Тогда решился купить подписку за 100 долларов. Но в итоге это стало самой окупаемой инвестицией в самообразование.


Суровая электроника и графическая Java


Я быстро понял, что нужно расписание, по которому буду заниматься учебой. Таким образом, каждый день я приходил в университет, садился в библиотеке и занимался, иногда ходил на занятия и возвращался снова. C++ давался тяжело в сравнении с Java. Но зато финский курс был построен на самообучении. В начале похожие на JavaRush задачки, но столкнулся с JavaFX. Это фреймворк дающий инструменты создания графических интерфейсов. Тогда я впервые написал приложение под Windows. Восторгу не было предела. В том же курсе делали задание в команде, где использовали Git с BitBucket. Тут я уже и увидел результат каждодневных занятий. Программировал логику приложения и писал с интересом. Например, в одном задании парсил из xml сети кинотеатров по Финляндии, а после этого сделал графический интерфейс.

Работа с интерфейсами увела меня в веб-программирование и там открылся новый мир с версткой, HTML, CSS и JavaScript, который намного легче по сравнению со строгими типами Java. Настоящее удовольствие я получил при создании бота, которого написал на NodeJS впоследствии с развертыванием в Heroku. Рекомендую тем, кто только начинает путь в облачных технологиях и внедрении. Бесплатная часть дает создать ненагруженный сайт или бота доступным в публичной сети.

Фриланс, диплом магистра и стартапы


Также было забавно, что после полугода программирования, получилось поработать на фрилансе. Знакомая написала вконтакте, что нужен Java разработчик. В итоге парсил сайты с детской одеждой и складывал в Excel файлы. В то время я изучил такую странную для меня вещь как XPath. В итоге я сделал пару сайтов в монолитном приложении. По-прежнему, 7 дней в неделю программировал, но теперь даже за деньги, что мотивировало. И тогда же получилось запрограммировать лего-робота на C, который ездил по линии, узнавая черный цвет. Нашей командой участвовали в соревновании, чей умный девайс проедет черный трек быстрее.

Между делом, я начал писать диплом и заканчивал магистратуру. Тогда же я и начал поиск работы. Составил резюме по инструкциям в интернете и начал рассылать в компании. Получил 40 отказов. Но один случай запомнился. Компания в Берлине отправила тестовое задание, которое проверяло знания алгоритмов и структур данных. Снова пришлось учиться. Пролистав курсы, посмотрев сайт с алгоритмами, написал приложение на Java и отправил работающую программу. Эту работу получить всё же не удалось, но я приобрёл ценный опыт подготовки тестового задания.

В июне 2016 года я закончил университет, и тут мне открылись двери, которых было не видно. В сауне, как это обычно происходит в Финляндии, я встретил знакомого, который собирался запускать бизнес. После этой встречи летом 2016-го года я стал участником стартап инкубатора. Мы втроём писали приложение на Android. Проект получил государственное финансирование на 2 года, и несколько наград на локальной стартап сцене. Не останавливался в поиске "нормальной" работы, но со временем стало очевидно, что надо менять резюме, поскольку оно не служило моим целям стать программистом, работодателей смущало отсутствие профильного образования и опыта работы.

После новой порции отказов меня позвали на собеседование. Снова решал тестовое задание с алгоритмами. Решение понравилось и бросив дела я поехал в столицу Финляндии. Составил блокнот, в котором записывал ответы на типичные вопросы HR. Например, кем хочется быть через 5 лет и так далее. Это помогло  морально, да и стало легче отвечать на такие вопросы. Я пошел на собеседование с трясущимися коленками, но в основном мне задавали вопросы по Java Core, которые оказались знакомыми после JavaRush.

Дорога в светлое будущее


Так, осенью 2016 я начал работать в своей первой IT компании в роли Software Integration Developer. Там я писал код для монолитного приложения на Java 7, перестал бояться общения с командной строкой удаленных серверов по SSH на чистом Bash, поработал в международной команде, писал код для фронтэнда мобильно оптимизированного веб-приложения с бэкэндом по REST. Далее я программировал на Java и всё больше уходил в мир NodeJS/Typescript, в прошлом году я сдал экзамен на сертификат AWS, научился культуре DevOps, где автоматизировал развертки приложений в облаке. На сегодняшний день, я твердо уверен в том, что меня ждет еще больше новых багов и интересных решений впереди.

Выводы:

  • Постоянно учиться
  • Заниматься хобби-проектами
  • Сделать лаконичное и продающее резюме
  • Составлять заметки по техническим темам
  • Отточить навыки собеседования с HR по телефону и вживую

Понравилась статья? Подписывайтесь на наш канал в Телеграме. Вы можете отправить свое резюме в Geek Export на бесплатное ревью.