How I Started My Path as an Embedded Software Developer at 19

A 21-year-old embedded developer shares his 2.5-year journey from discovering electronics through Arduino to working professionally with STM32 microcontrollers, including key lessons on technical English, datasheets, and circuit design.

Hello, ! My name is Danila, I'm 21 years old, and over the last 2.5 years I've worked as an embedded software developer — primarily with STM32 microcontrollers. In this article, I want to share how I entered this field, where I started, what mistakes I made, and the key lessons I learned along the way.

A Random Book That Changed Everything

It all started quite ordinarily with a book called "Electronics for Beginners" that I happened to come across. The book explained fundamental concepts I had somehow missed in school physics: what resistors are, how transistors work, the difference between series and parallel connections, and so on.

Beyond basic theory, the book included an overview of popular electronic components and introductory information about Arduino. At that point, this seemed sufficient to spark my interest in hardware.

Electronics for Beginners book

Arduino and First Practical Experience

While reading, I began searching for articles and videos — thank you YouTube for the abundance of free information. Arduino was relatively straightforward to learn, and Jeremy Blum's book "Learning Arduino" proved invaluable. I'm sure many know it — it's genuinely excellent for beginners.

Through Arduino, I began understanding how software controls hardware and started enjoying the satisfaction of making things actually work. A couple of LEDs, a motor, a sensor — and suddenly you can build a simple robot or home alarm system.

Learning Arduino book

First Job: Electronics Club Instructor

At 18, I got hired as an electronics club instructor for schoolchildren. This was my first official job. Although I didn't take it seriously, it provided crucial experience: I needed not only to understand things myself but also explain them to others.

During this period, I began studying STM32. The contrast with Arduino was striking — STM32 doesn't coddle beginners; there's less "magic" and more genuine low-level hardware interaction. I had to Google for information bit by bit. If Arduino is a playground, then STM32 is an industrial construction site.

I particularly lacked beginner-friendly guides: most resources were written by professionals for professionals. Another book — "Mastering STM32" — proved tremendously helpful by explaining what typically remains hidden.

Mastering STM32 book

First Serious Job

At 19, I became a software engineer. It happened by chance: I found a job posting, submitted my resume — and got called in. The interview was challenging: C language, circuit design, measurement equipment, peripheral-related questions.

The day after starting, I received my first task — write software for a PLC module that tests I2C, UART, SPI, and other interfaces. I had never worked with PLCs before, so I had to quickly master numerous new concepts.

The next project involved developing a stepper motor control module via CAN-bus. Fortunately, this was on familiar STM32 ground, and everything went much smoother.

Work Where You Do Everything

After working for eighteen months, I left for personal reasons. My new position required not just firmware development but complete device design: from schematics to assembly.

I really enjoyed this approach. Writing software for a board you designed yourself is far easier — you understand all connections and know exactly how it should function. My current responsibilities include:

  • Developing electrical schematics
  • PCB layout and routing
  • Technical documentation preparation
  • Firmware programming
  • Device testing and assembly

Several Important Conclusions

Over these years, I've drawn key lessons I want to share with those beginning their embedded systems journey:

1. Technical English — Not Optional, But Essential

Perhaps my biggest mistake was recognizing technical English's importance too late. Enormous amounts of information — articles, datasheets, forum discussions — exist only in English. Poor language skills mean losing hours understanding what could take ten minutes.

2. Datasheets and Documentation — Your Best (and Worst) Friends

If you're working with hardware, prepare to study mountains of documentation. Sometimes you flip through dozens of pages to find one crucial line. Especially entertaining when documentation is in Chinese.

3. Without Circuit Design Knowledge, You'll Struggle

Even if you "only code," understanding basic circuit design principles is mandatory. At minimum, to avoid foolish mistakes when interacting with peripherals or reading datasheets. For studying circuit design, I'd recommend the renowned work — "The Art of Electronics" — though I must warn that before studying this manuscript, stock up on patience and coffee.

The Art of Electronics book

4. Protocols — More Important Than They Seem

Even at the microcontroller level, there's no escaping network interaction today. TCP, UDP, MQTT, HTTP — at least at a basic level, you need to know how to work with them. Especially if you want to create your own IoT projects.

Conclusion

My path isn't the longest yet, but these 2.5 years have given me experience I genuinely want to share. If you're just starting — don't be afraid. Embedded systems seem complex only at first glance. After that, things get really interesting.

If you enjoyed this post — I'd be glad to see comments, questions, and recommendations about what to read, study, or explore next.

FAQ

What is this article about in one sentence?

This article explains the core idea in practical terms and focuses on what you can apply in real work.

Who is this article for?

It is written for engineers, technical leaders, and curious readers who want a clear, implementation-focused explanation.

What should I read next?

Use the related articles below to continue with closely connected topics and concrete examples.