Software development is constantly on the move. Programmers are constantly struggling to keep their skills relevant. Every year brings new methods, frameworks and languages to learn. In the context of a highly complex and rapidly changing industry, it is important to find out which skills, tools and trends are worth your time.
Every year TNW asks the leading software developers for their opinions. Let's face it, if someone wants to be a fortune teller for the industry, it's the ones who work at the front. Here's what they had to say.
Automated code analysis is getting better (and more ubiquitous).
Code analysis tools are nothing new, but were previously reserved for the well-heeled teams of developers who had money at their disposal. Now there are free open source alternatives that give the proprietary offerings a chance. And if freebie tools become more important, their acceptance will continue to increase, Facebook researcher Peter O’Hearn estimates.
“The automation of various test and verification workflows in industry and science was enormous. At Facebook, we have invested in advanced static and dynamic analysis tools that use symbolic and evolutionary reasoning techniques that are similar to program verification and computer-aided search, ”he told TNW.
The tools we develop in London [Infer and Sapienz] address crash and stability issues and perform complex considerations that span millions of code. And because Infer is open source, it can be easily integrated into development workflows to add value while minimizing the friction for developers who deploy code on a large scale.
Separately, we saw steps by GitHub and GitLab to simplify the process. Integration of the source code analysis into the entire code life cycle. With GitHub actions it is possible, for example, to check the code for errors and security gaps when executing a commit. You can rightly argue that these platforms will play an essential role in promoting the introduction of static and dynamic code analysis in the coming year.
Julia Silge, data scientist at Stack Overflow, made similar comments. She told TNW that those who work in the field of workflow automation will become a valuable asset next year as more and more companies switch to the DevOps train.
“At Stack Overflow, we see evidence that automation will be immensely important for software. Moving into 2020 and beyond. For example, GitHub Actions (GitHub's API for building automated software workflows) is one of the fastest growing new tags for Stack Overflow in the past year, ”she told TNW.
We also see software roles that focus on automating the creation, delivery, testing, and monitoring of code, such as: B. DevOps experts and site reliability engineers rank among the highest paid and most sought after in our annual developer survey.
These types of roles even supplant other high-demand roles such as machine learning and data engineers in terms of compensation and the difficulty of hiring them. We even see how important automation is in the products we develop to increase developer productivity. Stack Overflow for Teams can be integrated with other popular productivity tools so that people using code can automatically integrate knowledge sharing into their existing routines.
Tool variety creates technical debt
Technical debt. Technical debt never changes.
Traditionally, the blame has been placed on older systems that were developed before the advent of modern software development practices (such as microservices, source management and agile). Even if legacy systems often prove problematic, Deepak Giridharagopal, CTO of Puppet, believes that a future is coming, all thanks to the heterogeneity of today's software development world.
“While companies are constantly changing and introducing new technologies and patterns to better meet their needs, a lot has changed in the world of infrastructure in 201
With all of these fundamental platform improvements, however, one truth remains inevitable: new applications are created faster than old ones. The easier new platforms become, the faster new applications can be created. And when new platforms become more robust and reliable, these applications can have a longer lifespan. If you do the math, it means that for those with multiple applications and teams in the game, the world will become more heterogeneous over time.
In 2020, companies should start with an increasing variety of vintages of their applications. Legacy apps from a decade ago or more. Apps from recent years that were essential at the time in terms of their architecture and technical selection. And new apps that use current trends. However, it is the infrastructure engineers who have to rationalize and operate all of these different environments, technologies and architectures.
Perhaps 2019 would be the year of "I can solve this infrastructure problem by adding this new technology". I'm afraid 2020 could be the year two problems arise.
Do you want to work in Rijksoverheid? You are hiring.
2020 will be the year of machine learning. and AI
Brian Dawson, DevOps evangelist at CloudBees, believes it is time for developer tools to become smarter, which in turn improves the efficiency of the encoder.
“Developers will start to see smart IDEs, compilers, CI / CD pipeline tools, etc. that learn how to collect data while they work, and behaviors, etc. that work as virtual pair programmers to identify errors and Anti-patterns serve in terms of code and procedures (frequency of commitments, etc.) as well as recognizing and promoting success behavior and procedures, ”he told TNW.
Dawson has deleted a list of areas in which he believes AI can help developers in their working lives. As you might expect, it's a fairly long list, mainly focused on providing feedback and preventing errors that affect development schedules.
"Machine learning algorithms can remind a developer that they have prevented a merge / pull – too long a request, which dynamically relates the time of a pull request to the integration or test success of errors, which unit and function tests to run based on what code has been changed by a developer and which functions have been introduced. You will unlock developer feedback streams based on the use of a flagged feature that is provided to a segment of users in production, and inform a developer of how the user experience is related to code and where additional focus may be required. “
] Last but not least, they help to continuously determine the likelihood of an acceptance test passed, a successful delivery, a punctual delivery, etc., and make suggestions for removing blockers and increasing the chances of success.
Serverless is growing up
] The enthusiasm for serverless computing was phenomenal. Serverless is expected to have played an important role in earlier editions of this year's paper, mainly in the context of the almost religious war Docker Swarm vs. Kubernetes is currently waging, in particular beyond the core tasks of deploying, scaling, and monitoring applications.
"2020 will be the year without a server, but not as you think," he told TNW.
Developers have spent a tremendous amount of time on everything except creating software that solves problems. "DevOps" has evolved from "developers who release software" to "developers who build an increasingly complex infrastructure on Kubernetes" and "developers who reinvent their software as distributed stateless functions". "Serverless" will mature in 2020. Handle state. Handle data storage without developers having to learn another proprietary database service. It's fun to learn new things, but shipping is even better, and we'll finally see systems and services that support it. 19659002] “The coming year will be the first in which complex infrastructures will be made accessible and scalable for software development teams. Code ready workspaces and local container runtimes offer excellent developer experiences with a special command line interface (CLI), such as the open source Odo project, ”he said.
Deep integrations in existing development environments close gaps with Kubernetes-native Continuous Delivery (CD) mechanisms (e.g. Tekton Pipelines). Optimized frameworks accelerate local developments and make it easier to get started in productions such as the open source project Quarkus, which was piloted in November 2019 with version 1.0.
You Made It So Far Me: Do you agree with what was said? Or do you disagree at all and have your own bold predictions? Let me know in the comments below, or by contacting on Twitter .
And if you'd like to compare with our previous predictions, click here for our 2019 article and here for our 2018 considerations.
This article was published by Rijksoverheid.
Published January 15, 2020 – 13:07 UTC