Я работаю Web FullStack разработчиком почти 10 лет (точнее 9 лет и 8 месяцев на момент 01.01.25).
Уже что-то знаю и умею. Постоянно работаю с фронтом, версткой, js фреймворками, бэкендом, докером, постгресс, автотестами, REST API и немного касаюсь CI/CD. Успешно проектировал архитектуры web приложений, собеседовал и онбордил разработчиков, обучал и сопровождал стажеров с джунами, помогал проектировать бизнес логику, настраивал аналитику, мигрировал приложения на другой стек, делал геораспределнение, взаимодействую с менеджерами и маркетологами, переодически подменяют тимлида во время его отпусков. На фрилансе брал и закрывал пару проектов в роли техлида dev команды, которую еще надо было собрать. Ради кругозора изучил базу нескольких смежных IT профессий и потренировался на реальных проектах в дизайне, веб аналитике, настройке рекламы, маркетинге, ручном тестировании, PM-стве и конвеерном создании контента. А еще скептически отношусь к ИИ, типа «это же просто функция с кучей параметров, как она может нас заменить? Просто очередной хайп, лучше хомяка потапать».
Беспокоиться о своем трудоустройстве с подобным опытом не приходится, даже в текущих условиях разворота IT рынка труда от соискателя к работодателю. Это мой «профессиональный портрет» ровно год назад.
В начале 24-ого года менеджмент в компании упорно начал талдычить про генерацию кода и повышение эффективности отдела разработки. Предлагать разнообразные интеграции chatgpt, абсолютно безуспешно. Тот же Copilot существует относительно давно, но все равно на практике пригоден только как ИИ автодополнитель кода (не сильно полезнее эммита и больше похоже на T9) и генератор базовых шаблонов кода, которые актуальны только на полностью новых проектах и очень легко ищутся на github в виде стартовых репозиториев. Короче на продакшен проекте больше игрушка, чем инструмент.
Наступило лето 2024, август, менеджеры сильно переживают за kpi про автоматизацию разработчиков. В медиа пространстве начинается бурление «смотрите, оно правда пишет рабочий код!». Сначала на глаза попадается cursorAI, его создатели активно вкладываются в маркетинг, ютуб и тематические блоги просто забиваются восторженными обзорами блогеров. Ставлю это ИИ чудо и … не могу поверить происходящему … оно как будто читает мысли, предлагает дополнения большими кусками кода и генерит целые файлы по текстовому запросу опираясь на контекст репозитория. Магия, не иначе. На самом деле вышел апгрейд Sonnet, на основе которого стало возможно делать подобные инструменты.
И мы в команде начали экспериментировать. Спустя 2 месяца уже генерили абсолютно все SQL запросы, автотесты, документацию и однофайловые api методы (с минимальными правками). К этому времени нормально кодить научились практически все большие LLM модели (даже gigachat могЁт). Ко мне в руки попал опенсорсный плагин Cline, который можно легко кастомизировать под себя и подключаться к разным моделькам, даже локальным (привет безопасность и закрытый контур). Считаю этот инструмент абсолютным топом, на голову выше вообще всего, что есть в открытом доступе.
К этому времени пришло осознание, что будущее за ИИ разработкой, хоть в это и мало верится. К этой теме еще вернусь в конце текста. Я начал вникать в тему ИИ, ML и Data, формируя в голове некую базу. Параллельно в компании попросился реализовать ИИ поиск. На практике эта задача превратилась в запуск простых ETL процессов, создание общего стандарта хранения данных, векторному хранилищу и запуску RAG системы, на которой в итоге работает AI search (здесь должен быть мем «дел на 15 минут, зашел и вышел»). Под конец года удалось это выкатить в продакшен. Кстати, все сделано на Node и Postgre, ибо пока что я не Гарри Поттер и со змеями не дружу. По дороге пришло понимание, что для повышения точности надо делать гибридный поиск (смесь векторного и полнотекстового), полученный результат дополнительно ранжировать, фильтровать «не качественный» контент в базе и т.п.
Предварительно запланировались, что займусь допилами ии серча в следующем квартале. А еще в Q1 дорвусь до работы с данными и аналитикой (у нас есть своя кастомная аналитика, тоже мое горе детище), Airflow и Pandas ждите меня.
В декабре решил оценить свои силы в AI/ML, обновил резюме и начал ждать приглашений на собесы. А HR даже смотреть меня не стали. Обратился к своему старому знакомому @rich_developer за консультацией. Выяснилось, что за 8 лет (именно столько я не менял место работы) IT рынок труда сместился от соискателя к работодателю. Все резюме должны сначала пройти по фильтрам и набрать нормальный score балл и пока этого не произошло всем пофиг на мои 10 лет опыта. После несложной «подгонки» пошли просмотры рекрутерами и приглашения на ML собесы.
Суммарно я прошел 8 собесов. Сформировал понимание как сейчас устроен рынок ИИ разработки, на какие категории можно разделить ИИ девелоперов, как отличить по вакансии какая категория знаний нужна (компании в своем большинстве сами этого не знают, рынок дикий), какие конторы хорошие и перспективные в этом направлении. Было сложно и стрессово, особенно от того, что абсолютно не представлял о чем будут спрашивать, просто рассказывал свой опыт и на огромное количество незнакомых мне вопросов честно отвечал «не знаю про это, только слышал и вскользь читал».
В итоге получил 3 офера: на мидла AI, джуна ML и Web Architect (собес был сломан и превратился в обсуждение архитектуры проекта работодателя, где мне явно было что сказать). Два отказа с формулировкой «оверквалифайд», интервьюеры восприняли мой свитч стека как дауншифтинг, ну мне так кажется. Две компании просто молчат. И еще в одном узбекистанском бигтехе мне с порога начали задавать вопросы по обучению ML моделей и я ожидаемо «поплыл», закончили собес досрочно по моей же просьбе (считаю это самым полезным событием, я явно оторвался от реальности, начало казаться, что могу выезжать на прошлом опыте и поверхностных знаниях, но это не так). Больше в бигтехи не ходил, а то вдруг запишут в стоп-списки и потом вообще никуда не возьмут.
Что я для себя усвоил про обычные СНГ IT компании, ну это которые не входят ряды Сбера, МТС, Алиф и тп. Под понятие AI developer они подгребают 4 категории:
- ИИ Интеграторы (интеграция моделей в продакшен проекты)
- AIOps (настройка инфраструктуры)
- Classic ML (разработчики моделей)
- Data инженеры (сбор и обработка данных)
Все фирмы вообще не понимают, что это как будто искать 1С + Java + devops в одном лице. Надо на подлете по вакансии определять кто нужен, потому что везде название «AI Dev», а ждут разного. Половина таких работодателей «ищут первого ИИ разраба» и вообще не понимают что от него хотеть и ждать.
Так вот, после провального собеса в Алиф, я понял сколько всего надо выучить и закрепить практикой (тобишь, превратить теорию в навык), на ближайшие 3 месяца закрыл походы на собесы, буду заниматься самообразованием. Свитч стека оказался сложнее, чем казалось сначала. Во-первых, я не писал на Python — главном языке для AI/ML/Data. Во-вторых, мне пришлось вернуться к математике, которую не касался с университетских времён. Алгебра, статистика, теория вероятностей — всё это приходится изучать практически с нуля, вообще ничего не помню. Сейчас начал освоение базового стека: Pandas, NumPy, scikit-learn. Еще понял, что машинное обучение — это не просто про алгоритмы. Это про понимание «информации». Поэтому собираюсь вложить время в изучение анализа и обработки данных.
Мой опыт как веб-разработчика должен помочь: немного умею проектировать архитектуру приложений, знаю о системах хранения данных, в общем понимаю как интегрировать ИИ в реальные проекты.
Про свою методику обучения ИИ стеку напишу отдельный пост, сейчас уже устал и скоро перевалю через 8к символов (2 поста в TG).
А сейчас я работаю Web FullStack разработчиком уже десятый год и последние восемь лет не менял компанию.