This is a monthly series featuring embedded developers of the ARM Connected Community.
Extract from James' recently published book, Professional Embedded ARM Development:
James A. Langbridge does not like talking about himself in the third person, but he will try anyway. James was born in Singapore, and followed his parents to several countries before settling down in Nantes, France, where he lives with his partner and their daughter.
James is an embedded systems consultant and has worked for more than 15 years on industrial, military, mobile telephony, and aviation security systems. He works primarily on low-level development, creating bootloaders or optimizing routines in assembly, making the most of small processors. When not on contract, James trains engineers on embedded systems, or he makes new gizmos, much to the dismay of his partner.
James wrote his first computer program at age six and has never stopped tinkering since. He began using Apple IIs, ZX80s and ZX81s, then moving on to BBC Micros and the Amiga, before finally having no other option but to use PCs.
My first microprocessor project was part of a high school project. Our French lycée was a sponsor for one of the Vendée Globe skippers, and our teachers asked us to create a huge map, showing the clipper route with LEDs, and pinpointing our sponsored skipper. The project encountered numerous delays, and wasn’t ready for the start date. We faced power supply problems, trying to create a stable system in a room where even computers flickered and crashed when the lights were turned on. We learnt about programming, about mathematics, GPS, and power supply stabilization. When the project was finally ready, the very same day, our skipper capsized. It was still fun, though.
My book (Professional Embedded ARM Development)! I’ve spent a long time with junior developers and engineers, helping them through training and their first steps, and I’ve always been amazed by their questions, and their curiosity. Throughout my missions, I’ve kept a wiki of not only my questions, but theirs too. After a few years, I started restructuring what I had, and began to realize that I had the structure for a book; I only needed a few month’s work to finish. It has been a fun project, and I hope that it will be a useful tool for newcomers to the field, and maybe experts might be able to learn a thing or two.
New tool? I don’t think I have a favorite new tool. As a consultant, I tend to use tools that the client uses, and since I prefer working with small companies, they don’t have the latest toys. However, years later, I’m still in love with TRACE32. I’ve been using it for years, and I still haven’t seen everything that is has to offer.
Without hesitation, communities. I tend to spend a lot of time on communities, reading through new information, bleeding edge technologies, and general questions. The amount of answers is staggering. It isn’t just about the questions and answers, I’ve met a lot of great people along the way, and I can honestly say that spending time on communities has had an impact on my career. It’s a great way to learn about technology, including fields that, at the time, I wasn’t allowed to work on. Knowledge is power.
Try, code, ask, compare. Never be afraid to ask questions. Nobody knows everything (well, that’s what I thought until I met chrisshore, I’ve never managed to ask a question he didn’t know the answer to). Spend time reading resources, reading blog posts from experts, and trying yourself, but if you can’t find your answer, then ask. Communities are full of people who love to help, and experts who know more than one way of doing things. I’m always amazed at questions that I thought I had the answer to, and found out that there is a more elegant way of solving the problem. .
I’ve met a few experts in my career, and their knowledge of their field is outstanding. The problem is, the market is changing too quickly, and technology is changing even faster. I’ve learnt the hard way that concentrating on just one field can lead to problems when that field ceases to exist. Also, I don’t think that anyone can truly be an expert if he doesn’t know some of the surrounding technologies. Personal experience has told me that engineers know this, but companies tend to forget, and try to force their engineers into a tiny box. We need more experts, but we need experts that are curious about other aspects of a technology, and managers that will let them out of the box from time to time.
Well, okay, maybe a little bit then. I’m currently writing another book, this time on Arduino development. I want to get as many people as possible interested in embedded development, and to show people just how much fun it can be. I’ll be concentrating on the software-side, explaining libraries, but also with hardware schematics for every example. The idea is to have fun, but my editor is already getting worried about my British sense of humor.
Most people think that I’m colorblind, but technically, that isn’t the case. I have acute achromatopsia, meaning that I see almost in black and white. My vision is slightly shifted; I cannot see red, at all, it is black for me. Ultraviolet lights that you can see in supermarkets or laboratories are blinding for me, I need to wear special lenses. The down side is that I cannot drive, and probably never will, since I can’t see red lights, warning signs or even brake lights. The good side is that my computer color theme is so strange that no-one uses my computer when I’m out of the office. The Army tried to recruit me because I can see camouflage much better than “normal” people. The Air Force told me to go away, that I’d never have pilot wings.
Previously Featured Embedded Developers
Embedded Developer Feature: Colin Walls
Embedded Developer Feature: Jacob Beningo, a Certified Software Development Professional (CSDP)
Brad Nemire
Hi James - it's been a pleasure working through the book with you. I'm slightly terrified at your kind endorsement as I'm now imagining the community lying awake at night dreaming up questions to which I don't know the answer! Thankfully, there are lots of talented and knowledgeable people around on here to help out...
And I'd like to take this opportunity to thank ARM for everything you have done. Thanks to bradnemire for the interview, thanks to chrisshore for his time and helping me through some of the more technical parts, and thanks to albanrampon for inviting me to this community, and the time he spent building it. And, of course, thanks to everyone at ARM for your support, your hard work and everything you have done to reshape the mobile world. This book wouldn't have been possible without your help. Thanks!