Куди котиться вектор розвитку IT-інженерів? Або просто про наболівше

Всім привіт! Мене звати Гліб, і я ідентифікую себе як Front-End інженер. У мене було чотири роки командної розробки, щоб трохи побарахтатися в цій індустрії і трохи зрозуміти, що до чого.

Перш за все, хочу повідомити, що я вперше пишу щось подібне, і за стіною від мене сусід вже шосту годину свердлить стіну. Тому в цьому топіку деякі речі можуть здатися доволі різкими чи просто суб’єктивними. У будь-якому випадку, вставлю це тут: «Всі персонажі вигадані, і будь-яка схожість з реальними людьми або подіями є випадковою». Зі вступом закінчили, можемо рухатися далі.

Зараз я особливо нічого пояснювати не буду і просто наведу приклад, після якого ви зрозумієте, про що ми будемо розмовляти. Цей приклад буде написаний не з моєї точки зору, а з точки зору сучасних тенденцій.

Ситуація: від PM-a до інженера спускається тасоска в Jira. Інженер вперше в житті її читає, перетягує до колонки «In progress», звідти в інші колонки і зрештою в колонку «Done».

1. Чи вирішує ця таска бізнес-проблематику?
— Можливо.
2. Чи розуміє цю бізнес-проблематику інженер?
— Скоріш за все, ні. Скоріш за все, він взагалі не знає, для кого і для чого це робилося з точки зору бізнесу.
3. Чи професійний цей інженер?
— Ні. Це просто кодер, яких багато.
4. Але ж він знає прототипи і знає про всі 3 тисячі методів, як можна відцентрувати блок в HTML/CSS.
— Тоді це професійний інженер. Він же має такі глибокі концептуальні знання!
5. І він професійний інженер, навіть при тому, що він ніколи не використовував всі ці речі?
— Так, це професійний інженер!
6. І навіть при тому, що він запитав всі ці речі за 10 хвилин до співбесіди у GPT?
— Так, це професійний інженер!

Ось і весь приклад. Я старався написати його якнайближче до дійсності. Щоб рухатися далі, я задам одне питання.

Хто такий IT-інженер? Тепер зупиніться після цього речення і дайте собі відповідь.

На мою думку, IT-інженер — це людина, яка в першу чергу розуміє бізнес-проблематику. Під бізнес-проблематикою я маю на увазі такі питання: Що відбувається з бізнесом? Що робить цей бізнес? Куди він рухається? Яку проблематику вирішує нова бізнес-вимога від PO?

Якщо інженер може відповісти на ці питання, то це цінний кадр у бізнесі. І це вірно! Коли я входив у IT, то всі завжди казали, що інженер повинен бути не просто кодером. І це теж вірно! Але зараз всі ці цінності помінялися на периферійні цінності. Під периферією я маю на увазі, наприклад, технології.

До цієї теми ми повернемося трохи згодом, але зараз я хотів би продовжити свою загальну думку. Коли змінюються цінності, то змінюється і вектор розвитку. Інженери зараз фокусуються не на тих речах, які дійсно потрібні для інженера. Навіть якщо брати чисто технічну експертизу, то на співбесідах все рідше можна почути питання про ООП, архітектуру, патерни, підходи. Сучасні «сеньйори» навіть не чули про книги дядюшки Боба чи Еріка Фрімена, зате вони дивляться сучасних IT-блогерів, які якраз і впливають на зміну цього вектору своїми (дуже часто сумнівними) курсами і підходами в них.

Розкриваючи далі тему бізнес-проблематики, задайте собі питання: Як ви підходите до реалізації певного завдання? Якщо перше, що вам прийшло на думку, це те, як ви будете писати код, то у мене для вас погані новини.

Уявімо такий приклад: до вас як до інженера прийшов PO чи PM і каже, що треба додати певну фічу до існуючого модуля. Ваші дії?

Ось мої дії: я буду задавати питання, а потім знову задавати питання.
— Навіщо зараз це робити? Яку проблему вирішує ця фіча?
— Це core фіча?
— Як ця фіча повинна корелюватися з іншими фічами?
— Для якої категорії користувачів ця фіча?
— Як ця фіча повинна себе поводити в специфічних ситуаціях?
— Який вигляд повинна мати помилка при невдалому виконанні фічі?

Цей список питань можна продовжувати довго, і далеко не у всіх випадках доцільно задавати всі ці питання. Проте я хотів показати, що всі ці питання важливі, і всі вони не пов’язані з конкретною імплементацією (тобто з кодом). Можу з упевненістю сказати, що на фоні всіх технологій не буває дійсно складних задач на імплементацію. Зараз складність задачі визначається якраз-таки складністю бізнес-процесів, вкладених у цю задачу.

Дослідити всі ці бізнес-процеси і зрозуміти, як правильно інтегрувати їх у вже існуючу систему — ось що визначає складність поставленої задачі, а не те, скільки рядків коду ви написали і скільки файлів створили. Коли після імплементації завдання воно працює не так, як задумувалося з бізнесової точки зору, то це не тільки прокол PO чи PM-а, а й ваш теж. Це показує, що ви не впоралися у повній мірі з своєю експертизою. Дуже часто після таких випадків всі кості летять на інженерів. Це далеко не завжди справедливо, але все ж таки доля правди в цьому є.

Для себе я виявив одну ознаку, яка дуже добре відповідає на те, чи впоралися ви зі своєю експертизою, чи ні. Це коли ви чуєте у відповідь на свої запитання таку фразу: «Ohhh, yes, it is really good question. I must investigate this addition.» Це означає, що ви надали дійсно цінну експертизу.

На цьому моменті я буду завершувати тему бізнес-проблематики. Для мене вона є визначальною у питанні оцінювання професійності інженера.

Але далі я хотів би розкрити тему технічної експертизи інженера і не панацеї під назвою технологія. Технічна експертиза інженера, як на мене, є набагато менш важливим аспектом, ніж бізнес-проблематика, але вона все одно важлива.

Якщо подивитися на сучасні методики вивчення програмування, то ми побачимо, що вони вчать кодити, але не вчать кодити правильно. Всі забули, що таке патерни і чому їх важливо використовувати, всі забули, що таке якість, всі забули, що таке взагалі код. Кожен самопроголошений IT-вчитель ліпить якісь свої нові підходи, а потім несе це в маси. Сеньйори вже не сеньйори, а на ринку все частіше почали з’являтися позиції типу «principal engineer», щоб хоч якось підняти планку кандидатів. Компанії почали розуміти, що краще найняти трьох джунів, ніж одного сеньйора, тому що різниця в якості не буде сильно критичною.

Такого не повинно бути, шановні. Останніх два місяці я ходжу по співбесідах і бачу, що компанії готові платити сеньорні зарплати для верстальників, бо деякі компанії прямо кажуть, що навіть мідли не можуть справитись з звичайною версткою.

Воно і не дивно, так як у нас градація інженерів визначається тим, чи знає інженер прототипи, контекст, проміси чи ні. Всі знають, що проходити співбесіду і працювати на реальному проекті — це взагалі різні речі. Але ж ця проблема не закінчується тільки на співбесідах. Інженери дійсно позабували основні концепції програмування. І як на мене, це відображається навіть на технологіях. Ви бачили, що презентують Next.js в своїх останніх версіях? Я вам дам картинку.

Технології і команди, які їх розробляють, також почали ліпити якусь свою пургу і нести її в маси. І це зустрічається все частіше. Я можу висловлюватися як консерватор, але всі кращі практики вже давно були придумані і описані. Недоцільно вигадувати щось нове, щоб замінити те, що і так вже добре працювало. Ви можете заперечити, сказавши, що реалії розробки змінюються, відповідно змінюються підходи і відповідно вектор, про який я вже писав з самого початку. Але не зовсім так! Реалії розробки змінює бізнес, а технології тільки підлаштовуються під бізнес. Що такого концептуального змінилося в бізнесі, щоб потрібно було вигадувати нові концепції розробки?

Повертаючись трохи назад до методу градації інженерів, на даний момент професійність визначається роками досвіду і тим, скільки технологій він знає і як добре. Як я вже з іронією писав до цього, професійність визначається тим, чи знає інженер прототипи чи ні. Чому прототипи? Мене просто задовбало це питання на співбесідах, тому що воно зустрічається майже завжди.

  1. Чи потрібні прототипи в 2024?
    — В 99% випадків — ні, не потрібні.
  2. Чи треба їх знати?
    — Ну, бажано було б.
  3. Чи визначає це професіонала?
    — Чи визначає професійність хірурга те, що він може зробити операцію з закритими очима?
    — Ну, мабуть, що він професіонал, але це дійсно та професійність, яка вам потрібна?
    — Ви збираєтесь пропалити цьому хірургу очі і поставити за операційний стіл?
    — Якщо ні, то це не визначальний фактор.

Я можу з упевненістю сказати, що майже будь-яке технічну задачу можна виконати за допомогою стандартного набору інструментів тієї чи іншої технології. Якщо при імплементації задачі на React вам потрібно використовувати прототипи чи якесь складне замикання, то треба 10 разів подумати, чи правильно ви взагалі підійшли до реалізації цієї задачі.

Я вже починаю ходити по колу, тому я буду закінчувати. Наостанок я хотів би сказати, що все це по суті моя одна велика суб’єктивна думка. Я не вважаю себе професіоналом в цій сфері і не хотів ставити під сумнів ваш професіоналізм.

