The 13 developer skills you need to master now

29.02.2016
Heavy weighs the crown of the developer king.

Yes, as software eats the world, demand for skilled developers remains high. But software’s pervasiveness -- from the server to the cloud to the coming onslaught of wearable and IoT devices -- means far greater responsibilities for software engineers and the need to constantly expand your skills.

Companies are now frequently looking for someone who is comfortable with every layer of the development stack, has the ability to extract insights from massive data sets, and can think strategically about devices to come, all while reconsidering old systems using the latest languages and frameworks. It’s enough to have no idea where to start.

To find out the most sought-after developer skills this year, we reached out to a mix of recruiters, CTOs, CEOs, and other executives who offered their must-have technologies to try, strategies to consider, and soft skills to master.

If you’re looking to dust off your resume or update your current skill set (you should be), let our breakdown of the most desirable skills and trending technology needs be your guide.

These days, developers who have mastered JavaScript can’t go wrong, say those we surveyed. JavaScript proficiency is by far the most frequently sought skill named by executives and recruiters.

“Most developers already have an impression of the top keywords employers are searching for, having pored over job boards and comparative salary reports, while preparing for a job interview,” says Sherif Abushadi, an instructor at Dev Bootcamp. “JavaScript is the talk of the town, as are dozens of related frameworks and libraries built by the JavaScript community.”

Regardless of whether you’re building for the desktop, the Web, or mobile, “JavaScript has proven to be a highly portable and valuable skill set in today’s market,” says Todd Anglin, chief evangelist at Progress Software.

Engineers with solid computer science fundamentals and knowledge of a modern stack won’t go looking for work, says Mark Stagno, principal consultant for the software technology practice at WinterWyman Search. “This could be full-stack engineers or UI-focused developers who know JavaScript and a modern library such as AngularJS or React,” he says.

Abushadi adds that, while JavaScript is king, other popular languages and approaches worth dipping your toes into these days include Ruby, in concert with the Ruby on Rails framework, and Python, in conjunction with Django; both technology stacks have proved themselves vital to building scalable Web applications.

Big data projects continued to get, well, bigger last year, and there’s no sign of that slowing down in the years to come.

“While big data has been around for years, it’s a trend that’s here to stay,” says Andrey Akselrod, co-founder and CTO of Smartling. “Developers must have in-depth knowledge of [business intelligence] and analytics products, machine learning tools, and other solutions that transfer, store, and aggregate large amounts of data. Only then can they help their organizations store, interact, and analyze big data to make better business decisions.”

The pace of data creation is dizzying, says John Piekos, vice president of engineering at VoltDB. But so are the opportunities.

“Mobile and Internet of things devices are becoming ubiquitous worldwide,” Piekos says. “Applications being developed today are harnessing amazing amounts of data and analyzing and reacting in real time. Technologies that capture and act on data the moment it arrives, such as streaming solutions and in-memory data stores, are becoming must-have skills to master. And technology that can store, manage, and historically analyze massive amounts of data -- petabytes and up -- will be skills that serve developers well for the next decade.”

For developers looking to add data wrangling to their arsenals, technologies such as Hadoop, Spark, R, and the variety of machine learning frameworks currently emerging are great places to start.

Many top firms are now seeking full-stack developers who comfortably move between a variety of technologies and platforms.

These engineers “understand the implications of technical decisions from core layers of the software onto the presentation layer,” says Hossein Rahnama, founder and chief product officer of startup Flybits. “These are great assets as they make the job much easier for their peers and will prevent the startup from developing silos by following a classical hierarchical technical decision-making. They enable the teams to remain small and effective. Leveraging platforms such as Top Coder and Amazon Mechanical Turks are also great ways to engage in cool projects.”

Bryan Reinero, developer advocate at MongoDB, says going forward, engineers will need a broader range of skills to be effective: “Fortunately, increasing the scope of expertise is both healthy for the engineer as well as for the company in which she works.”

Some tech gurus think devops will fall by the wayside as the use of cloud computing continues to grow inside corporations. Not so, says MongoDB’s Reinero.

