The smell of solder is something you never really forget. That sharp, metallic tang that fills the air when you touch hot iron to wire. I must have been thirteen or fourteen when I first experienced it, hunched over a wobbly desk in my bedroom, trying to get an LED to blink using an Arduino I'd saved up months to buy.
The LED didn't blink. Not that first night, anyway. I'd wired something wrong, misread a resistor value, made one of those tiny errors that seems impossible to find until suddenly you do. But when it finally worked — when that little red light started pulsing on and off exactly the way I'd programmed it to — I felt something I can only describe as magic. I had told a machine what to do, and it had listened.
That feeling has never really gone away. It's what drives me now, even though the machines have gotten considerably more complex and the problems I'm trying to solve don't involve LEDs anymore. But the essential thrill is the same: bridging the gap between human intention and machine action.
Lessons from Physical Computing
Working with hardware teaches you things that software alone never quite manages. The most important lesson is that the physical world is unforgiving. When you write code that doesn't work, you get an error message. When you wire a circuit wrong, you might fry a component. The feedback is immediate and visceral. You learn to be careful, to double-check, to understand systems deeply before you start modifying them.
I spent years building increasingly ambitious projects with Arduino and various electronic components. Motion sensors that triggered lights. Temperature monitors that logged data to SD cards. A genuinely terrible robot that was supposed to follow lines on the floor but mostly just spun in confused circles. Each project taught me something new about how systems work, how components interact, how small changes can cascade into unexpected results.
But perhaps the most valuable lesson was this: complex behaviour can emerge from simple rules. An Arduino is fundamentally just a device that turns pins on and off, reads voltages, and follows instructions in sequence. There's nothing magical about it. Yet from these simple operations, you can build systems that seem almost alive. A robot that responds to its environment. A music synthesiser that creates sounds no one has heard before. An automated greenhouse that keeps plants alive without human intervention.
This lesson transfers directly to artificial intelligence. Neural networks, at their core, are just mathematical operations. Multiplications and additions, repeated billions of times. There's no ghost in the machine, no mysterious intelligence lurking in the silicon. Yet from these simple operations, arranged in the right patterns and trained on the right data, you get systems that can recognise faces, translate languages, write poetry. Complex behaviour from simple rules.
The Transition
I didn't wake up one day and decide to stop working with hardware. The transition was gradual, almost unconscious. I started writing more sophisticated code to control my physical projects. Then I started writing code that processed data from sensors. Then I started wondering what I could do with that data if I had better analytical tools.
Machine learning entered my life through a side door. I was working on a project that involved recognising patterns in sensor data, trying to detect when a specific event was happening based on readings from an accelerometer. Traditional programming approaches weren't working well. The patterns were too complex, too variable, too hard to specify with explicit rules.
So I started reading about classification algorithms. Decision trees at first, then support vector machines, then finally neural networks. The more I learned, the more I realised that this was the same kind of thinking I'd been doing with hardware, just expressed in a different medium. You're still building systems from components. You're still trying to create complex behaviour from simpler pieces. You're still debugging, iterating, refining.
The difference is scale. When I was building circuits, I could hold every component in my hand. I could trace every wire. The systems had dozens of parts, maybe hundreds. Machine learning systems have millions of parameters, sometimes billions. You can't understand them by examining each piece. You have to develop new intuitions, new ways of thinking about what's happening inside the black box.
What Hardware Taught Me About AI
People sometimes ask whether my hardware background helps with AI work, as if they're completely separate fields. I always find this question a bit puzzling. To me, they're deeply connected. Not just because AI systems eventually run on physical hardware, but because the thinking patterns are the same.
Debugging is debugging. When a neural network isn't training properly, you go through the same diagnostic process you'd use for a misbehaving circuit. Check the inputs. Check the outputs. Isolate components. Form hypotheses and test them. The tools are different, but the mindset is identical.
Systems thinking is systems thinking. Understanding how data flows through a neural network is conceptually similar to understanding how current flows through a circuit. Both involve tracking transformations, identifying bottlenecks, reasoning about how changes in one place affect behaviour elsewhere.
And perhaps most importantly, hardware taught me patience. Physical projects take time. You can't rush a soldering iron. You can't accelerate the debugging process by working faster. You just have to be methodical, persistent, willing to try things that might not work. Training machine learning models requires the same temperament. Experiments take hours or days to run. Progress is measured in small increments. You need the ability to stay engaged with a problem long after the initial excitement has faded.
Where It All Comes Together
The project I'm most excited about right now sits exactly at the intersection of everything I've learned. Building agentic AI systems requires understanding both the low-level details of how models work and the high-level architecture of complex systems. You need to think about data flow and state management and error handling, just like designing a circuit. But you also need to think about reasoning and planning and goal-directed behaviour, which is pure AI territory.
There's something deeply satisfying about working in this space. I feel like all the scattered interests of my life are finally converging. The kid who made LEDs blink is still here, but now the LEDs are neural network activations and the blink patterns encode something like thought.
I still solder occasionally. There's a half-built project on my desk right now, some sensors I'm planning to connect to a machine learning pipeline for a experiment I want to run. The smell of solder still brings back memories of those early days, the frustration and triumph of getting that first LED to blink.
But what excites me most is what's ahead. We're building systems that can perceive, reason, and act in the world. Systems that bridge the gap between digital intelligence and physical reality. Every lesson I learned from hardware, every intuition I developed from software, every insight I've gained from machine learning — they're all contributing to something larger than I could have imagined when I was fourteen, hunched over that wobbly desk, watching a red light pulse in the darkness.
The journey from hardware to AI wasn't really a journey away from anything. It was a journey deeper into the same fundamental questions that captured me from the beginning. How do you make machines do what you want? How do complex behaviours emerge from simple rules? How do you bridge the gap between human intention and machine action?
I'm still working on the answers. But I've never been more excited about the questions.