Я дуже чекаю вас всіх в коментарях. Мені дуже цікава ваша думка з цього приводу і те, чи бачите ви взагалі в цьому проблему. Обіцяю, що буду поважати думку кожного, тому у відповідь прошу теж саме.

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному0
LinkedIn

Найкращі коментарі пропустити

У мене теж був період таких думок, коли я був десь на рівні стронг мідла і потім перейшов на позицію сеніора. Типу «Я ж досвідчений спеціаліст, а не джун якийсь! Я повинен мати більш комплексне бачення, я маю вкладати душу й тіло в проєкт, над яким працюю!»

Але потім цей юнацький запал пройшов і настало корпоративне прозріння — гроші всьому голова. Інвестори вкладаються у бізнес, щоб отримати прибуток. СЕО та інші С-левел менеджери закривають план, щоб отримати річний бонус. Маркетологи і сейлзи залучають нових клієнтів щоб бізнес був ще більш прибутковим і т.д. І в усьому цьому вареві грошей є гвинтики базового рівня — ІТ-інженери, які власне і роблять продукт, який потім продають сейлзи, рекламують маркетологи, по якому виконують план С-левел менеджери і на якому наварюють гроші інвестори.

І так як ми, інженери, в типовому аутсорсі не отримуємо частину прибутку, не отримуємо річні бонуси, не отримуємо відсоток з продажів і т.д., а просто працюємо за фіксовану зп — то чи має сенс рвати дупу, вкладати емоції в усе оце, замість того, щоб просто робити що кажуть? Хочуть пофарбувати кнопку Cancel у рожевий колір — будь ласка. Хочуть додати фонову музику на сайт — без проблем. А для вкладання емоцій існують персональні проєкти та інші справи, навіть не пов’язані з ІТ. Не знаю хто як, а особисто я заробляю в ІТ гроші для реалізації власних планів, для мене це головне — моє життя поза роботою. Якщо це робить мене непрофесійним інженером — то й пофіг)

На мою думку, IT-інженер — це людина, яка в першу чергу розуміє бізнес-проблематику. Під бізнес-проблематикою я маю на увазі такі питання: Що відбувається з бізнесом? Що робить цей бізнес? Куди він рухається? Яку проблематику вирішує нова бізнес-вимога від PO?

Ви це серйозно?! За свої десятки років на галері яких я тільки проєктів не бачив.
Ось, наприклад як буде сформульована фіча з фінтех: «Треба додати розрахунок НДС для фючерсів які створені для майбутнії дивідендів з облігаційних опционів.» Аби тільки розуміти більшість термінів фінтеху, не кажучи вже про те, як розраховуються дивіденди, податки, ціна продажу опціонів і таке інше — треба років 5 вчитися у ВУЗі.
Або інший проєкт: система яка зберігає ультразвукові знімки, аналізи і іншу медичну інформацію. І вам треба заімлементити калібрування ультразвукового сканера по 120 параметрам. Більшість слів які вам може розказати доктор про цю фічу взагалі будуть латиною!
Та навіть просто банальний інтернет-магазин. Чи розумієте ви нюанси оподаткування у різних країнах?
Так, непогано дещо розуміти у предметній галузі проєкту. І якщо ви пропрацювали на ньому декілька років — то зможете відрізнити, скажімо, ESG — метрики, які впливають на карбоновий слід (це — з екології, був і такий проєкт).

— Навіщо зараз це робити? Яку проблему вирішує ця фіча?

Уявіть що не-технічний замовник приходить до вас і просить пояснити чому ви вважаєте що рішення для логіна юзірів, яке ви заімплементили буде безпечним? Спробуйте йому пояснити про RSA, цифровий підпис, JWT токени, SSL, CORS, 2-факторну авторизацію та усе таке.
Єдина ситуація, коли ІТ-інженер справді може добре розбиратися у предметній галузі — це коли він багато років працює на ПРОДУКТОВУ компанію! Він може не знати фінтеха чи медицини — але він має чудово розбиратися як працює продукт, який він розробляє. І так: тут він може дискутувати з користувачами цього продукту на предмет як вони його використовують і які ще фічі їм потрібні. Але усе одно це не робить його бізнес-аналітиком і він аж ніяк не підкаже замовнику як тому краще робити його бізнес.
Для цього існують окремі спеціалісти: які спочатку добре розберуться у бізнесі замовника, а потім запропонують як провести цифрову трансформацію його бізнесу таким чином, аби він від цього отримав прибуток. Але це не ІТ-інженери і вони розмовляють зовсім іншою мовою.

Я вам як engineering manager з продуктової компанії скажу, що якщо вас будуть питати про кожну фічу, яку планується додати, ви почнете розказувати іншу історію під назвою «в мене немає часу кодити через кількість мітінгів»
В нашій компанії ми даємо змогу розробникам лідити якусь фічу і впливати на неї. Але як показує практика розробники це роблять один-два рази і потім повертаються до «отримав таску і таскаєш її туди сюди в Jira»
Задача розробників — кодити вже обговорену фічу з визначеними вимогами. Для всього іншого є інші позиції в компанії. І в реальності все трохи по іншому ніж ви описуєте: у розробника є можливість повпливати на фічу мінімально під час обговорення дизайну. І коли він або вона отримує задачу в Jira, вона вже була обговорена детально на рефайнменті.

Навіщо зараз це робити? Яку проблему вирішує ця фіча?

Не дуже розумію як розробник може задавати це питання, коли він не бачить всієї картини. Коли до вас приходить шось в продуктовій компанії, вже давно 100 разів обговорили навіщо і яку проблему ми вирішуємо. Бувають виключення коли CEO захотів шось реально дивне і ніхто його не може відговорити від цього, але це рідкість

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Вас там що матрицею скілів побили?
Ні, ну ладно ейчари подібну фігню пишуть — їм треба жоводити свою потрібність, ви то навіщо оцей галерний булшіт на вуха чіпляєте собі?
Хоча так.. 4 роки досвіду... всі там була.
Не переживайте, скоро пройде або в менеджери підете.

На мою думку, IT-інженер

— от тут основна проблема.
В іншому місці (про станій підкаст) — я вже піднімав цю тему — ...тож...

Яка б не була гарна і поважна Ваша думка, «інженер» — чітко формалізований термін, котрий має чітке означення.

Інженер — це людина, котра в своїй роботі використовує «інженерний підхід».
«Інженерний підхід» — теж досить формалізований та виписаний термін термін...
Раджу подивитися...

Так от — по вашій темі з вашими прикладами.

Якщо людина знається на певній технології — так то «технік», а не обов’язково зразу «інженер».
І так, на нашому слензі ми часто-густо «техніків» називаємо «кодерами».

У вашому прикладі з новим завданням.

Вам прийшло нове завдання.
Які дії від вас вимагає «інженерний підхід»?

1. Перечитуєте завдання та встановлюєте — чи є воно чітким, чи існують певні моменти, котрі можуть бути вами трактовано не правильно, не точно, містять багатозначність.
Якщо таке є, то з’ясовуєте — з ким саме ви можете однозначно уточнити ці моменти.

Закон Мерфі: «Якщо шось може бути зрозуміло не правильно, воно буде зрозуміло неправильно...»

2. Встановлюєте «пов’язаність» («coupling») з іншими системами (іншим кодом, модулями, функціоналом, тощо). Встановлюєте. чи потрібні зміни там, чи можливі та т.п.
У вашому варіанті, наприклад, треба на бек передати додаткові параметри, не факт що вони можуть бути реалізовані чи що будуть реалізовані найближчим часом (зірвавши вам весь естімейшн по тасці).

При потребі, комунікуєте з тим, хто відповідає за те. Чи, можливо, кого треба поставити до відома, що будуть певні зміни (коли інша система використовує ваш функціонал)...

3. Встановлюєте варіанти реалізації, приділяючи головну увагу плюсам, мінусам, ризикам, естімейшн, тощо.
Тут головне питання — чи можливо без зайвих ризиків реалізувати задачу таски чи, можливо, потрібен певний «investigation», PoC чи подібне...
От тут важливо зразу приділяти увагу основним принципам сучасного програмування, таким як KISS, DRY, YARNI, SSOT та т.п.

Також на цьому етапі важливо обрати варіант з врахуванням «як далі це буде тестуватися і наскільки точно це може бути протестовано».

По останньому пункту «з життя» — коли років десять назад наші «фронт-енд» відписали гарну «багатотактову» кнопавку «логін» на Swing, а «наші друзі з Індії» не змогли її правильно протестувати, то нам бізнес розповів, що «десять хвилин» ця кнопка не працювала (поки не відкатили апдейт) і 10 мільйонів клієнтів не змогли залогінітися, через що оціночно вийшов збиток більше $! млрд... :) ..цікаво, що проблема оказалась на нашій стороні — стороні бекенда (Cassandra DB вже працювала зз мікросекундами, а тодішня джава — тільки мілісекундами. Власне, тоді ми і відписали пакет Atomic Time, який був актуальним поки не вийшла нова джава... )

4. Коли все попереднє ок, виконати завдання.

Далі вже по принятій схемі — або ставити «комплііт» і бігто до QA, чи дочекатися вдалого проходження тестів, і лише тоді сставити «компліт».
Важливо по максімуму допомогти в тестуванні — «QA-інженер — друг інженер-програміста. Чим більше він знайде проблем — тим менше потім Ви матимете „мила“...»

Варіант «дан» теж як у вас прийнято — чи то по завершенню спрінта, чи то пісдя релізу, чи ще як..

Це так ..по темі «інженерії» загалом. Описане демонструє різницю між «техніком» та «інженером».

а куди воно все йде... ...

