top of page
Search

Principles of being an Engineer

  • Writer: Arturo Devesa
    Arturo Devesa
  • 6 days ago
  • 3 min read

🧱 Universal Principles of Engineering

Regardless of discipline, engineers share a common mindset.

1. Problem-First Thinking

Engineers don’t start with tools—they start with problems.Ask:

  • What is the real problem?

  • Who has it?

  • Why does it matter?

  • What constraints exist?

A good engineer solves the right problem before solving it well.

2. Systems Thinking

Everything is part of a system:

  • inputs → processing → outputs

  • feedback loops

  • dependencies

  • failure modes

You learn to zoom out (architecture) and zoom in (implementation details) at will.

3. Tradeoff Analysis

There is no perfect solution. Only tradeoffs.

  • Speed vs. accuracy

  • Cost vs. quality

  • Performance vs. maintainability

  • Simplicity vs. features

Engineers justify decisions, not guess.

4. Abstraction

Engineers master layered thinking:

  • High-level: architecture → components → responsibilities

  • Low-level: code → algorithms → data structures

Clean abstraction = scalable thinking.

5. Testing & Verification

"Works on my machine" is not engineering.Engineering requires:

  • verifying assumptions

  • testing edge cases

  • designing for failure

  • measuring results

If you can’t test it, you can’t trust it.

6. Iteration

No engineer gets it right the first time.Engineering is:build → measure → learn → refine.

7. Communication

Being able to explain:

  • the problem

  • your design

  • limitations

  • risks

…is as important as writing code.

🤖 Principles Specific to AI Software Engineering

1. Data > Algorithms

Classic software engineering focuses on logic.AI engineering focuses on data quality:

  • correctness

  • bias

  • representativeness

  • labeling

  • distribution shift

Most AI failures come from bad data, not bad models.

2. Understand the ML Lifecycle

AI engineering isn’t just training a model. It’s a pipeline:

  1. Problem formulation

  2. Data collection & cleanup

  3. Model selection

  4. Training & tuning

  5. Evaluation & validation

  6. Deployment

  7. Monitoring

  8. Continuous retraining

You don’t “ship once”—AI is alive and constantly degrading without maintenance.

3. Choose the Right Model for the Job

This means knowing:

  • classical ML vs deep learning

  • transformer architectures

  • multimodal models

  • tradeoffs like accuracy vs latency vs memory

  • when you don’t need ML at all

AI engineers must say:“A simple rule-based system is better here.”

4. Ethics + Reliability

AI is powerful and potentially harmful.You must be aware of:

  • bias

  • fairness

  • privacy

  • hallucinations

  • misuse

  • safety constraints

  • explainability

AI engineers have a responsibility mindset, not just a hacker mindset.

5. Evaluation is Everything

AI performance is non-deterministic.Your job is to rigorously define:

  • metrics (accuracy, F1, BLEU, perplexity, latency)

  • test sets

  • stress tests

  • adversarial cases

If you can't measure it, you can’t improve it.

6. Hybrid Thinking (AI + Software Engineering)

AI engineers sit at the crossroads:

  • strong traditional software engineering

  • strong understanding of AI/ML theory

  • strong product intuition

You write:

  • Python / Rust / C++ for ML systems

  • backend services

  • APIs for inference

  • data pipelines

  • model training pipelines

AI engineering is full-stack in the AI world.

7. Optimization Mindset

You’ll often tune:

  • GPU memory

  • model architecture

  • batching

  • quantization

  • caching

  • distributed compute

AI engineers think about performance as much as accuracy.

8. Reading Research Papers & Staying Up-to-Date

AI evolves weekly.You must be comfortable reading:

  • arXiv papers

  • model cards

  • GitHub repos

  • benchmarks

This field requires continuous learning more than any other.

📘 Daily Habits of a Strong AI Engineer

Here’s what to practice consistently:

✔ Learn to break problems into pieces

✔ Write clean, modular code

✔ Build small ML projects end-to-end

✔ Practice reading and implementing papers

✔ Write tests

✔ Keep up with new model architectures

✔ Evaluate your models with discipline

✔ Document everything

 
 
 

Comments


©2020 by Arturo Devesa.

bottom of page