Tech Innovations and the Future
Being a software engineer in today’s job market is an enviable position. The constant development of technological innovations seems to have no end in sight. Advances around the Internet of Things (IoT), mechatronics, machine learning, telematics and artificial intelligence mean more industries than ever are in desperate need for the best and brightest software engineers.
We listened to veteran software engineers to understand how the fast pace of innovation is changing career opportunities.
The self-made trade
Unlike other engineering disciplines, the skills acquisition required to become a successful engineer can start as soon as a youngster is able to reach the keyboard. The term “digital natives” describes a generation who grew up in a world already saturated with the tools of technology.
One self-made expert offering advice shared:
“I'm a successful software engineer [mostly] self-taught, but it takes a lot of work and work takes time. You need to be passionate about building things, you need to challenge assumptions, you need to try to see things from the mind of an engineer. Most importantly to succeed, you need to actually think like an engineer.”
Plane spotting and motorcycle diaries
We’ve been working with software engineers almost as long as the discipline has existed. Aerotek contractor Swee Mok has been working in software engineering and embedded systems nearly as long, and his inspiration came at a very young age.
“When I was about 5 years old, my dad used to drive me out to the airport to watch planes land and take off. I was awed by the incongruity of such a huge machine lifting itself into the air. I guess this is when my fascination with how things work began. I started taking things apart – almost anything – at a very early age. Soon, I focused on motorcycles, hacking parts from one onto another. I eventually became an aeronautics major, and I got my master’s in rockets and robotics. I guess those early days with my dad at the airport really stuck with me.”
The great from the good
As with any profession, all specialists are not created equal. A popular Quora question about what makes a great software engineer aligns with our experience in placing the best and brightest engineers.
One seasoned software engineer suggests these three traits distinguish the great from the good:
- Able to balance pragmatism and perfectionism: Great software engineers have the ability to make both masterful/quick/dirty hacks and elegant/refined/robust solutions, and the wisdom to choose which is appropriate for a given problem.
- Not averse to debugging and bugfixing: Good engineers often fear and loathe debugging, even of their own code. Great ones seem to dive right in and drill down with tenacity.
- Healthy skepticism: A good software engineer will get a solution that appears to work and call it a day. The great ones will tend to not trust their own code until they've tested it extensively.
An automated future
We asked Swee, a robotics specialist, whether he saw the coming autonomous future as one where robots rule.
“I’m excited for what the future holds. In the coming years, much of the tasks can be handled by robotics. When you think about the advances in machine learning, the potential applications for artificial intelligence, combined with the increasing sophistication of robotics, it’s a pretty exciting future for fans of automation — if you’re interested in advanced robotics and artificial intelligence — there will be plenty of great jobs waiting for you.”
Ready for change
We know, firsthand, that the integration of automation everywhere is creating huge demand for highly-skilled software engineers. Engineers with skills that barely existed ten years ago. Curious to learn how software engineers acquire skills to prepare for this accelerating demand, one veteran explained: “My average tenure at a job is two to three years. The only thing I would suggest is to not get tunnel vision for one technology. When I first started, ColdFusion, Flash/ActionScript and RIA (rich internet applications) were all the rage, four years into my development career, flash was on life support, RIA was dead and only a handful of places used ColdFusion. My point isn't so much that now iOS dev is bad, just strive to be a software engineer who just so happens to specialize in iOS/mobile development (at the moment). You should be adaptable and keeping your eye on market trends.”
Learning to learn
We asked Swee what advice he’d give to people considering a career in software engineering: “There are a lot of self-taught people coming up. To prepare for the complexity of coming work challenges, I recommend aspiring software engineers get as much formal education under their belt, as early as they can. Going to college does more than just expose you to the technical knowledge you’ll need. It’s where you learn how to learn.”
If you’re a software engineer thinking about testing your value in this high-speed market, we’d love to hear from you. In the market for work? Take a look at our current software engineer opportunities or create or modify your free Aerotek career account.