от мене, як учасника опен соурс спільнот «JHipster», «Apache Kafka» та «TensorFlow» розсмішило в минулому підкасті, колю людина заявила, що «архітектор — то не інженер».
«Моделювання» загалом та «моделювання ситуації» в частності є чіткими основними елементами «Інженерного підходу». І от на названних комюніті люди намагаються звети «рутину», «написання коду» до мінімуму, збільшивши елемент власне «моделювання» та «моделювання ситуації».

Але тут треба розуміти в який бік йде бізнес загалом.
Хоча... мало хто адекватно розуміє який бізнес є наразі загалом...

Бізнес намагається зменьшити «операційні видатки», погоджуючись зі збільшенням разових первинних витрат. Чому? Бо для бізнесу важливіше «скільки можливо втартити», ніж «скільки можливо заробити». Тож ризики — на першому місці.

В цьому секрет успіху Java (а у вашому випадку Angular та React.JS)

Головна ідея Java відпочатку була:
— код. написаний на Java, має бути зрозумілий кожному, хто знає Java, без залучення того, хто цей код писав... «порог входження» — нуль.

А чому це важливо для бізнесу? Ризик. Ризик винекнення «незамінного фахівця».

Оце ваше

він знає прототипи і знає про всі 3 тисячі методів, як можна відцентрувати блок в HTML/CSS

замінюється на рівень знання Angular та досвід роботи з ним...

А прототипи про які ви пишете...

Наш JHipster — суперпротатайп... Відповівши на пару запитань отримуєш «шось», що вже запутиться.

Але. :) ..не все так просто. От тут починається інженерна робота...
Треба добре розуміти як воно працює як на рівні фронта, як на рівні бека, як на рівні сервесів тощо... РУТИНУ забрано. Але набір напильників треба ще більший...

«Бізнес хоче» реактивний спрінг. ОК.
«Бізнес хоче» ломбок — бо він вже на проекті використовується... упппс....
На спрінгу Mapstruct. Є статті як зробити mapstract+lombok, навіть в мавене mapstract_lombol_bundle ... А нє... спрінг то в нас реактивний. Але. Розуміючи як працює Project Reactor — то загалом без проблем! :)
«Бізнес хоче» Н2 — не хоче Postgres... уппс... R2DBC драйвера під постгрес є, а під Н2 немає... А тут і схеми БД через liqubase заливаємо — то що, гробимо всю асинхроність реактивності синхронним JDBC? ..той, хто в темі, знає як вирішити... :)
...і багато багато такого... :)

Тож, напрямок розвитку — ....

Ох, 4 роки досвіду FE досвіду.

На мою думку, IT-інженер — це людина, яка в першу чергу розуміє бізнес-проблематику.

Бізнес розуміють РО, BA, частково солюшн архітекти.

А інженер займається технічними проблемами, типу як труби з’єднати, чому ухил каналізації має бути 4%, як зробити щоб транзакція в базі автоматично відкотилась.

Тобі здається що інженер має робити щось більше за if/else але ти не бачив складних інженерних завдань.

Ну і проекти є різні, в якомусь проекті типу Гітлаб ти можеш розуміти бізнес, в авіа чи фінансах добре якщо ти половину термінів розуміти будеш

Залежить від компанії. Плюс в продуктових компаніях, щоб стати сіньйором, лідом та й далі — треба більше й більше занурюватись в бізнес. Та думати насамперед про те, як конкретна фіча впливає на продукт. Можливо треба робити не «фічу 1», а «фічу 2».

Можливо треба робити не «фічу 1», а «фічу 2».

Для цього якраз і є РО які би мали організувати опитування серед юзерів

Плюс в продуктових компаніях, щоб стати сіньйором, лідом та й далі — треба більше й більше занурюватись в бізнес.

Знов міфічний продукт)
Я працював і в продукті, і в стартапі, і на аутсорс/аутстаф.
Жодної різниці немає.
Менший проект => в тебе більший імпакт.
От і все.

Та да )) Якщо продукт програмулька в огризко-сторі )) В ентерпрайзі таку хню адекватні керівники суворо забороняють, принаймі в контексті

думати насамперед про те, як конкретна фіча впливає на продукт
Ох, 4 роки досвіду FE досвіду.
Тобі здається що інженер має робити щось більше за if/else але ти не бачив складних інженерних завдань.

Хммм, можливо, ви з тих людей, які вважають, що чим більше років досвіду, тим краще. Ви справді так думаєте, чи вам просто приємно так вважати? Чи, можливо, ви самі той «динозавр», який досі пише на Delphi?

Наведіть, будь ласка, приклад дійсно складної технічної задачі.

Повертаючись до моєї теми, ви, мабуть, неправильно зрозуміли мій посил. Я говорив не про те, що має робити інженер, а про те, куди і як він повинен рухатися та розвиватися. Від джуна на проекті я не очікую, що він буде розбиратися в домені або хоча б цікавитися цим. Але чим досвідченішим стає інженер, тим більше він повинен заглиблюватися в бізнес і розуміти його проблематику.

Ви не побачите великої різниці між мідлом і сеньйором, адже загалом вони виконують ті ж самі функції. Навіть різниці в якості роботи може не бути. Що дійсно відрізняє мідла від сеньйора, так це те, що сеньйор вирішує ті ж самі задачі концептуально по-іншому. Це фахівець, який бачить проблематику на високому рівні. Це відбувається, коли цей спеціаліст розуміє, для чого це робиться з точки зору бізнесу.

Наразі вся різниця між мідлом і сеньйором полягає в тому, наскільки довше один з них просидів на своєму місці, ніж інший.

Хммм, можливо, ви з тих людей, які вважають, що чим більше років досвіду, тим краще. Ви справді так думаєте?

Не агрись, вчорашній джун)

Чим людина має більше досвіду тим більша ймовірність що вона сильніший спеціаліст.
Побувавши на кількох проектах по кілька років, це не те саме що вирости з джуна до сіньора на одному.

Наразі вся різниця між мідлом і сеньйором полягає в тому, наскільки довше один з них просидів на своєму місці, ніж інший

Тому ти поки що і мід (ну або сіньор галерного рівня з ЗП до 4к$). От як будеш розуміти різницю між людиною за 3к і за 6к, і чому бізнес не дурний платити Х2 за сіньора, тоді ти і будеш сіньором)

Від джуна на проекті я не очікую, що він буде розбиратися в домені або хоча б цікавитися цим. Але чим досвідченішим стає інженер, тим більше він повинен заглиблюватися в бізнес і розуміти його проблематику.

Походиш сіньором по кількох проектах і зрозумієш що розібратись в бізнес домені на рівні потрібному для інженера- це кілька місяців.
А більше і не потрібно.

Тому бізнесу важливі ті літкоди, системні дизайни і вміння написати тести а не «знання домену».

Наведіть, будь ласка, приклад дійсно складної технічної задачі.

Як побудувати систему, що скоротить процент дрібної фракції феросплаву при розливі рідкого металу використовуючи мульди. Або як скоротити простої лінії завантаження міксованого матеріалу на обладнанні 60-х років. От коли ви вирішете подібні задачі від ідеї, до обладняння і програмування, запуску в продакшен, і до отримання річної економії півмільойа баксів на рік, можете причепити собі занчок інженера

з тих людей, які вважають, що чим більше років досвіду, тим краще. Ви справді так думаєте, чи вам просто приємно так вважати? Чи, можливо, ви самі той «динозавр», який досі пише на Delphi?

Це все стара тема. А значить — фундаментальна.

Software crisis is a term used in the early days of computing science for the difficulty of writing useful and efficient computer programs in the required time.
The term “software crisis” was coined by some attendees at the first NATO Software Engineering Conference in 1968 at Garmisch, Germany. Edsger Dijkstra’s 1972 Turing Award Lecture makes reference to this same problem...

en.wikipedia.org/wiki/Software_crisis

Ну а самий лаконічний опис цієї проблеми що знаю:
Design and programming are human activities; forget that and all is lost.
Bjarne Stroustrup

Про product mindset навіть на ДОУ було за рокі не одне обговорення. Теж, в цілому, все сказано, думаю у таких об’ємах, що навіть чатгпт добре знається, як банальщину.

що все це по суті моя одна велика суб’єктивна думка

Так. Просто ви ростете як професіонал, і відкриваєте для себе явища, які раніше вас не турбували, бо ви їх і не помічали взагалі.

По суті, ви очікуєте від інженера, що він буде «2 в 1»: фахівець в IT та в бізнес-галузі. А там, доречі, люди теж вищу освіту здобувають або вкладаються в самоосвіту у своїй галузі, якщо там таке в принципі можливо.

Я мав думки, особливо у зв’язку з розвитком ШІ: може виникнути ще більша спеціалізація, код будемо писати більш ефективно за допомогою різноманітних ШІ-копілотів, а фокус уваги частково (але значно) зміститься на бізнес-логіку.

Тобто зараз є Java developer або .NET developer,
потім будуть Java FinTech developer, Java healthcare systems developer, .NET bank systems developer, Python logistic systems developer,
тощо, все в такому дусі.

Поки що так мені здається зараз.

Цікаво, що коли я вчився в університеті засновники нашої кафедри які приїхали назад з КБ Сухого розповідали, що в КБ прийшли такого же висновку. Що щоби програмісти могли розробляти та впроваджувати інформаційні системи, вони мають розмовляти з тими хто користується цими системами однією мовою.
В реальності це і є одна з найважчих частин роботи, а зовсім не писати код. Сутність як розробки на замовлення, так і продуктової — дізнатись вимоги тобто перший етап формалізації з поступового процесу формалізації процесу автоматизації.
Друга складна частина звісно — політика.