“Devops skills are a clear stand-out,” Reinero says, “often expressed by the dicta ‘Engineers responsible for writing an application are the same engineers who maintain the application in production.’ This includes the need to break down engineering silos such that engineers understand how their code operates in production and are mindful of performance and stability during the development phase.”

Greater access to hot job prospects isn’t the only reason to look into adding devops to your resume; devops practices simply make you a better developer and a more invaluable collaborator, Reinero argues.

“Engineers who think in these terms will release better code faster and with greater confidence,” Reinero says. “Devops practices also improve team cohesion and operational agility. This is the kind of edge that allows a company to accelerate ahead of the pack.”

The skills companies are looking for today are considerably more varied compared to a few years ago, says WinterWyman Search’s Stagno: “Java and C# remain a part of the market, but when you look at companies founded after the last recession, you're seeing a variety: Ruby on Rails, Python/Django, Node.js, and the emergence of functional programming languages, with Scala the most prevalent.

“We're starting to see some companies adopt Go as well. I'm not a believer that you need to find the ‘right’ technology to master, but you want to make sure that you are current, as there are wrong technologies to choose that will put you behind the curve as the landscape is ever-changing.”

In particular for freelancers, the ability to point to your code on GitHub shows that your work has been put to good use and reviewed by your peers.

“Work on meaningful libraries and open-source them to demonstrate instantaneous value to potential employers,” says Kiran Bondalapati, co-founder and CTO of ZeroStack, adding that contributing to open source projects can also help establish collaboration credentials.

Candace Murphy, recruiting manager at staffing services firm Addison Group, says that .Net and Java skills are still in great demand, but “larger trends in open source development are growing. We’re seeing uptick in requests for IT professionals with Ruby, Python, Node.js, and AngularJS open source JavaScript experience. This trend is driven by companies moving away from the traditional platforms that require licensing fees.”

If companies themselves are exploring GitHub for technologies to add to their stacks, shouldn’t you

Agile development should be part of a coders’ quiver of skills in 2016, says Greg Sterndale, co-founder of PromptWorks, a Philadelphia software consulting shop specializing in Web and mobile applications. And keep it simple: “Be humble and be hungry. Be familiar with agile and lean methodologies -- the ability to break down big projects into small stories, prioritizing, adapting to change, and delivering the most value.”

Since offering feedback is important in an agile environment, Dev Bootcamp instructor Abushadi stresses the need to understand your co-workers as well as the project: “The ability to provide honest, kind, and actionable feedback when working in teams is only truly possible when you have empathy, and the skill of giving -- and receiving -- feedback is more often than not the key difference between successful and unsuccessful projects.”

According to Addison’s Murphy, companies that suffered security breaches last year already know what they want and what skills will be the most useful to them in 2016.

“They’re taking more proactive approaches to increase security, not only within their IT department but across the board,” Murphy says. “We’ll see a shift in the most in-demand technologies this year as a result.

Experts noted the increased demand for network security, in particular adaptive application security, as well as cloud security.

“With the increase in adoption of the cloud, security and compliance are growing concerns for organizations,” says Aashish Kalra, chairman of Cambridge Technology Enterprises. “This has resulted in an upsurge of demand for experts in security, compliance, governance, and data administration.”

While developers may have traditionally passed the security buck to dedicated security pros, the need for developers to safeguard their code keeps growing. Consider it an invaluable, growing niche to fill.

Mobile developers are highly sought after, especially those who can distribute their creations widely, says Smartling’s Akselrod. “I would argue that being a successful mobile developer is not achieved through a particular technology skill set,” he says, “but rather through business savvy. Writing code is only the first phase of the project. Knowing how to promote your mobile app, and attract and retain customers, is what drives success.”

“When mobile first emerged, the first-order problem was the app: How do I build these remarkable experiences that will run well across device types and operating systems” says Jeff Haynie, CEO and co-founder of mobile technology company Appcelerator. “As the industry matured in this, acquiring better skills and tools, everyone now confronts the next big challenge: How do I get data -- in the right format, of the right size, with the right resiliency and responsiveness -- fed into these apps That’s a much bigger trick.”

Connectivity issues and the fact that devices are moving beyond the screen further fuel the need to investigate the data piece of mobile development.

