Данным постом я хочу рассказать входящим в IT после какой планки знаний реально получить оффер. Сам я получил первый оффер буквально на днях, поэтому могу чётко сказать что я знал к этому моменту. Так, читатель может получить представление о том, сколько надо знать.
И так.
HARD SKILLS
#фреймворк
1) Я знаю как устроены [Element] и его наследники. Я оттрассировал все методы ключевых классов фреймворка и знаю что происходит под капотом.
2) Знаю начинку многих виджетов. Начинку некоторых уже зазубрил. Особенно, связанных с темами.
3) Имею широкий арсенал виджетов. Включая анимацию. Давно не встречал виджеты, которых я не знаю.
4) Имею представление о том, что происходит на Render уровне => понимаю как и где вставить [Flexible]. Но сами Render объекты не разбирал.
#Теоретичекие знания
Структуры и алгоритмы. Поверхностно.
Всевозможные архитектуры.
Паттерны. Ознакомился со всеми. Не зазубривал.
#стейт менеджмент
Provider, Bloc. Есть пет-проекты и с тем, и с другим.
#data слой
SQL, floor, firestore, shared prefs,
Кодогенераторы (да, да, это должно быть в domain сущностях, не душните)
#продвинутое
Isolate, плагины, чуток rxdart.
Плагины писать не пришлось, но я изучал их внутрянку, что где как зачем.
Kotlin. Часов 100. Без мультитрединга. Но его основные достоинства \ недостатки знаю.
#серверное
http, REST API, OSI, Облака, MQTT
#дополнительно
-Знаю всякие интересные нюансы Flutter, которые не описаны в документации.
-Имел опыт с C++ => Знал что происходит на низком уровне. И что под капотом высокоуровневых языков
SOFT SKILLS
Имел несколько шабашек. Прочувствовал, что ТЗ заказчика != тому, что он хочет.
Работал в командах, где я был единственный разработчик. Остальные - дизайнеры, железячники.
Пизжу как господь (всмысле умею связать два слова и хоть как-то это интересно подать).
ПРАКТИЧЕСКИЙ ОПЫТ
2 года программирования.
Несколько соревнований\хакатонов.
Пятак репозиториев. Половина - фулстечные.
Пара расширенных библиотек.
Работа по макетам из Figma.
Flutter реализовал некоторые предложенные мною API
СТЕК (вообще, у меня IoT стек)
Flutter - Dart - клиент
NodeJS - Typescript - облака, CMS
Jupyter - Python - ML
PlatformIO - C++ - контроллер
КАК ИЗУЧАЛ
StackOverflow, Medium (Столько раз меня спасал. Жаль, из-за санкций нельзя подписаться), Habr, иссью в репе флаттера часто содержат полезные комментария от разрабов. Доки, ясен хер.
===========
Некоторые моменты настолько обязательны, что я их даже не упоминаю. Вроде git, injection, хотя бы macos виртуалки.
===========
Как искал - откликался на все jun jun+ вакансии.
Где - На habr карьере, в телеге, на hh.
Абсолютно все, кроме прокнувшей вакансии - отказы или игнор.
Одно единственное собеседование
Один единственный оффер.
===========
Итого. Войти в IT - Чистое везение. Я уже хотел бросать Flutter и уходить в нативку. Не знаю почему именно меня выбрали. Пеняю на знание низкоуровневых деталек. Командного опыта у меня не было. Коммерческого тоже.
Спасибо опытным знакомым, которые рассказали как выложиться на собесе по максимуму. Мне выпал один единственный шанс. И я его не упустил.