Ба, більше.
Об’єктно орієнтоване проєктування про те й було (не плутати з п-рограмуванням)
А DDD просто практично єдиний хто успішно дожив з того буму-хайпу 90их

Згоден ddd це те яким мало бути оп за дефолтом

DDD усього лише один з підходів до формалізації. По суті усі підходи лише відрізняються один від одного як саме проходить формалізація, умовно регламентом роботи спеціалістів. Як ми знаємо з дослідів університету Кернегі-Меллоун на замовлення Пентагону, головною методологією на планеті є «ляп-ляп в продакнш» тобто нема ніякої методології як такої, розробка йде експериментальним чином в 80% випадків.

Загалом-то, DDD — це архітектурний патерн.
Як і найбільш вживаніші його альтернативи — такі як Event Sourcing та CQRS — це таки патерн, з усіма «обтяжуючими» обставинами...

Кожен патерн вирішує цілком конкретну проблему і, за відсутності її, стає антипатерном.

От класна тема microservices з її більше ста найбільш вживанішими патернами...
Але використання кожного з них «не в тему» призводить до антіпатерна...
Знаю проекти, котрі вже вертаються на monolith.

Про 80%... не знаю, звідки ви це взяли..

80% програмістів світу програмужють на ..Cobol.
Цікаво, що саме вони є найбільш оплачуваними... а «тяп-ляп» в Cobol не проходить...

Чому так? Бо самий масовий бізнес в світі — банківський.
Оце от — у піратів з Сомалі на базі є — вогнище, щоб готувати їжу, автомат Калашнікова, щоб стріляти, та банкомат, щоб гроші знімати з карточки.

А банки досі роблять транзакції на Cobol.

Власне. дістаньте з кишені чек і подивіться на запис в форматі Cobol...

Про 80%... не знаю, звідки ви це взяли..

Це досліди цніверсітету Карнегі-Меллон en.wikipedia.org/...​Capability_Maturity_Model на замовлення Пентагону, задля методики оцінки вендорів постачальників та суб-підрядників. Умовно рівень організації праці, зокрема розділення праці є лише в 20% команд. П’ятий рівень CMM — це окремо взяті команди в окремих типах компаній, як то : Microsoft, Amazon, Apple або Google. (Сучасний IBM вже ні, хоча вони були еталоном).

DDD — це архітектурний патерн.

Не зовсім так, паттерн — тобто шаблон це метод типового проектування, тобто існуюча відповідь на існуюче завдання. Domen Driven Design — це методологія проектування. uk.wikipedia.org/...​-орієнтоване_проєктування
Тобто : сукупність термінів та методів роботи з інформацією.
А от CQRS якраз поведінковій шаблон uk.wikipedia.org/wiki/CQRS

80% програмістів світу програмужють на ..Cobol.

Насправді концептуально між розробкою на Cobol чи Algol і будь якими новомодними мовами типу : Go lang, Rust, Swift або D нема жодної різниці, крім суттєво покращеного синтаксису, уникнення типових помилок програмування по типу мішанини з goto та іноді більш зручних інструментів (при чому можуть бути і гірші). Мови оперують абстракціями рівня базових операторів. А так усе те саме, той самий принцип SOLID, і усім закладеними в 50-60 роки минулого століття принципами розробки : Грейс Хопер, Едгара Дейкстери, Ніклауса Вірта, Барбари Лісков та інших. Є надії на мови над високого рівня з AI з рівнем абстракцій типу promot, та ще не сьогодні.

Во. Це хіба досліди когось, хто в тому університеті... Публічні, безплатні...
Це рівень рефератів, котрі пишуть наші студенти...

Реальні дослідження коштують гроші. Грубі гроші.

Те, що зроблено на замовлення Пентагону, є власністтю Пентагону і коштує рівно стільки грошей, скільки Пентагон витратив на це замовлення. Тож, про замовлення Пентагону — точно фейк...

З іншої сторони, «де що», що ви пишете, я бачив в платних дослідженнях та на реальних проектах.

Те, що ви називаєте СММ — мені відомо як «Engineer Excellence» і дійсно, тільки де-кілька корпорацій в Світі можуть підтримувати, наприклад, ЕЕ7.

і це такий же «клуб», як і «ISO9001»... Тобто «заявити» не проходить. «Члени клубу» періодично перевіряють відповідність.

Для чого потрібне ЕЕ?
Верхі, найдорожчі, SLA вимагають високого ЕЕ, інакше, «...а як ти його можеш забезпечити?»

Що це по фінансах гарно можно показати по компанії Cisco, котра дотримується ЕЕ7.Навіть «середнього класу» роутер ви можете купити в них за пів ціни. В чому різниця? В SLA.

Була можливість побачити як це працює.

О 11-ї годині ночі заходив за другом на «Воля-Хмельницький». А в них яік раз впав роутер (вся Захіідна Україна де «Воля» лишилися без інтернету) і прийшлося чекати. За годину питання було екскальовано до топ-менеджера Cisco по EMEA регіону (який в Гамбурзі) і він розповів, що новий роутер вже летить з Києва гелікоптером... Тож, все зайняло дві години...

Хоча, тоді наша реальність взяла гору та друг звідтам розрахувався. Бо ...Київ виставив йому претензію «...чому аварію не було внесено в план робіт на цей місяць...»

А так на багатьох проектах бачив дотримання ЕЕ. Але NDA... ці речі теж туди попадають...

Тож, про замовлення Пентагону — точно фейк...

Я вам надав посилання де йдеться про фереймверк оцінки, та як його замовили SEI. Хоча напевно ви праві, Пентагон напевно не при ділах і усе проплачено і тотальні корупціонери та відкадчики. Баррі Боем зі своїм COCOMO теж напевно абстрактний дурень, Гарвард гімно і т.д.. Бажаю здоров’я.

Дослідити всі ці бізнес-процеси і зрозуміти, як правильно інтегрувати їх у вже існуючу систему — ось що визначає складність поставленої задачі

Це не одна локальна задача. Це стратегічна довгострокова задача для senior інженера на проєкті.

Зараз складність задачі визначається якраз-таки складністю бізнес-процесів, вкладених у цю задачу.

Це в ідеалі.

А на реальних проєктах — найбільша складність та біль — це реалізувати фічу в існуючому коді, з його унікальними паттернами, створеними людиною з максимально загадковим стилем мислення. Тому що коли була можливість зробити все достатньо straightforward, якийсь «невизнаний геній» зробив усе з якимись одному йому зрозумілими підвипідвертами.

Я можу з упевненістю сказати, що майже будь-яке технічну задачу можна виконати за допомогою стандартного набору інструментів тієї чи іншої технології.

Так. Підтримую.

поки робилася фіча, якісь створіння

з максимально загадковим стилем мислення.

100500 раз змінили ТЗ і добавили ще 100500 фіч які явно чи неявно впливали на її імплементацію

Гірше. Підвипідверти з’явилися десь у глибині back end та не мають відношення до бізнес-логіці. Тобто, наприклад, «генію» закортіло зробити обгортки для String ключів у кеші та цілий abstraction layer до всього цього. Або додаткові обгортки до якогось нормального стандартного API. Не питайте навіщо...

Стало скучно, або мало акронімів було у резюме, а тімлід не був по грайливим лапкам

Так. В цьому і є різниця між «інженерним» та «науковим» «підходами».

— а давайте ми з вашої автівки знімемо колесо та заставимо її їхати... Що, врізалися в дерево? Ну то тепер знаємо, що таки треба чотири колеса... :)

«Інженерний підхід» вимагає, щоб вирішувались лише ті проблеми, котрі існують.
А проблеми вирішувались не стандартно лише тоді, коли стандартних рішень не має чи вони не працюють...

На жаль, і так буває.

Гарний приклад — еволюція базових паттернів дата-інженерії.

Був гарний паттерн котрий здавалося вирішував всі можливі проблеми — Data Fabric.
Потім таки знайшлися проблеми і індустрія згенерувала новий паттерн — Data Like.
..дивно, але і в нього знайшлися проблеми, котрі тре було вирішувати. З’явився Data Mesh/Event Mesh....
От зараз вже починають говорити про Data Mesa... але чесно, поки не зрозуміло які проблеми то буде вирішувати....

шо за хрень ?) якшо тобі не подобаються патерни в коді і можеш зробити краще — то просто перевір код кавер і переписуй як тобі подобається.

Питання, яке ви підняли, споріднене з тим, що виникло у мене. Просто інший кут розгляду — від особи замовника. Відповідь я знайшов, і вона доволі проста. Розробка ПЗ віддаляється від інженерії програмування у напрямку інженерії розробки. Питання суто у грошах — чим складніше методи та засоби розробки, тим більше грошей можна на ньому заробити.

На початку моєї кар’єри один досвідчений колега сказав мені: професіонал не працює в поганих умовах. Він або приходить і покращує умови та процеси, або, якщо це неможливо, не береться за роботу взагалі.

додам як ото в звісной розповіді про компетенціі так і туто — рано чи пізно ти попадаєш у місце яке ти змінити не можеш. Тобто ти наче і трохи покращуєш усе навколо але усім навколо це пофіг

IT-інженер — це людина, яка в першу чергу розуміє бізнес-проблематику. Під бізнес-проблематикою я маю на увазі такі питання: Що відбувається з бізнесом? Що робить цей бізнес? Куди він рухається? Яку проблематику вирішує нова бізнес-вимога від PO?

