Чим займається hardware-інженер. Зазираємо за лаштунки професії
Мене звати Євген. Маю досвід в сфері розробки електроніки більше 15 років. Перша половина цього досвіду більш пов’язана з embedded-розробкою та створенням нескладних пристроїв на базі мікроконтролерів (Bare metal, RTOS), а друга половина — з проєктуванням апаратного забезпечення майже без програмування.
На перехід до розробки апаратного забезпечення вплинула можливість розвивати цей напрям в деяких компаніях (встановлення інженерних процесів, набір в команду), а також пару співбесід, де вдалось підгледіти, чим займаються справжні професіонали зі створення електронних пристроїв.
На цей час займаюсь консультуванням та контрактними проєктами електронних систем змішаних сигналів зі швидкісними лініями передачі, радіочастотними трактами, підсилювачами від ідеї і до масового виробництва. Найбільше, що подобається в цій галузі — це завжди щось нове, фундаментальне; вона поєднує фізику, механіку, хімію, електродинаміку, матеріалознавство.
У цій статті я коротко опишу, що в цій професії особливого і якщо ви для себе відчуваєте, що це ваше або вже зайшли в цю сферу, але поки не знаєте, куди в ній рухатися далі, то ця інформація може вас зорієнтувати. Також розповім, що потрібно, щоб стати кваліфікованим спеціалістом.
Отже, що робить hardware-інженер
Коротко: усім, що пов’язано з фізичними електронними пристроями та екосистемою навколо них, від ідеї до масового виробництва та підтримки продукту.
Спробуємо осягнути, що це за вибір і що за ним стоїть. Доведеться занурюватись у складні та багатогранні речі. Електронна інженерія вважається однією з найбільш складних, на другому місці після хімічної. Розглянемо абстрактного hw-інженера, що не займається написанням коду для вбудованих систем. Опишемо приблизно той максимум, до чого він може бути залучений:
- Пропрацювання ідей, можливість їхньої реалізації (feasibility).
- Формування технічних вимог до продукту.
- Побудова апаратної архітектури пристрою.
- Вибір компонентів та їх узгодження з урахуванням вимог, ризиків та фінальної вартості продукту.
- Ознайомлення з технічними стандартами і проєктування згідно з ними.
- Ознайомлення зі стандартами для сертифікації продукту та їхнє забезпечення у фінальному виробі.
- Налаштування та покращення процесів розробки апаратного забезпечення. Якщо їх не встановлювати відразу, хаос в продукті буде зростати.
- Спілкування з дистриб’ютором компонентів. Документація до певних компонентів може бути закрита і без підписання NDA її не отримати. Компонент можуть просто відмовитись продавати в той чи інший регіон. Від обрання компоненту до отримання документації після усієї бюрократії може пройти пів року.
- Складання принципової схеми, яка підтверджена симуляцією в заданих режимах і параметрах.
- Узгодження схемотехніки пристрою з розробниками програмного забезпечення.
- Проєктування друкованої плати (в деяких компаніях може займати лише
10-20% часу на саме проєктування). - Пошук підрядників для виробництва.
- Спілкування з виробництвом, на запити якого потрібно реагувати ASAP (не ті компоненти, не так запаяли, щось не проходить тести, пропонують заміну компонентів або компоненти зникли з ринку).
- Дослідження, чому правильно спаяний пристрій не працює або має апаратні проблеми.
- Взаємодія з розробниками вбудованого програмного забезпечення для дослідження виникаючих проблем і допомога в їхньому усуненні.
- Автоматизація тестів.
- Верифікація та валідація виробу.
- Внесення кожної зміни до усіх прототипів, що в наявності у розробників.
- Проєктування тестових стендів для виробництва та діагностики.
- Створення технічної документації до виробів (інструкції, мануали, даташити).
- Участь в усуненні проблем при сертифікації продукту.
- Зменшення вартості серійного виробу.
- Проведення технічних співбесід з розробниками.
- Вибір обладнання для роботи.
Також є продукти, які потрібно підтримувати:
- Додавати нову, але важливу функцію, не порушуючи існуючі вимоги.
- Проєктувати нову плату та тестувати оновлену версію продукту (особисто мав ситуацію, коли виробник зняв з виробництва півторарічну мікросхему, а продукт вже запустили. Довелось відкладати усі інші проєкти і швидко робити нову версію, яка зайняла дві ітерації).
- Шукати заміну компонентам, які вийшли з ринку.
- Спілкуватись з сервісом, щоб консультувати щодо несправностей, а також підготовлювати для сервісу необхідну документацію, мануали щодо діагностики і пошуку несправностей.
- Звісно, це все має бути зроблене до дати, яку запланував маркетинг.
Обсяг задач залежить від розміру компанії, організації та її виду діяльності. Розгляньмо найбільш популярні стани/види компаній з точки зору діяльності «хардвер»-інженера на сьогодні.
Продуктовий стартап
Виніс в окрему категорію саме стартап. Найбільш динамічна діяльність, коли доводиться займатись буквально усім, і від досвіду інженера залежить успіх-неуспіх продукту і репутація компанії. Невідворотність помилки і великі фінансові/репутаційні наслідки. Наступний реліз продукту може бути через 6 місяців або більше. Недолік досвіду в електроніці може відкласти вихід продукту на декілька років.
Продуктова компанія
Якщо стартапу вдалось вийти на стабільний дохід від продукту або залучити довготривалі інвестиції. Важлива наявність продукту в масовому виробництві. Компанія з продуктами здебільшого має сталі процеси і розподілені задачі. Компанія оперує більшими ресурсами і здатна утримувати лабораторію та закуповувати обладнання. Для інженера це може бути хорошим джерелом досвіду, хоча інколи задачі можуть бути доволі одноманітними. Що більші ризики для компанії, то обережнішим стає кожен рух в розробці.
Велика продуктова компанія
У великих компаніях зі своїми продуктами, як правило, команди організовані, процеси налаштовані, задачі й області відповідальності розподілені. Інженер буде відповідальним за один або декілька проєктів/модулів, які можна проєктувати рік або більше; видадуть специфікацію на модуль, вибір основних компонентів вже буде виконаний, — лишається створення схемотехніки. Далі дизайн буде проходити стадії «рев’ю» та верифікації іншими інженерними групами. Вам видадуть наступний блок для проєктування схеми. Розробкою друкованої плати буде займатись інший відділ/інженер.
З плюсів великих компаній — це сталість процесів, що не змінюються. Є можливість обрати вузьку спеціалізацію і займатись лише одним напрямком, що пришвидшить набуття досвіду: PCB Design Engineer, Power Engineer, Signal Integrity Engineer, EMC Engineer, RF Engineer, Schematic Engineer, System (Design) Engineer.
Достатньо приємний «ворк-лайф» баланс. З мінусів — можуть виникати ситуації, коли над проєктом працювали 3 роки, а стейкхолдери вирішили цей проєкт закрити. І так може бути декілька разів підряд, що не дуже надихає.
Компанія-виробник напівпровідників
Це окрема категорія, де продуктом є напівпровідникова продукція, яку інженер сам не проєктує, але створює різноманітні системи навколо неї: тестувальне обладнання, плати розробника (devkit, evaluation board). Багато практичного досвіду, часто наявність задач для досліджень і творчості. Може бути доволі бюрократична у вигляді написання звітів та application notes.
Аутсорс
Найбільш різноманітний досвід отримується в таких компаніях. В більшості випадків далі прототипу розробка не йде, або на цьому етапі проєкт передається замовнику. Без підготовки та масового виробництва досить швидко можна переключитись на наступний проєкт.
До компанії приходять з ідеєю і просять пристрій, який робить ті чи інші речі. Далі доведеться довго взаємодіяти з замовником і намагатись зрозуміти, чого він хоче. Можна лише декілька місяців витягати з нього вимоги, оскільки з кожним рішенням, з яким прийдете до нього — будуть нові умови, про які не говорилось раніше. Написання гарного технічного завдання до апаратного забезпечення — це ціла наука, і якщо hw-інженер може його скласти, то вірогідність успішної реалізації проєкту значно зростає.
Вже на цьому етапі може стати зрозуміла ціна першого наближення усього пристрою, а не після року розробки, коли він виявиться неконкурентним через ціну фінального виробу.
Аутстаф
Останнім часом з’явився «ремоут» для «заліза»; в таких компаніях найбільш вірогідний. Це, мабуть, основний плюс. З мінусів — можливо, задачі будуть доволі монотонні і бюрократичні. Рівень практичного досвіду залежить від того, чи готові самі його отримувати в позаробочий час.
Фріланс
При цій формі взаємодії з замовником можна отримати більше оплату, ніж в Україні в більшості компаній. З недоліків — більшість робіт буде пов’язано з дизайном якогось блоку, який потім хтось інший буде «піднімати». В цьому випадку відсутній зворотній зв’язок по результатах дизайну і отримання досвіду буде сповільнене. Також відсутність команди сильно сповільнює набуття досвіду.
Надскладні проєкти на фріланс не віддають, особливо якщо там є якісь технічні особливості, яких ніде немає. Якщо вдалось знайти замовника, і його ваш досвід влаштовує, він може запропонувати контракт на постійній основі.
Команда
Команда, в якій будете працювати, це одна з важливих складових. Часто може бути, що ви — єдина людина в команді hw-інженерів. Тепер за весь порядок або безлад по проєкту відповідаєте ви. Ви і hw-менеджер, і бізнес-аналітик, і hw-лід. Це досить величезний стрес для того, в кого мало досвіду, і великий ризик для продукту; недолік досвіду не дозволить передбачити купу ризиків наперед.
З однієї сторони повна свобода вибору напрямку і реалізації продукту, а з іншої — повна відповідальність за все, що стається з «залізом».
З ким доведеться працювати: з ініціатором ідеї продукту, з embedded-програмістами, з дистриб’юторами електроних компонентів, з заводом по виробництву плат, з контрактним виробником електроніки, до котрого може знадобитись поїхати, або їздити періодично: локально, в інше місто, іншу країну, наприклад — Китай.
Може так статись, що ваш колега embedded-розробник вміє написати код для мікроконтролеру, але не вміє користуватись вимірювальним обладнанням, паяльником та/або має мало досвіду в електроніці. Тепер до ваших задач ще додається те, що кожен раз, як йому щось потрібно поміряти, ви маєте поряд з ним сидіти, щось підпаювати і допомогати підключати обладнання протягом усього життєвого циклу проєкту. Особливо коли вилазять критичні баги в firmware.
Часто доводиться працювати з програмістами, в котрих недостатньо досвіду (буває і навпаки). Наприклад, у мікроконтролера (МК) є USB-інтерфейс, але ваш колега не має досвіду/часу/бажання розбиратись, як його налаштувати. Він радить додати мікросхему мосту USB-UART, щоб працювати було простіше. Зі сторони «софту» виглядає як прискорення, але в перспективі проєкту це +1 мікросхема та обв’язок, що збільшує габарити і здорожчує пристрій на $1-3. Що у масовому виробництві виливається в величезні суми, а також додаткові затримки через довге виробництво мікросхеми, якщо «пощастить».
Досвідчені embedded-розробники можуть полегшити розробку, оскільки вони звільняють увагу hardware-інженера для більш важливих речей у продукті та можуть заздалегідь сказати, що їм потрібно додатково закласти до продукту.
Якщо працюєте в команді hw-інженерів і є хороша взаємодія, то це прискорить реалізацію проєктів і зростання всіх у команді. Завжди є з ким порадитись і вибрати стратегію для вирішення проблеми. Це найкорисніше не лише для новачків, але і для досвідчених інженерів.
Інколи зустрічаю думки, що в Україні майже немає hardware
Hardware — це не дешево. Не так багато компаній мають розуміння розробки апаратних пристроїв. Як побудувати компанію з успішним апаратним продуктом — тема, яка заслуговує на окрему книгу.
Для програмування потрібен лише комп’ютер, інтернет і якийсь доступний софт, часто «опен-сорс». Щоб програмувати вбудовані системи додатково знадобиться плата розробника, логічний аналізатор, осцилограф, паяльник, інколи більше. Для якісної розробки «заліза» необхідно перевірити багато речей, оскільки помилка, яка призведе до поломки пристрою через півроку, призведе до величезних збитків компанії. Включно з банкрутством через відгук продукту.
А також, якщо це перший продукт, — до репутаційних втрат, які відновити швидко може не вийти. Якщо це автомобільний/авіаційний/медичний/інший виріб, від якого залежить життя, то до судових позовів з негарними наслідками. Отже продукт має відповідати вимогам і бути достатньо надійним в рамках закладеного терміну роботи пристрою.
Під час розробки електроного пристрою невеликої складності можна обійтись безкоштовними програмами розробки EDA (Electronic Design Automation). Для складних відповідальних проєктів важливо бути впевненим в програмному продукті, мати до нього підтримку і безліч функцій. Вартість якісних професійних програм для розробки електроних пристроїв може бути $10-40 тисяч за одну ліцензію. Також додатковий софт для термального аналізу може вартувати від $10-20 тисяч.
Програмне забезпечення для симуляції цілісності сигналів $10-20 тисяч, для проєктування антен та електромагнітної сумісності ще $50-300 тисяч. На сьогодні більшість програмного забезпечення має тимчасові ліцензії на рік за підпискою, що може зекономити кошти в декілька разів в перший рік розробки.
Далі обладнання. Для простих проєктів можна вкластись в $1000. В більш складних широкий набір паяльного обладнання, котре дозволить замінити мікросхему в корпусі BGA в багатошаровій платі. При роботі з мультигігабітними лініями, пам’яттю, РЧ-трансіверами набір вимірювального обладнання перетворюється в окрему лабораторію. Один лише осцилограф може коштувати $200-400к, додатково різні необхідні програмні розширення до нього, які можуть коштувати більше ніж, сам осцилограф.
Також апаратні адаптери і розширення до них, це також сума, що може сягати сотні тисяч доларів. Спектроаналізатори, блоки живлення, генератори, мережеві аналізатори, аксесуари. Все це обладнання важливо періодично повіряти і обслуговувати. При необережному використанні його дуже легко вивести з ладу. Ремонт лише за кордоном і обійдеться недешево.
Reverse Engineering. Створення самих по собі електронних виробів не принесе довготривалої стабільності компанії. Ваш апаратний пристрій швидко зкопіюють, якщо ви не піклувалися про захист як на програмному рівні, так і на рівні екосистеми.
Сфери
Є безліч напрямів електроніки, кожен з них активно розвивається, використовує свої особливі компоненти. Кожен напрям — це цілий світ зі своїми особливостями якому можна присвятити все життя:
- Розробка силової електроніки (генератори, турбіни, електродвигуни, силові установки).
- Блоки живлення та різноманітні перетворювачі.
- Медична електроніка (МРТ, КТ, УЗ, операційні прилади, протези).
- Internet-of-Things. Це більшість пристроїв на ринку.
- Телекомунікаційна техніка (зв’язок).
- Мережева техніка.
- Персональні комп’ютери, сервери та ноутбуки.
- Радарна техніка.
- Вимірювальне обладнання.
- Геологічне обладнання.
- Ще багато іншого.
Як стати досвідченим hardware-інженером
З мого досвіду роботи в embedded та hardware, embedded має легший поріг входу. Суттєво швидше можна вийти на середній рівень і, відповідно, швидше отримувати гроші за свої старання. Зараз ще додались AI-інструменти, що трохи пришвидшують роботу в embedded. Основна причина повільного росту в сфері «заліза» — необхідність отримувати багато практичного досвіду та відповідальність за виробництво.
У hardware-сфері доведеться робити багато пет-проєктів, щоб років за
Навчання йде так само, як йдуть релізи «заліза», тобто не швидко.
Про гроші. Більшість пропозицій роботи не надихають розміром оплати. При тих самих зусиллях ембеддед виграє з великим відривом. Багато з тих, хто мав досвід розробки електроніки або відповідну освіту, переходили в embedded та/або переїжджали до інших країн. Особисто зустрічав людей, що після 10+ років успішної роботи в hardware йшли в embedded або в щось далеке від електроніки. Але не зустрічав жодного, хто програмував і вирішував серйозно займатись «залізом». Також ремоут-вакансій при роботі з «залізом» майже немає.
На сьогодні пошук в Linkedin за ключовим словом «hardware» в Польщі (схожа з УкраЇною кількість населення) знаходить близько 19 тисяч людей, в Україні близько 6 тисяч. До 2022 року в Польщі було також в 3 рази більше, ніж в Україні. Для прикладу, пошук за «software engineer» знаходить 128 тисяч у Польщі та 84 тисяч в Україні. Кількість вакансій до
Опишу навички/знання, які бажано мати спеціалісту для збільшення вірогідності проєктування вдалого продукту:
- Англійська як основа. Майже уся технічна документація, актуальна література, стандарти — англійською мовою.
- Читання документації на кожен компонент в системі, яку проєктуєете (даташити, документи по застосуванню). Від того, наскільки уважно його прочитаєте, зрозумієте і забезпечите характеристики кожного компонента, залежить надійність пристрою. Багато «прихованих» речей заховані серед тексту.
- Постійне навчання новому та підтримка старих навичок (література, відео, вебінари, курси, нове програмне забезпечення для розробки, прорахунків, програмування).
- Самоорганізація і селф-менеджмент. Кількість «вхідних» задач та повідомлень за день може бути досить значною і це вимагатиме навчитись організовуватись і впорядковувати справи.
- Десятки реалізованих проєктів і ще більше зпроєктованих друкованих плат, кожну з яких треба власними руками тестувати. Кожен новий проєкт стає трохи кращим.
- Розуміння роботи кожного компонента, його параметрів, особливостей використання.
- Знайомство із впливом зовнішніх та внутрішніх факторів на життєздатність компонента та пристрою.
- Вивчення технології виробництва друкованих плат, обмеження та ціноутворення при використанні того чи іншого процесу. Процеси деградації в друкованих платах. Особливості технологій.
- Вміння розуміти, чого очікує замовник.
- Ознайомлення з новими технічними рішеннями у вимірювальній сфері.
- «Життя» в лабораторії — більше, ніж проєктування за комп’ютером.
- Знання вимірювального обладнання: як, що, чим поміряти. Також обмеження та параметри кожного приладу й вплив кожного приладу на сам вимір.
- Вміння з автоматизації тестувального процесу.
- Знайомство з великою кількістю програмних продуктів для розробки та симуляції апаратного забезпечення.
- Моніторинг новинок на ринку напівпровідників. Постійно вивчати ринок виробників електронних компонентів для створення конкурентного продукту.
- Постійне вивчення схемотехніки для реалізації складних функцій простими компонентами.
- Вміння бути прискіпливим песимістом, щоб розгледіти найдрібніші проблеми в дизайні.
- Завжди боротись за кращий дизайн і не допускати халтури в роботі.
Додатково:
- Вміння написати программу на C, щоб запустити базові функції пристрою, якщо embedded-розробник не має можливості створити тестову прошивку.
- Вміння спроєктувати певного роду механіку і виготовити її.
- Базові навички з цифрової обробки сигналів.
А ось куди можна рухатись далі:
- Збільшувати експертизу в своїй галузі, переходити в іншу (наприклад, з IoT в силову електроніку).
- Перехід в embedded-програмування. Наявність досвіду в електроніці значно прискорить перехід і дасть перевагу в цій сфері.
- Розробка мікроелектроніки (аналогові або цифрові блоки мікросхем).
- DSP-інженер (якщо подобається математика).
- FPGA-інженер.
- Системний інженер.
- RnD-менеджер.
- CTO.
11 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів