Softening on Hardware

Azmeer Salleh
3 min readJun 11, 2017

“Why are you leaving?”, my co-workers, manager, and CEO all asked me at the time. I was choosing to leave a company where we were working on cutting-edge custom analog transceivers, where I enjoyed the company of my co-workers, and where I was being handsomely compensated. We were also about to be acquired, which was why everyone was particularly surprised at my departure. So why was I leaving a sizable chunk of change on the table and going my own way?

Long story short, I wanted to travel the world. Well, that and to get into software development.

Beginnings

My career until recently had taken me down the path of developing ASICs. I had graduated from Carnegie Mellon University with a degree in Electrical and Computer Engineering, where my senior thesis was on robot vision. I went on to work on making Supercomputers at SGI, developing low-power 10GB Ethernet transceiver chips at Aeluros, and designing real-time ray tracing accelerators at Caustic Graphics.

I had gotten into hardware development because I like to know how things work and I wanted to make things. The idea of semiconductors and translating algorithms into physical gates was compelling to me on a fundamental level — it’s an exercise in systems thinking and logical deduction which tickles all the right parts of my lizard brain.

NVIDIA’s Kepler 2 — pretty, isn’t it?

As a result of the high level of investment required to develop a new chip, the process from architecture to manufacture is exacting and demanding, as any bug which makes it into silicon could potentially have a huge dollar cost attached to it. While the process of taking a complete design from source code to silicon is pretty lengthy in and of itself, design verification, the process by which the design logic is tested and validated to be working, adds a significant amount of time to the whole endeavor.

Opportunity Cost

So what did this mean to me, as a hardware engineer? Ultimately, it meant that as an industry, semiconductor development incurs a significantly higher opportunity cost per year spent compared to software development. It also meant that making something in hardware is predicated on large numbers of people and even larger amounts of investment. And as someone who wants to makes things, I realized that I would be able to make more things more rapidly if I moved from the realm of the real to the virtual.

In the years while I’ve been working with gates, software has had several revolutions in both technology and methodology. The wide adoption of open software gives mountainous shoulders for every software engineer to stand on, extending our reach in ways unthought of in previous generations. The open web gives a broad platform for anyone to make applications with a global reach. Machine learning techniques have also come a long way from when I worked on teaching a robot to recognize doorways in the dark hallows of Wean Hall at CMU. The deluge of data and open APIs available today just boggle the mind.

Resolve

So I quit. And I left on my trip around the world. And when I got back, I sat down and attempted to figure out what I wanted to do next but now I was faced with an embarrassment of choices — there was so much that I wanted to do and choosing where to start was becoming a daunting prospect.

But it all comes down to doing what I already love to do — designing and building elegant solutions to engineering problems and doing it well. I’ll continue to write code but now I’ll be building web applications instead of chips.

But one thing won’t change. And that’s the fact that I’m going to build stuff. And I’ll get to build more of it, more rapidly.

I’m looking forward to it.

--

--

Azmeer Salleh

Former Hardware Guy, Now Making Software. Always Exploring, Ever Curious.