Автору сподобалось би працювати в цій компанії
sfist.com/...​eliver-food-once-a-month

IT-інженер — це людина, яка в першу чергу розуміє бізнес-проблематику. Під бізнес-проблематикою я маю на увазі такі питання: Що відбувається з бізнесом? Що робить цей бізнес? Куди він рухається? Яку проблематику вирішує нова бізнес-вимога від PO?

Якщо в такого IT-інженера є глибокі знання про бізнес і інтерес до нього, чому він досі працює IT-інженером, а не бізнесменом?

тому що він міг набратись цього досвіду в старших колег, а мутити стартапи просто не його?
не всім бути власниками галер чи с-левел посади займати ж. і не через те що вони на то не здатні

і не через те що вони на то не здатні

Я, власне, про це і кажу. Ті, хто зацікавлені в бізнесовій частині і мають відповідну експертизу, зазвичай займають нетехнічні позиції. Оці от бізнес-аналітики, «архітекти», і сорти менеджерів до С-левела включно — зовсім інша гілка розвиту.
Технічним спеціалістам зазвичай цікаві технічні задачі, за визначенням. Умовно, як дерева крутити, монади комбінувати, запити оптимізувати, обчислення паралелити, хайлоад/скейлебл/вотевер системи дизайнити, фреймворки копати та конкретні технології впроваджувати. Не те, як ублажити інвесторів, завезти юзерів, підвищити прибутковість продукту на 3.567% за квартал, і купити овнеру нову ламбу. Це трохи(зовсім) інший і рівень, і роль, і відповідальність, і експертиза, і склад мислення зі сферою інтересів.

Виникає питання, чому автор підмінює визначення «IT-інженера», який вирішує технічні задачі, на визначення людини, яка займається бізнесом?

Автор все правильно пише, чим краще інженер розуміє домен тим цінніший він для бізнесу і отримує відповідно кращу винагороду ніж той хто вміє лише дерева крутити. Я коли шукаю собі дева в команду і побачу кандидата з доменним знанням візьму такого в першу чергу навіть мідлу віддам перевагу перед іншими сініорами без доменної експертизи особливо коли домен складний

візмуть ту, яка впишеться в бюджет

Що вигідніше для інженера — інвестувати час в профільні технології чи в домен? З технологіями він більш універсальний і його візьмете не тільки ви а ще й компанія навпроти — тому він зможе підняти винагороду собі за рахунок торгів.

Коротше треба розуміти не діяльність замовника а свою також))

Я вам як engineering manager з продуктової компанії скажу, що якщо вас будуть питати про кожну фічу, яку планується додати, ви почнете розказувати іншу історію під назвою «в мене немає часу кодити через кількість мітінгів»
В нашій компанії ми даємо змогу розробникам лідити якусь фічу і впливати на неї. Але як показує практика розробники це роблять один-два рази і потім повертаються до «отримав таску і таскаєш її туди сюди в Jira»
Задача розробників — кодити вже обговорену фічу з визначеними вимогами. Для всього іншого є інші позиції в компанії. І в реальності все трохи по іншому ніж ви описуєте: у розробника є можливість повпливати на фічу мінімально під час обговорення дизайну. І коли він або вона отримує задачу в Jira, вона вже була обговорена детально на рефайнменті.

Навіщо зараз це робити? Яку проблему вирішує ця фіча?

Не дуже розумію як розробник може задавати це питання, коли він не бачить всієї картини. Коли до вас приходить шось в продуктовій компанії, вже давно 100 разів обговорили навіщо і яку проблему ми вирішуємо. Бувають виключення коли CEO захотів шось реально дивне і ніхто його не може відговорити від цього, але це рідкість

Почитайте, будь ласка, про роль Solution Architect. Мені щось здається, що коли ви говорите про звичайних девів, ви хочете щоб вони мали саме цю кваліфікацію. Але це зовсім різний рівень обов’язків і компетенції.

На мою думку, IT-інженер — це людина, яка в першу чергу розуміє бізнес-проблематику. Під бізнес-проблематикою я маю на увазі такі питання: Що відбувається з бізнесом? Що робить цей бізнес? Куди він рухається? Яку проблематику вирішує нова бізнес-вимога від PO?

Ви це серйозно?! За свої десятки років на галері яких я тільки проєктів не бачив.
Ось, наприклад як буде сформульована фіча з фінтех: «Треба додати розрахунок НДС для фючерсів які створені для майбутнії дивідендів з облігаційних опционів.» Аби тільки розуміти більшість термінів фінтеху, не кажучи вже про те, як розраховуються дивіденди, податки, ціна продажу опціонів і таке інше — треба років 5 вчитися у ВУЗі.
Або інший проєкт: система яка зберігає ультразвукові знімки, аналізи і іншу медичну інформацію. І вам треба заімлементити калібрування ультразвукового сканера по 120 параметрам. Більшість слів які вам може розказати доктор про цю фічу взагалі будуть латиною!
Та навіть просто банальний інтернет-магазин. Чи розумієте ви нюанси оподаткування у різних країнах?
Так, непогано дещо розуміти у предметній галузі проєкту. І якщо ви пропрацювали на ньому декілька років — то зможете відрізнити, скажімо, ESG — метрики, які впливають на карбоновий слід (це — з екології, був і такий проєкт).

— Навіщо зараз це робити? Яку проблему вирішує ця фіча?

Уявіть що не-технічний замовник приходить до вас і просить пояснити чому ви вважаєте що рішення для логіна юзірів, яке ви заімплементили буде безпечним? Спробуйте йому пояснити про RSA, цифровий підпис, JWT токени, SSL, CORS, 2-факторну авторизацію та усе таке.
Єдина ситуація, коли ІТ-інженер справді може добре розбиратися у предметній галузі — це коли він багато років працює на ПРОДУКТОВУ компанію! Він може не знати фінтеха чи медицини — але він має чудово розбиратися як працює продукт, який він розробляє. І так: тут він може дискутувати з користувачами цього продукту на предмет як вони його використовують і які ще фічі їм потрібні. Але усе одно це не робить його бізнес-аналітиком і він аж ніяк не підкаже замовнику як тому краще робити його бізнес.
Для цього існують окремі спеціалісти: які спочатку добре розберуться у бізнесі замовника, а потім запропонують як провести цифрову трансформацію його бізнесу таким чином, аби він від цього отримав прибуток. Але це не ІТ-інженери і вони розмовляють зовсім іншою мовою.

Галери — це зовсім інша річ, яку я навіть не обговорював. Як я бачу, багато хто з читачів погодився б з вами, але я розглядав усе це в рамках продуктових компаній як основної бізнес-моделі, де дійсно можна розвиватися IT-інженеру. Як я вже писав в інших коментарях, в аутсорсі або аутстафі діють зовсім інші цінності, і варіанти розвитку як інженера там мінімальні. На жаль, я не згадав у топіку, що це все стосується в основному продуктових компаній і інженерів у них.

Все що написав Бобер абсолютно так само переноситься на продуктові компанії, без виключень. Можливо є якісь продукти, які настільки висмоктані з пальця, що навіть кодерок з наскоку розбереться в «тонкощах бізнесу», але загалом це дуже сильно не так.

Нормальні варіанти розвитку в аутстафі для інженерів просто там інші пріоритети ніж в продукті. Про продукт ти все правильно написав тільки таких людей майже нереально знайти якщо домен складний. Потрібні роки щоб зрозуміти бізнес.

Вибачте, але приклади які ви надали (НДС, калібрування і т.д.) не зовсім про те що каже автор. Автор каже про те що якщо прийшла задача рахувати НДС для 50 штатів одразу і відображати real-time це брєд, і про це треба казати одразу. А ось формули розрахунку вже має давати людина із знаннями, і якщо ця людина має бути phd в економіці, то це теж норм, але це НЕ означає що ця людина має працювати ПО/ПМ або навіть просто «близько» до команди (тобто розробник НЕ має прямо ходити до нього).

Так само інженер має пояснити замовнику чому йому треба витратити гроші на безпеку і яку саме, а не казати «іди до мого ліда з такими запитаннями». Але я погоджуюсь, що в теперішній ситуації питати про прототипи в ЖС (не «узагальнене» розуміння, а всі внутрощі) це такий самий брєд.

Я в багатьох місцях погоджуюсь з автором, але автор повинен почати дивитись не на інженерну позицію, як подальший шлях розвитку. Або для того щоб побачити ситуацію з іншого боку автору треба піти в «велику продуктову компанію» в якій процеси будуть на рівні ентерпрайзу з розділенням обов’язків на атомарні операції, які ставлять людей на конвеєр.

З іншого боку, уявлення автора про розробника/інженера відповідає романтизованим описами процесу розробки з книжок по аджайлу (або з радянських книжок про розвинений комунізм), в яких на рефайнментах розробники самі пишуть собі таски і кожен зацікавлений в успіху продукта, компанії і у власному розвитку. У мене такий досвід був лише одного разу, і навіть тоді у мене в команді буди люди, котрі не хотіли рости вищє мідла, і люди з грошима протискали ідеї з якими не була згодна жодна людина з команди, так і саппорт.

якщо прийшла задача рахувати НДС для 50 штатів одразу і відображати real-time це брєд, і про це треба казати одразу.

і вилитіти з вовчим квитком токсичного розробника яки не є клієнтоорієнтованим

Якщо за висловлення думок мене попруть з компанії, то я не буду сильно засмучуватись. Тут вже до мене питання чому я не побачив раніше неадекватність менеджменту навколо :) Забебало підхалімство і люди котрі тримають язик в жопі перед начальством, а за спиною\між собою обговорюють які всі дурні.

Справжній програміст має вміти: і тут далі іде здоровезний список залежно від комплексів
і insecurities автора. Колись я бачила список зі 100+ книжок з математики та C++.

Займайтесь тим що вам цікаво, більше слухайте, менше зависайте у власному его, робите роботу над помилками та не партесь особо. Все що треба все буде рано чи пізно.

Ух підняли проблематику аж рівня Пентагону та університета Каренгі-Меллон. А в них є фреймверки які оцінюють можливості команд до створення ПЗ, чи справді те що команди розробники називають Agile — справді Agile і т.д.
Насправді питання куди як вище за рівень виконавців, це питання на рівні вищого керівництва компаній, в Україні йдеться звісно про самих замовників.
Хоча в аустафі реально буває таке, що команда розробки може безпосередньо працювати з тими хто експлуатує програмний продукт.

Такі питання які ви надали, зазвичай може сформулювати Senior чи Lead, так як це зазвичай їх обов’язки:

— Навіщо зараз це робити? Яку проблему вирішує ця фіча?
— Це core фіча?
— Як ця фіча повинна корелюватися з іншими фічами?
— Для якої категорії користувачів ця фіча?
— Як ця фіча повинна себе поводити в специфічних ситуаціях?
— Який вигляд повинна мати помилка при невдалому виконанні фічі?

Задача Junior чи Middle виконувати ту задачу яка поставлена ними і ПМом (Продакт чи Проджект).

Гадаю, що є ще одна помилка — інженер/кодер мав би бачити цю задачу і раніше (на якомусь плануванні чи хоча б на дейліку), або ж може спитати того ж Senior чи саме це малось на увазі.

Але загалом воно залежить від типу компанії (аутсорс/аутстаф) та структури команди проекту. Бо в деяких можна і треба задавати питання, а в деяких — задача бути виконавцем згідно декомпозованого і прокалькульованого плану, який оплачений клієнтом.

Галери — це зовсім інша річ, яку я навіть не обговорював. Я розглядав усе це в рамках продуктових компаній як основної бізнес-моделі, де дійсно можна розвиватися IT-інженеру. Як я вже писав в інших коментарях, в аутсорсі або аутстафі діють зовсім інші цінності, і варіанти розвитку як інженера там мінімальні. На жаль, я не згадав у топіку, що це все стосується в основному продуктових компаній і інженерів у них.

Задача Junior чи Middle виконувати ту задачу яка поставлена ними і ПМом (Продакт чи Проджект).

З цим я згодний. Junior не повинен знати, що робить компанія, в якій він працює, чи навіщо вона це робить. Але чим ближче до топових позицій, тим більше інженер повинен цікавитися бізнесом, який він моделює і розвиває.

Як це допоможе пройти технічну співбесіду? Не важливо інженер ти чи ні коли ти employed.

Так само і на самій роботі, ви в першу чергу контактор. Вас найняли оптимізувати кости і робити таски що білі люди не будуть.

Ви думаєте хочете стати білою людиною — щоб до вас був trust, до вашого бачення дослухались, вас підвищували в рамках продукту/компанії і ви б вистрибнули за позицію ліда. І називаєте це «інженером».

Але реальність такова що ви contractor from slavic country, зарплату вам підвищать коли облікову ставку в USA знизять + пройдете більш задрочену тех співбесіду. Звільнять вас в будь який момент з 2 тижнями notice. І трасту вам ніколи не буде — це для білих людей в штаті (FTE).

Останніх два місяці я ходжу по співбесідах і бачу, що компанії готові платити сеньорні зарплати для верстальників, бо деякі компанії прямо кажуть, що навіть мідли не можуть справитись з звичайною версткою.

не ходжу по співбесідам, але те що прилітає із запрошеннями розглянути то вимоги огого, а винагода так собі

завдання інженера із максимально стандартизованих та уніфікованих деталей спроектувати систему, але ІТ це переважно про «саєнс» а не «інженерію»

маякуй як знайдеш роботу інженером

Ви шукаєте якісь стандарти якості в індустрії. Навіщо? Далеко не кожний ваш колега матиме мінімально прийнятну кваліфікацію в ваших очах. Але якщо інженер виконує те, що від нього очікують, і в результаті замовник економить або заробляє гроші, — нікого не хвилюватиме, що інженер не розуміє найкращих практик чи не обізнаний у бізнес-складовій.
Перед тим, як приєднатись до проекта, проговоріть свої очікування і послухайте, що важливо для роботодавця. Якщо ваші очікування сходяться — добре, якщо ні — шукайте далі.

Зрозумійте, люди будуть завжди тяжіти до того, що їх бентежить і турбує. Якщо людину турбує чистота і елегантність коду, вона буде цьому приділяти найбільше уваги, а на бізнес-проблему їй буде плювати.
Якщо ж людину турбують сценарії використання системи, користувацький досвід — вона буде займатись саме цим і не буде гнатись за технічною досконалістю; може з часом навіть мігрує в UX експерта.
Головне — щоб очікування роботодавця і працівника збігались.

Можливо носії правил, що фільтруватимуть базар ШІ — це люди. Спеціалісти своєї справи. Потрібно лише надати їм інтерфейс що я винайшов. Інтерфейс фільтрації результатів запитів до ШІ.

Щоб більше зрозуміти хто такі сучасні інженери в різних типах компаній, а також як їм працювати ефективно — можна почитати, наприклад, Software Engineering Guidebook від Gergely Orosz. Там він багато з цих питань розкриває.
А далі — чим більше досвіду, тим більше інсайтів.
P.S. В світі AI інженерам треба якраз вміти швидко перемикатись між контекстами, швидко вчитись новим інструментам. Бо оці всі «центрування» divʼів та інші базові задачі chatGPT скоро сам буде робити дуже швидко. А розробнику (інженеру) треба буде показати бізнесу, що треба найняти його (її), а не штучний бездушний інтелект.

Ну як на мене, це якраз підтверджує мою думку. Можливо, у майбутньому GPT і буде робити якісь периферійні зміни, але бізнес-проблематику йому ніколи не зрозуміти так, як спеціалісту. Врешті-решт, GPT — це набір існуючих патернів поведінки. З новими вимогами та ситуаціями він не вміє працювати.

Значна частина наших спеціалістів перепродана через аутсорс галери в компанії, які будь-які значні рішення доручають приймати штатним працівникам, а менш значні і просто «пересунути таску в джирі з open в done» — власне нам, котрі найняті через галери.

Оутсорс це зовсім інше питання. Ну і також дивлячись який оутсорс.

У вас екзистенційна криза формошльопства.

Ваш приклад з Jira-тасочкою і PM каже про те, що вас сприймають саме як формошльопа, якщо це є класикою вашої робочої комунікації.

Ви кажете абсолютно вірні речі в наступному розділі, де ви уявляєте, як задаєте питання.

Отже, розмістіть своє тіло в зручній позі на зручній та м’якій поверхні таким чином, щоб повністю розслабивши його м’яз за м’язом, тіло продовжувало утримувати цю позицію без зусиль з вашої сторони.
Перевірте чи вам комфортно, зручно в кожній точці свого тіла, ітеративно опитуючи його частина за частиною, спускаючись від тулуба до рук-ніг і далі кожного пальця, затримуючи свою увагу на кілька вдохів-видихів в кожній точці.

Зверніть увагу на своє дихання. Протягом п’яти повільних, розслаблених вдихів-видихів, переконайтесь, що в цій позі дихається легко і ваша діафрагма вільна.
Закрийте очі. Звільніть всій розум від зайвих думок. Уявіть, шо ви глечик, що само-наповнюється водою і вона повільно витікає назовні, рівномірно зі всіх сторін. Вона прохолодна і кришталево чиста, як ваші думки. Побудьте у цьому стані. Дихайте. Після десятого вдоху-видиху задайте собі запитання:

Що заважає мені зараз ініціювати наради і підіймати ці важливі питання, демонструючи свою проактивність, демонструючи відповідальність не лише за безпосередьо реалізацію, а за фічу вцілому і систему в широкому контексті?

Чи готовий я до наслідків такої поведінки, що в строки від шести до дванадцяти місяців приведуть мене до промоушена в тім/тех-ліда, архітектора чи девілері менеджера?

Як себе почуваю в кожній з цих ролей? Яка роль мені подобається найбільше? Чи розумію я всі необхідні компетенції в цих ролях? Коли я прєісполнюсь всім об’ємом компетенцій бажаної ролі, як я зможу вдало інтегрувати цей пазл в свій план персонального розвитку?

Видихайте. Розкрийте очі. Пройдіть через вищеозначений ментальний цикл кілька разів, трохи зміщуючи концептуальний фокус думок в напрямку, що пробуджує в вас ентузіазм та емоції.

Візьміть чорнильне перо. На якісному, оздобленому приємними вам орнаментами, запишіть для себе майбутнього follow-up. Перечитайте. Вкладіть його в рамочку та помістіть в верхню шухляду робочого столу.

Ви почуваєтесь краще. Болючі запитання відпали самі собою. Вас зцілено.

Якщо бажання лайкнути цей коментар не взмозі виразити весь ступінь вашої вдячності, невеличка транзакція на гаманець TRet4hqeAfEH5foDybQy9AMsi1Yxwd9Yya (Tether USDT) перетвориться на смачні ніштяки для великого сірого кота Ареса.

