Код не закінчується на екрані#

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

Мене особливо цікавить момент, коли програма отримує сенсор, мотор, механізм або реальне середовище.

Інженерна оптика#

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

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

ШарГоловне питання
SoftwareЯку логіку виконує система?
ElectronicsЯк система отримує й передає сигнал?
EmbeddedЯк код працює в обмеженому пристрої?
MechanicsЯк система витримує й передає фізичну дію?
System designЯк усі частини залишаються одним цілим?

Automotive як складна система#

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

Цей принцип легко перенести на будь-який складний продукт: локальна оптимізація однієї частини може погіршити поведінку всієї системи.

Прототип як спосіб думати#

Прототип не має доводити, що ідея вже готова. Його задача — швидко показати, де припущення було неправильним.

  1. Сформулювати одну перевірювану дію.
  2. Зібрати найменшу робочу систему.
  3. Виміряти не очікування, а поведінку.
  4. Знайти слабкий зв’язок між частинами.
  5. Перебудувати й повторити.

Саме тому мені подобається поєднання engineering + code. Воно не дозволяє надто довго залишатися лише в теорії.