Код не закінчується на екрані#
Вебсайт або програма можуть створити відчуття, що software існує у власному чистому світі. Насправді будь-який код працює на фізичному пристрої, залежить від енергії, сигналів, затримок і матеріальних обмежень.
Мене особливо цікавить момент, коли програма отримує сенсор, мотор, механізм або реальне середовище.
Інженерна оптика#
Я навчаюсь у Національному університеті біоресурсів і природокористування України за напрямом галузевого машинобудування. Попередня технічна освіта й нинішнє навчання формують інший спосіб дивитися на продукт.
В інтерфейсі помилку інколи можна виправити наступним релізом. У фізичній системі потрібно раніше думати про навантаження, допуски, безпеку, обслуговування й середовище.
| Шар | Головне питання |
|---|---|
| Software | Яку логіку виконує система? |
| Electronics | Як система отримує й передає сигнал? |
| Embedded | Як код працює в обмеженому пристрої? |
| Mechanics | Як система витримує й передає фізичну дію? |
| System design | Як усі частини залишаються одним цілим? |
Automotive як складна система#
Автомобільна інженерія цікава тим, що в ній майже немає ізольованих деталей. Механіка, електроніка, керування, програмне забезпечення, ергономіка й безпека постійно впливають одне на одного.
Цей принцип легко перенести на будь-який складний продукт: локальна оптимізація однієї частини може погіршити поведінку всієї системи.
Прототип як спосіб думати#
Прототип не має доводити, що ідея вже готова. Його задача — швидко показати, де припущення було неправильним.
- Сформулювати одну перевірювану дію.
- Зібрати найменшу робочу систему.
- Виміряти не очікування, а поведінку.
- Знайти слабкий зв’язок між частинами.
- Перебудувати й повторити.
Саме тому мені подобається поєднання engineering + code. Воно не дозволяє надто довго залишатися лише в теорії.