Це, скоріше, питання не того, що я шукаю, а того, як повинна виглядати IT-інженерія або як вона не повинна виглядати. Я вже працював у такому середовищі, де PO з інженерами OKR-фази планують. Це було круто, але дуже виснажливо, бо компанія ніяк не нагороджувала. У будь-якому випадку, повертаючись на ринок, де тобі кажуть верстати формочки, відчуваєш себе погано.

У мене теж був період таких думок, коли я був десь на рівні стронг мідла і потім перейшов на позицію сеніора. Типу «Я ж досвідчений спеціаліст, а не джун якийсь! Я повинен мати більш комплексне бачення, я маю вкладати душу й тіло в проєкт, над яким працюю!»

Але потім цей юнацький запал пройшов і настало корпоративне прозріння — гроші всьому голова. Інвестори вкладаються у бізнес, щоб отримати прибуток. СЕО та інші С-левел менеджери закривають план, щоб отримати річний бонус. Маркетологи і сейлзи залучають нових клієнтів щоб бізнес був ще більш прибутковим і т.д. І в усьому цьому вареві грошей є гвинтики базового рівня — ІТ-інженери, які власне і роблять продукт, який потім продають сейлзи, рекламують маркетологи, по якому виконують план С-левел менеджери і на якому наварюють гроші інвестори.

І так як ми, інженери, в типовому аутсорсі не отримуємо частину прибутку, не отримуємо річні бонуси, не отримуємо відсоток з продажів і т.д., а просто працюємо за фіксовану зп — то чи має сенс рвати дупу, вкладати емоції в усе оце, замість того, щоб просто робити що кажуть? Хочуть пофарбувати кнопку Cancel у рожевий колір — будь ласка. Хочуть додати фонову музику на сайт — без проблем. А для вкладання емоцій існують персональні проєкти та інші справи, навіть не пов’язані з ІТ. Не знаю хто як, а особисто я заробляю в ІТ гроші для реалізації власних планів, для мене це головне — моє життя поза роботою. Якщо це робить мене непрофесійним інженером — то й пофіг)

От це і є дійсно сіньорська позиція😎
А ще є важливе правило — головне прикрити свою задницю і проблему спихнути на когось іншого😉

не отримуємо частину прибутку, не отримуємо річні бонуси, не отримуємо відсоток з продажів і т.д., а просто працюємо за фіксовану зп — то чи має сенс рвати дупу

А кар’єрне зростання що, відміняли?

Аутсорсингова компанія, а не продуктова — це, звісно, ваш вибір.

Проте маю зазначити, що з одного боку і тут іноді бувають можливості перейти у внутрішні команди клієнта, а з іншого боку, галери врешті-решт теж зацікавлені конвертувати свої кадри у вищі форми технічного персоналу :)

А кар’єрне зростання що, відміняли?

Простіше ще один фултайм знайти

Аутсорсингова компанія, а не продуктова — це, звісно, ваш вибір.

Ага, у нас такий великий вибір

Індустрії потрібні нові лички Double Senior, Triple Senior, etc. 🙂
Lead engineer буде просто триндіти не по темі, а Triple Senior виконає втричі більше задач — profit!

*будь ласка, не показуйте цей коментар менеджерам / ейчарам*

Це проект модернізації робочої сили — чи що?

Ага, у нас такий великий вибір

За останні три місяці пошуку роботи я зустрічав більше продуктових компаній, ніж аутсорсу. Їх навіть не потрібно шукати, оскільки на ринку є достатньо як українських, так і міжнародних продуктових компаній.

А кар’єрне зростання що, відміняли?

Це залежить від того, хто ваш кум.

Ну то похрестіть вже правильну дитину 🙂

Як же влучно ви описали.

настало корпоративне прозріння

Вiдчуваю теє прозрiння щоразу як повертаюсь з чергового олл-хендс мiта, де С-level завзято розповiда гвинтикам на фiкс прайсi як всим треба стати кращою версiєю себе, контрiбутити бiльше, брати вiдповiдвльнiсть й загалом пушити компанiю до зiрок бо ARR сама себе не пiдвищить :)

Якщо брати до уваги нашу з вами мотивацію і ставлення, то загалом я з вами згоден. По-перше, IT — це кінцева штука. Я маю на увазі, що якщо ви хочете розвиватися в IT і при цьому вам не цікаві менеджерські позиції, то далі тех-ліда або принципал інженера вам нікуди розвиватися. І ви також праві, що IT — це дуже гарна нагода почати щось своє. По-друге, більшість того, що я описував, не стосується аутсорсу, тому що там дійсно працюють інші цінності, і варіанти розвитку там мінімальні.

Я майже три роки працював у продуктовій компанії, де PO приходили напряму до інженерів і обговорювали бізнес-вимоги, а потім і технічні. Без жодних PM і скрам-майстрів. Компанія, де ти сам аналізуєш проблематику, а потім ще сам собі задачі описуєш. Це дуже сильно підвищує кваліфікацію. Інше питання — чому такі інженери отримують стільки ж, як і більшість на ринку, які лише «фарбують кнопочки». Чи, можливо, це конкретно питання до моєї компанії.

У будь-якому випадку це все про нашу з вами мотивацію. Якщо обговорювати в сухому залишку без наших з вами «я не хочу» або «я не бачу для себе сенсу», то так і треба розвиватися інженеру. Ось так має визначатися градація інженерів, а не тим, скільки він років просидів на кріслі або тим, наскільки багато він знає технологій. Але знову ж таки, це моя особиста думка, яка не претендує на істину.

Чи професійний цей інженер?

Знову про визначення. «Професійний», або все ж краще «професіонал» — та людина, що володіє професією. В якомусь сенсі це можна звести до «отримає гроші за те, що робить». Тому всі люди, які отримують платню в якомусь сенсі професіонали. Скажімо так, доволі часто платять саме за «закриття тасок», а не за «розуміння проблематики». І це абсолютно ок.
Бо може бути ситуація, що перед тим, як таску передали, ці моменти вже продумали і дійшли висновку, що це буде найкращим рішенням. А пояснювати «нащо» — штука корисна, але теж не завжди потрібна.
Професіоналу з фарбування парканів зачасту начхати нащо коннкретно цей паркан має бути пофарбований в цей самий колір. Але він точно знає як це зробити, який час це займе і скільки фарби і щіток на це піде.
Те, що ви описали це просто шлях становлення тех-інженера на шляху до умовно менеджерської позиції.

Щодо інструментів. Тут вже досвід працює. Тобто в якийсь момент ти вже просто починаєш знати який кращий шлях до вирішення тієї чи іншої задачі. А «нові інструменти чи підходи» можуть бути просто аналогією до «нових іграшок» в магазині.

Знову про визначення. «Професійний», або все ж краще «професіонал» — та людина, що володіє професією. В якомусь сенсі це можна звести до «отримає гроші за те, що робить». Тому всі люди, які отримують платню в якомусь сенсі професіонали

Чи можна назвати людину, яка просто відвідує зал, професіоналом? Чи може вона називатися професіоналом у порівнянні з людиною, яка виступає на змаганнях? У більшості випадків професіоналізм у всіх сферах визначається діями, які людина здійснює, і її ставленням до цього.

Бо може бути ситуація, що перед тим, як таску передали, ці моменти вже продумали і дійшли висновку, що це буде найкращим рішенням. А пояснювати «нащо» — штука корисна, але теж не завжди потрібна.

Якщо задачу продумали заздалегідь, то її повинні були обміркувати і з технічної точки зору. Для реалізації бізнес-вимоги необхідно, щоб хтось надав свою технічну експертизу.

Чи можна назвати людину, яка просто відвідує зал, професіоналом?

Ви не дочитали до момента

отримає гроші за те, що робить

Тобто якщо людині платять за відвідування залу, так, він професіонал. Досягнення — це трохи про інше, хоч і поряд.

Для реалізації бізнес-вимоги необхідно, щоб хтось надав свою технічну експертизу.

А я про що написав? Технічна експертиза не означає кінцевого виконання.

Мені здається ви трохи плутаєте бізнес-аналітика та інженера.

Бо розуміти чому і як саме працюють бізнес-процеси — це не задача інженера, це, якраз, питання до бізнес-аналітика.

Який, в свою чергу, як один із стейкхолдерів, готує вимоги до системи.

Завдання інженера — цю систему спроектувати та реалізувати. Причому основне — спроектувати. Реалізовувати можуть вже і не інженери, бо, наприклад, кодер інженером в загальному випадку не є (як і механік, що збирає деякий прилад, як електрик, електронщік, що паяє та зʼєднує блоки і модулі).

Так, в реальності одна людина може виконувати кілька ролей одночасно — і провести співбесіду з замовником, щоб зрозуміти бізнес-процеси та вимоги до системи, і спроектувати її і кодити/зібрати. Але цей факт не робить бізнес-аналітика чи кодера інженером.

«Інжене́р — особа, що професійно займається інженерією, тобто на основі поєднання прикладних наукових знань, математики та винахідництва знаходить нові розв’язання технічних проблем.»

Щодо знань — інженер повинен знати, перш за все, основні підходи до проектування систем, загальні рішення для свого домену (в програмуванні — шаблони та архітектурні рішення, їх особливости застосування і обмеження, особливості та переваги/недоліки мов програмування).

Питання ж щодо особливостей тієї чи іншої мови чи технології/фреймворку я в більшості випадків не вважаю релевантними, бо це достатньо швидко змінюється і простіше переглянути сучасний стан у документації, тобто важливіше розуміння як це працює всередині і взагалі і де шукати в документації чи коді відповідь.

