Programming Code

How 2018 Changed The Software Development Landscape

Varun Garg, Acuant’s Director of Cloud and Mobile Engineering, recently contributed to DevPro Journal with an overview of the advances in the 2018 software development landscape. You can read his article below. To read the original, click here.

Software development ranks as the number one job in the U.S. Although the demand for developers is not new, there has been a huge surge in demand for and lack of availability of software developers in the last few years. The advent of new technologies such as artificial intelligence (AI), blockchain, virtual reality, and IoT have only widened the IT skills gap.

These factors contributed to some significant changes in the software development market this year. Here are my top five trends that changed the software development landscape:

1. 2018 was the year of the telecommuter

The number of full-time employees who telecommute has grown by 115 percent since 2005. Virtual collaboration channels such as JIRA and Slack have made it easier for employees to stay connected to their team and communicate effectively. The IT skills gap and the competitive nature of the market has caused companies to become more flexible in offering telecommuting options to their employees. We expect this will continue way beyond 2019.

2. The mass adoption of Design Thinking, Lean and Agile

Developers have embraced lean and design thinking approaches as they are both customer-focused and based on an iterative approach. Customer engagement and feedback is the engine for making progress. The key difference in lean product development is that it focuses on building business models and not only products. While design thinking helps to gain insights into customer needs and behaviors, agile helps to efficiently develop and deliver solutions in an efficient way. But this new approach to development will bring some organizational challenges as companies attempt to shift their culture to match their increased use of this new way of thinking.

3. JavaScript was the most widely-used programming language in 2018

This can be attributed to its popularity for being used to develop IoT, blockchain and mobile applications. JavaScript developers can build a full stack application using Node.js and React Native rather than developing in different programming languages for frontend and backend. Node.js is a server-side JavaScript framework to unify web application development around a single programming language. npm, Node.js’s package manager, is the largest ecosystem of open source libraries in the world. React Native made possible to build cross-platform mobile applications by using React and JavaScript. It saves time and makes the transition from web to mobile development smoother.

4. Enterprises are now implementing blockchain and not just exploring it

There is a huge demand for blockchain developers and current blockchain developers are paid way more than typical software developers. Blockchain is disrupting almost every industry from financial to healthcare to real estate to politics to government etc. Blockchain is a more secure way to store banking records and a faster, cheaper way of transferring money through the decentralization provided by blockchain. Plus, there’s minimal risk of a run on a blockchain system or a collapse, as there’s no central “vault.” If you’ve ever bought or sold a home, you know how much paperwork is involved. But blockchain systems could be used to simplify the process and eliminate escrow altogether. Smart contracts could be designed that only execute when certain conditions are met, including funding.

5. Continuous Delivery is no longer a competitive advantage

As soon as code is written, it is integrated, tested, built and configured via automation. Despite speeding up the rate of deployment, continuous delivery helps teams reduce the number of errors that make it into production. Thanks to continuous testing, all errors are caught immediately and sent back to the developer to fix. Following the Agile principle of short feedback loops, continuous delivery gets new releases into the hands of customers fast.