Thinking about a career in Embedded Development
Due to advancements in technology and a rising demand for innovative embedded systems across various industries there has never been a better time to become an embedded developer. Professionals working in embedded development typically hold degrees in electrical engineering, computer engineering, or mechatronics. A great embedded developer should have a solid understanding of embedded system design, proficiency in programming languages like C or C++, and familiarity with hardware-software integration.
The growing demand for embedded systems in areas like IoT, automation, and consumer electronics underscores the importance of skilled engineers in Christchurch’s evolving tech landscape.
We sat down and spoke with Rob Burling, a locally known and respected Embedded Developer who has been developing embedded systems for over 40 years. He shares with us the challenges and rewards of his career and discusses the future of Embedded Development. If you are aspiring to work in Embedded Development, this article will share some great advice and tips to get started.
How did you get into Embedded Engineering and where are you now?
From when I was young my dad always liked to build electronic kit sets, despite his varying level of success in getting them to work. This led me into an interest in electronics and computers and I began to code around the age of thirteen. I remember my parents wanting to upgrade the home computer to a business computer but the software being too expensive to justify, I asked them to buy me a copy of Turbo Pascal and I would write them the software instead. I ended up writing an accounting program for them. When I got to university I decided to study electrical engineering, back then there weren’t any specialised course or classes for computing. Once I got into the working world, I found myself working on software and that flowed smoothly into where I am now.
If you had to summarise what you do into a brief couple of sentences, how would you describe it?
Just about every electronic device these days contains software – I am one of the hidden army of engineers that design, code and test software to make those devices function. Some devices have screens, whilst others might simply have lights and buttons for their user interface; some even have no user interface at all. Everything a device does has to be thought about and specified in robust detail. It is my job to craft software and negotiate the ‘how it works’ until I get to the magical ‘it works properly’ goal.
What excites you the most about the work?
It’s the ‘solving the puzzle’ aspect of software that really grabs me. Sometimes you have to solve problems that no one has solved before, and sometimes there are many solutions, and you have to find the one that balances user and business requirements. I particularly enjoy debugging – drilling down and finding an elusive race condition or finding a subtle logic error.
What have your biggest roadblocks been?
At one point in my career, I went down the management track, but I found that the further I got away from the code, the less happy I became. I have managed projects and development teams and that is rewarding, but for me, not as rewarding as geeking out with the tech.
What would you like someone who is interested in becoming an Embedded Developer to know?
It is now a huge field, and there’s no signs of the growth stopping. I have now been programming for over 40 years, and there is still new stuff to learn. Engineering is a field where we get to build stuff that has real impacts on society and have fun doing it at the same time.
What’s the best project you’ve worked on and why? What was rewarding about it?
It would have to be the Christchurch Bus Exchanges (both of them) – Developing new technology to track buses and estimate arrival times. The project spanned radio communications, GIS, real time bus dispatching and large-scale distributed data management. It was a pretty cool experience pulling together the technology and the team to create a world-first solution.
Where do you see the future of embedded software going – are there any trends you see coming up?
It looks like Rust is gaining a foothold and there is a lot of hype around it, but it really has a long way to go to affect the dominance of C/C++ in the embedded landscape. The C++ committee continues to roll out new enhancements to the language. I’ll predict that C++ will still be the dominant language in a decade!
What books, training or websites would you recommend for anyone aspiring to work in this space?
For anyone just starting out, I would recommend going to the Sparkfun or Adafruit websites and purchasing an Arduino starter kit. Both websites have great tutorials on everything from soldering to interfacing to graphics displays.
If you are embarking on a professional career, my two favourite books are Code Complete and Writing Solid Code. They are old books now, but both offer solid pragmatic advice that is applicable to a wide range of programming languages and projects.
Is there anything you would do differently second time around during your career?
Not a thing – I have enjoyed every minute of it! I am incredibly lucky to have started out when the industry was in its infancy, and my professional skills have grown as the industry advanced, leaving me with an unusually broad skillset. These days, it’s easy to drown in information – I’d recommend tertiary education and then finding yourself a good mentor at your first job.
What studies would you recommend for someone who wants to follow your career path?
I did Electrical Engineering at Canterbury University and went back several years after graduation for additional Computer Science papers. These days, there are more specialised Mechatronics and Computer Engineering courses. There are so many paths that lead to software engineering – I have come across people in the industry that have studied maths or physics or started out as electronic technicians. I would encourage school leavers to dive into a degree that they are passionate about, and to keep their options open by taking a broad range of courses.
What do you love about working in tech and being based in Christchurch?
Christchurch is a wonderful place to live – there are not many places where you can ski one day and be wind surfing the next. There are plenty of outdoor activities and Christchurch is very bikeable.
What is something you recommend for someone to do in their first month in Canterbury/Christchurch?
Take a drive (or a bike ride if you’re fit) along the summit road – there are great views across the city to the mountains and down into Lyttelton harbour. Beautiful spot!
Stay tuned for next month’s blog on another discipline within the tech arena!