А ось для кодера на конкретній мові питання тонкощів використання мови чи фреймворку є більш актуальним і релевантним.

Так само як розуміння бізнес-домену є актуальним для бізнес-аналітика.

Ваш коментар мені здається розумним і логічним, але я все ж таки не згоден із деякими аспектами. По-перше, бізнес-аналітик — це фахівець, який аналізує бізнес і створює бізнес-вимоги. Це очевидно. Однак для більш професійної роботи бізнес-аналітику необхідно мати базове розуміння системних вимог, так само як інженеру для ефективного проектування системи потрібно знати мінімальні бізнес-вимоги. Бізнес-аналітик не вказуватиме інженеру, як проектувати систему, так само як інженер не буде вказувати бізнес-аналітику, як формулювати бізнес-вимоги. Як інженер може правильно спроектувати систему, якщо він не знає реальних цілей бізнесу або не розуміє, що бізнес переслідує інші цілі, ніж ті, про які йому повідомили? Наприклад, як можна спроектувати систему для бізнесу, який продає кавуни на маркетплейсі, якщо він також планує їх вирощувати?

Зазвичай проєктуванням таких систем не займаються звичайні сеньйори. Такі задачі вирішують більш досвідчені фахівці, такі як архітектори або принципал-інженери. Але архітектор або принципал-інженер — це фінальна стадія розвитку звичайних інженерів. Тому, на мій погляд, інженер, який прагне розвиватися, повинен цікавитися такими питаннями, і компанії повинні заохочувати інженерів до прояву такої проактивності.

Звісно, щоб знайти спільну мову та швидше порозумітися, інженер та бізнес аналітик повинні мати деяку загальну/спільну для обох множину знань.

І ситуація, коли бізнес аналітик опериє виключно бізнес-вимогами, а інженер — виключно системними — скоріше ідеальна, ніж реальна. Я про це і кажу.

Але вважаю, що треба намагатися рухатись саме в напрямку розділення функцій і формалізації знань та підходів, ніж в напрямку «інтеграції» всього в одній людині.

В бізнесі доволі поширена думка, що найняти одну людину, яка «і шфець і жнець і на сопілці грає» — це гарно. (звідси всіляки фулл-стекі), але нічого не буває просто так і у всього є ціна. Бо коли у вас весь проект в голові у одній людині це підвищує ризики для бізнесу, якщо ця людина піде або захоче вимагати від бізнесу особливого відношення в тому чи іншому вигляді. Тобто тактично бізнес виграє за рахунок економії на зарплатні, а стратегічно програє на більших ризиках (які можуть і не реалізуватись, так) і на менш кваліфікованих рішеннях від таких спеціалістів.

Колись читав книжку з системної інженерії (авторів зараз не пригадаю, але мені здається там були люди з Харкова та/чи Пітера) і там розглядався підхід совку, коли є головний інженер, який, фактично тримає весь проект у себе в голові, і більш західний, формалізований та «розподілений» підхід до проектування великих систем. Наприклад, радянська місячна програма не була реалізована, в тому числі, завдяки смерті Корольова.

Тобто система, в якій ролі розподілені, в загальному випадку більш стабільна і гнучка, ніж коли вона складається з «людини-оркестру». Ба більше, ресурси однієї людини щодо тримання в голові знань та особливостей проекту обмежені, і бізнес-аналітик з інженером в загальному випадку будуть краще, ніж одна людина, яка, скоріше за все, або буде більше інженером, і тоді її рішення як бізнес-аналітика будуть не оптимальні, або більше бізнес-орієнтована, і тоді вже інженерні рішення будуть не ок, або взагалі і там і там «по верхах»...

Це чудово, що у вас почався внутрішній діалог.
Тепер уявіть, що на планеті ще 7 мільярдів людей і кожен зі своїм баченням.
Людям властиво гуртуватись довкола спільних цінностей.

Отже природнім чином виникають «осередки» (community) розробників React, Ruby чи Rust ;)
Чи пропонує кожен такий осередок щось революційне? В більшості випадків — ні. Але продукуються ідеї, які згодом стануть базисом для чогось справді нового.

Ви згадали про ChatGPT: в цьому контексті можна подивитись на Python. Синтаксис не всім подобається, значно повільніший за С, вічні проблеми з дистрибуцією (pip, python2 vs python3, etc.), але саме його гнучкість (і легкість освоєння) стали поштовхом в розвитку ШІ — нині тренувати моделі глибокого навчання може навіть 5-тикласник.

але саме його гнучкість (і легкість освоєння) стали поштовхом в розвитку ШІ

А ви точно впевнені, що причиною став Пітон, а не алгоритми, написані на С++, і наявність інфраструктури, яка може це все потянути?

Я мав на увазі, що Пітон зробив доступним швидке прототипування. Звісно, це не єдина і навіть не першочергова причина, адже без (відносно) дешевих GPU це не обійшлось. Проте у розрізі «все уже давно придумали, а зараз ліплять якусь пургу» це ілюструє, як неоптимальні, на перший погляд, технології дають чудовий результат.

Вже згадував, що вхідний поріг у Python значно нижчий від С/С++ — це також дозволило більшість кількості інженерів та науковців долучитись до процесів, навіть зацікавити молодь (книги «Python для дітей» хтось же купує :) )

Якщо не помиляюсь, то на Raspbery і навіть на Arduino є підтримка Python? Це ще один приклад, де С/С++ безперечно кращий вибір, але саме Python (і подібні мови) відкривають доступ для широкого загалу.

Куди котиться вектор розвитку IT-інженерів?

Перед публікацією статті, попросіть 1-3 людини прочитати її, хоча тут питання вже по структурі виникають, які могла б закрити редакція доу, хоча б такі:
1) Проблематика не зрозуміла. Ба більше, формулювання «Зараз я особливо нічого пояснювати не буду і просто наведу приклад, після якого ви зрозумієте,» свідчить, що автор сам не розуміє проблематику.
2) Відсутні висновки. Ознайомтесь з загальною структурою статей.
3) Вектор не «котиться», а направлений. І заголовок підштовхує читача до очікування, що буде розглянуто хоча б кілька напрямків.
4) В цілому заголовок не відповідає наповненню.

В принципі для першої статті ок, патання скоріше до адміністрації доу.

Це не стаття, а тема на форумі. Адміністрація ДОУ тут може тільки перевірити на спам і матюки.

Це не стаття, а тема на форумі. Адміністрація ДОУ тут може тільки перевірити на спам і матюки.

Теоретично так. На практиці вони змінюють тексти статей та заголовки, принаймні іноді без відома автора. Та і «теми на форумі» вже давно переплетені зі статтями, див хоча б технічні статті та блоги, а ще була тема де вони шукали «рецензентів для технічних статей».

Ваші зауваження були б релевантними якщо б я писав статтю) Це просто топік на форумі. Наскільки я знаю на dou є навіть розділення цих понять.
З самого початку тут не планувалося розглядати проблематику під різними кутами чи пропонувати рішення цієї проблематики. Цей топік створювався для обговорення цієї думки в коментарях.

Ваші зауваження були б релевантними якщо б я писав статтю) Це просто топік на форумі.

1) Мої зауваження були б релевантними якщо б вашою метою було конструктивне спілкування. Чіткі формулювання в тексті покращують його зрозумілість для читача.

2) Ви або все ж хотіли написати статтю, або перший день в інтернеті.
Бо ваш текст містить представлення автора, відкриті заклики до обговорення (Я дуже чекаю вас всіх в коментарях) і тд ознаки статті, при цьому текст не містить короткого опису проблематики характерного для топіка на форумі.

Цей топік створювався для обговорення цієї думки в коментарях.

Власне якої думки так і не зрозуміло

Ви бачили, що презентують Next.js в своїх останніх версіях? Я вам дам картинку.

Ви просто не застали PHP+HTML+JS+CSS+SQL кашу, яка була ще років 15-20 тому, ось і дивуєтесь.

Так, на щастя, я не застав ці часи. Я дивуюсь не тому, що вперше про це чую, а тому що індустрія знову повертається до цього. Це не айфон, де з року в рік можна міняти одне й те саме і просувати це як нововведення. Якщо індустрія раніше відійшла від цього, то це означає, що ці підходи не відповідали загальноприйнятим практикам або просто не підходили бізнесу.

Краще б вона повернулась до цього.

Але ні.

Вони вигадують все більш збочені, тормознуті і переускладнені форми того самого. Вірусять це серед інженерів, недоотримавших в фундаментальних аспектах своєї освіти.
Інженери пхають цими піськами в менеджмент і лідів, беручи масою.

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

В ретроспективі ці рішення не визнаються помилковими, самі знаєте чому.

Інженери з п.1 стають євангелістами вищеозначених рішень, адже вони це вже вміють і їм треба себе продати.

Гівно шириться світом і рулить індустрією. Цикл замкнено.

Відкрию Вам таємницю, по такому принципу працює усе в світі. ВСЕ!
Якщо ви придивитесь до будь якої галузі — такий підхід усюди і завжди.
Виграє завжди найкращий маркетинг, а не найкращий продукт :)

Front-End інженер

Ви мабуть мали на увазі розробник. Інженери не діляться на фронт, бек і т.д.

IT-інженер

Ви мабуть мали на увазі ІТ спеціаліст.

Терміни, які ви вживаєте, не сильно поширені і концептуально неправильні.

Слушна думка! Не особливо займався пост-обробкою. Моя головна задача полягала в тому щоб пояснити проблематику

Підписатись на коментарі