Перехід з бекенду в АІ інженера
Всім привіт.
Зараз з’являється багато тем що програмістів потрібно буде менше через АІ, гроші інвестуються тільки у ті стартапи Долини які займаються АІ.
Я скептично відношусь до того що інженера може замінити АІ(хоча в середньо статистичній команді найслабшого дева можна замінити вазонком і перформенс тімки не впаде), тому все ж краще бути готовим до всього. А так як в АІ- пов’язаних компаніях інвестують купу грошей, то чого б не свічнутись туди (якщо будуть проблеми зі звичайним формошльопством).
Думаю буде щось схоже(в менших масштабах) відбулось коли появились клауди, тепер є куча адмінів з модною назвою девопс, які займаються автоматизацію того що до появи клаудів і не треба було автоматизовувати. Та і то не на всіх проектах, на деяких девопси ресетають паролі від дженкінса і ec2 ребутають. Адміни які не змоги/схотіли осилити клауди та інші «девопс тулзи» вимерли або перейшли на ЗП в гривнях.
Тому моє питання, чим конкретно займаються АІ інженери, які є підвиди і як туди свічнутись з бекенд інженера (5+ років досвіду, Java/NodeJS, AWS).
Я ± розумію як працює проста модель на кілька параметрів, як множити матриці і до чого вони там, колись проходив курс на курсері від Andrew Ng, щось пам’ятаю про градієнтний спуск з універу, тому підівчити теорію не буде проблемою.
Мене цікавить що саме роблять рядові АІ інженери у нас і що для цього треба знати, L6 в OpenAI мене не цікавить. З того що я читаю, все звучить дуже теоретично або не потрібне для більшості компаній (тобто хз що там може робити ціла тімка з АІ інженерів, загнати дані в якийсь AWS сервіс і отримати рекомендації по схожості може і умовний толковий дев сіньор).
Для прикладу, відповідь на моє питання для бекенд Java виглядало б так:
— зазвичай дев працює або в крос фанкшинл команді по скраму де є лід, 2 бекенд дева, 2 фе дева, 1 тестер, або в тімці бекенд девів
— є РО, який придумує що треба зробити. Завданням бекенд дева є розпитати в нього що треба зробити, зробити тех дизайн та імплементнути це. Наприклад, сказано що треба показувати список юзерів. І мати можливість фільтрувати, добавляти, видаляти, едітати. Завдання дева задати уточнючі питання щоб взнати що по дефолту сортувати по імені, модифікувати можна не всі філди, імейл це обов’язкове поле а решта опшинал і т.п.
— Тоді дев пише SQL скріпти щоб створити таблиці в БД, має знати про one to many, many to many залежності, нормалізацію БД. Далі дев мапить Http реквести типу Get щоб читати, Put щоб апдейтувати, і т.п. Тоді імплементує це юзаючи фреймворк який юзають на проекті, тобто створює контроллер, сервіс, репозиторій логіку (зазвичай все з коробки працює). Якщо треба то інтегровує 3rd party білбіотеки щоб слати імейли, меседжі в інші системи. Ще пише на це тести. Тоді заливає на тест енв, де це все тестує тестер. Тестер відкриває баги, дев це фіксає.
— Фічу демають, РО каже що все гуд і тоді заливають на прод (зазвичай це робить девопс).
Зі знань які треба мати — мова програмування (Java), фреймворку (Spring), знання як працювати з БД (джойни, індекси), що таке REST, http реквест, вміти писати юніт тести, юзати IDE (як дебагати) і користуватись гуглом (типу вміти написати «how to implement pagination java spring»). Все решта (меседжінг, патерни, graphQL, докер, клауди) з досвідом з’являється.
Тобто мене цікавить чи АІ інженер працють в командах, звідки вони знають що треба зробити, які зазвичай завдання, і які практичні таски вони роблять, як виглядає стандарний робочий день, що треба щоб пройти співбесіду.
Як план Б, можна вивчитись на сантехніка чи будівельника, але там треба працювати)
Пов’язані лінки
30 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів