Careers in Software Engineering
For this ComputingEdge issue, we asked George Hurlburt, chief scientist at STEMCorp (a developer of autonomous networking systems), and Jeffrey Voas, computer scientist at the US National Institute of Standards and Technology, about career opportunities in software engineering. Hurlburt and Voas co-authored the article “Software Is Driving Software Engineering?” from IEEE Software’s January/February 2016 issue.
ComputingEdge: What software-engineering careers will grow the most in the next few years?
Hurlburt: Networks now permeate the sciences and are used in mainstream areas such as big-data analytics, the Internet of Things (IoT), cyber-physical systems, autonomous systems, some forms of AI, and cybersecurity. There is a need for software engineers who have networking expertise in these areas. That said, there will still be a need for traditional software engineers, programmers, and app developers, who won’t occupy the top tiers of software development but will still fare well.
Voas: Careers in three areas—AI, algorithms, and understanding how data and data analytics feed business and economic decisions—will grow. Understanding the three areas together make for a very valuable software engineer for today’s world of IoT, blockchain, mobile apps, big data, and cloud computing.
ComputingEdge: What would you tell college students to give them an advantage over the competition?
Hurlburt: You must understand dynamic systems, which are increasingly important, and their underlying mathematics. Additionally, familiarity with agile-development techniques used by teams operating under tight deadlines are still valuable, albeit more for the traditional development market.
Voas: Demonstrate in your interview that your good software-engineering background is only one of the valuable elements that you offer an employer. Employers want more than good grades in advanced courses. Tell recruiters about when you first started writing software, what you wrote, and why. Tell them why you liked it. Let your responses to their questions show that you are a real person, not a robot. Look well-rounded, not geeky. Think about teaching yourself some new material. This shows that you’re a serious player. Also, I only hired people who had a passion for solving hard problems and were willing to work until they were solved. I never hired people who asked more questions about the job’s benefits than about the types of problems they’d be working on.
ComputingEdge: What should applicants keep in mind when applying for software engineering jobs?
Hurlburt: The well-rounded individual with demonstrable knowledge and a good work ethic, good social and coping skills, and flexibility will generally do well in a corporate interview. However, many companies hope to attract venture capital by featuring a software engineering superstar team. In these cases, demonstrating raw skill means everything in the interview.
Voas: It depends on where you want to work. If you want to work in a place where software is not the core product or service, such as a government agency, you should understand that the organization will probably consider software engineers as just part of the IT infrastructure. You might, therefore, have less job flexibility. If you want to work in a place where software is the core product or service, you should understand ideas such as Agile and Scrum, as well as the relationship between testing and coding. With this type of organization, you’ll have more responsibility for innovation and ingenuity, and thus more job flexibility.
ComputingEdge: How can new hires make the strongest impression in a new position from the beginning?
Hurlburt: You should show professional proficiency coupled with a willingness to acquire new knowledge and to learn from mistakes and failures.
Voas: Plan to demonstrate how you think, solve problems, and work with teams. Show that you are as comfortable being the follower as being the leader.
ComputingEdge: Name one critical mistake for young graduates to avoid when starting their careers?
Hurlburt: Avoid assuming that learning is complete after college and not a lifelong commitment. Change continues to accelerate at unprecedented rates, which requires the acquisition of new skills.
Voas: Never think that taking more and more courses necessarily improves your chances of getting a job or employers’ perception of you. Never think that being “book” smart is “job ready” smart. Your managers may not have your educational credentials, but they have time-on-the-job credentials that you have yet to learn.
About Lori Cameron
ComputingEdge’s Lori Cameron interviewed Hurlburt and Voas for this article. Contact her at firstname.lastname@example.org if you would like to contribute to a future ComputingEdge article on computing careers. Contact Hurlburt at email@example.com and Voas at firstname.lastname@example.org.