Electric vehicle mechanics: "As automakers upgrade the features in electric, so will the amount of software code in each vehicle. Software engineers with knowledge and fundamentals on electric vehicles will be in better position to create complex battery systems, electric drive units and cabin electronics."
Environmental engineering: "The green movement will remain a hot button issue for future engineers. Finding new ways to improve the environment, provide healthy water, air, and land for human habitation, and to remediate polluted sites are all important areas of expertise for software engineers."
Agile and collaborative development methods
"Today's developers need to have awareness of more agile software development processes," says Jeff Langr, owner, Langr Software Solutions, a software consultancy and training firm. "Many modern teams have learned to incrementally build and deliver high-quality software in a highly collaborative fashion, to continually changing business needs. This ability to adapt and deliver frequently can result in significant competitive advantage in the marketplace.
"In order to deal with continual demands for change coming from the business, and sustain reasonable maintenance costs on their systems, today's developers need to understand how to incrementally grow their systems using appropriate quality technical practices," says Langr. "Some of these practices are: test-driven development (TDD), automated acceptance testing, refactoring, continuous integration, and continuous delivery."
Developing for deployability, scalability, manageability
"Sysadmins are likely to own the software for much longer than the developers -- what are you doing to make their stewardship pleasant enough that they look forward to your next deployment?" asks Luke Kanies, Founder and CEO of Puppet Labs: "This includes deployability and manageability. New technologies are often much more difficult to deploy on existing infrastructure because developers haven't had time to solve problems like packaging, running on your slightly older production OS, or connecting to the various services you have to use in production."