“The Web models of connectivity don’t work,” Haynie adds. “So this issue, coupled with the fact that more and more devices may not even have a screen and depend entirely on data and services for their usefulness, means that access and orchestration of data really is the new development challenge.”

Mobile is one of the most attractive aspects of the Internet of things, says MongoDB’s Reinero. But he warns it offers challenges.

“Mobile applications that start off small can become explosively popular and put heavy load demands on infrastructure,” Reinero says. “This means that every back-end component of a mobile service, including application servers and database servers, must have a capacity to scale quickly. Engineers need to familiarize themselves with both with the scaling model of individual components ... as well as how to manage infrastructure-as-a-service offerings such as Amazon Web Services, Microsoft Azure, and Google Cloud Compute.”

Even if mobile isn’t your strong suit, familiarity with current and emerging technologies can boost your career.

“For mobile, developers with UX/UI experience are in high demand,” says Jason Hayman, market research manager at TEKsystems. “The ability to understand and effectively collaborate with UX/UI pros can make developers stronger candidates.”

Unsurprisingly there’s a steady demand for developers familiar with Amazon Web Services and Microsoft Azure. “In cloud providers, Amazon is still the biggest player by far, so keep up to date with their more advanced offerings like the API Gateway, Lambda, and the Container Service,” says Nic Benders, chief architect at New Relic.

But it’s not all about tools, when it comes to developing career opportunities in the cloud. In part of an ongoing trend, companies are looking for developers with business skills, including project management and the ability to negotiate with vendors, says TEKsystems’ Hayman. “Additionally, there’s a need for more ‘move the business forward’-type skills, but less of a need for tactical work, as cloud providers are now increasingly responsible for that,” he says.

“Success in the cloud means having deployed infrastructure that is secure, properly monitored, and properly managed,” says MongoDB’s Reinero. “IaaS and cloud platforms offer terrific opportunities, but improper management of a distributed cloud infrastructure can evaporate any advantage if failures exhaust a team’s time and budget, and lead to unnecessary loss of business availability.”

The long-heralded concept of the Internet of things is now showing up both as a hiring demand and as a skill talented engineers want to explore themselves. And it’s not only for embedded systems engineers anymore.

“You can do it even as a JavaScript developer,” says Flybits’ Hossein Rahnama. “The advent of protocols such as Wi-Fi Halo and wearable and IoT devices opening lightweight SDKs, will open many opportunities for developers to go beyond displays and build things for their surroundings and environments. We will also see many hardware/software co-designs due to the advent of these tools.”

MongoDB’s Reinero sees new opportunities where medical devices and the cloud converge: “This includes more wearable devices used for outpatient treatment and care, and smaller devices used in diagnostics,” he says. “These devices will enable us to learn more about ourselves and vexing disorders. Data aggregation and analysis will be a critical part of how these devices are used. The availability of scalable and robust nonrelational databases used in conjunction with analytics systems will allow professionals to analyze medical data at a scale not previously possible.”

What about soft skills Our experts frequently raised the idea that the ability to reach across divisions is a top demand for new hires.

“Client management skills are important, particularly the ability to push back tactfully but convincingly when there are alternatives that deliver more value,” says PromptWorks’ Sterndale. “Also being able to educate clients about the nature of software, guiding them toward practices that will serve them best in the long run.”

“It’s more important than ever … to demonstrate strong communication skills in a business setting,” says Addison Group’s Murphy. “With data security and privacy becoming exceedingly important in the boardroom, IT pros must concisely present their work in an easy-to-understand manner.”

If you’re the 10x, full-stack developer on your team, there’s more demand than supply for your services. But if you’re starting out or making a career change, the right attitude can make all the difference in getting -- and staying -- hired.

“On more than one occasion, I've gotten feedback from hiring managers referencing an engineer who is not necessarily the most talented engineer on the team, but is among the most valuable because of their attitude,” says WinterWyman Search’s Stagno. “Being a good team member, having a willingness to be part of the solution rather than part of the problem, lending a helping hand to team members, volunteering ideas and efforts to improve the product or the culture are valuable to any team.”

(www.infoworld.com)

Paul Heltzel

Zur Startseite