Developers’ dilemma: Code from scratch or assemble existing code
Yet, two-thirds of developers (65%) say that writing new code is the most valuable skill in their role.
These findings look contradictory at first glance. Let’s explore the advantages and disadvantages of each approach – coding from scratch and relying heavily on pre-existing code, tools, and platforms.
High customization requires coding from scratch
Coding from scratch refers to writing code without any pre-existing code or tools. This approach requires a deep understanding of programming languages and their syntax. Programmers who code from scratch have complete control over their code, which allows them to create customized solutions. This approach is often preferred for complex projects requiring high customization and control levels.
On the other hand, using tools and platforms to code offers several advantages. Firstly, it saves developers time and effort using pre-existing code libraries, frameworks, and APIs. This approach also reduces the risk of errors and improves the efficiency of the development process. Tools and platforms provide a high level of abstraction, which means that developers can have a more in-depth understanding of programming languages to use them effectively.
Why are tools and platforms so popular?
Several tools and platforms are available for developers, such as Integrated Development Environments (IDEs), Content Management Systems (CMS), and Low-Code Development Platforms. IDEs provide comprehensive tools for writing, testing, and debugging code. CMS allows developers to manage the content of their websites or applications without writing code. Low-code development platforms provide a drag-and-drop interface that enables developers to create applications without writing code.
Tools and platforms have become increasingly popular in recent years and for a good reason. They offer several benefits that can significantly improve the development process. However, there are some disadvantages to consider:
- Using pre-existing code libraries can lead to security vulnerabilities if incorrectly implemented;
- Reliance on tools and platforms can lead to a need for more creativity and innovation among developers;
- Some tools and platforms can be expensive, a significant barrier for smaller organizations.
What do the numbers say?
According to the following numbers based on Atlassian’s State of Developer report, two-thirds of developers (65%) say that writing new code is the most valuable skill in their role, while 74% feel that being able to read code is vital. Yet 58% of developers don’t feel that writing code from scratch will be required as part of their roles in the future, and 51% say they mainly assemble code written by others. These findings look contradictory at first glance.
If we talk about the value of using the tool, the statistics conducted based on surveyed developers show the following:
This is an area of contention for developers. However, we get a more nuanced view of where developers think the future of coding is headed based on their sentiments toward tooling and the value of compiling code. One-third (32%) say that coding is the most valuable skill and is unlikely to be replaced by tools, a similar number (33%) are undecided, and 22% say tools will ultimately make coding obsolete. A smaller group (13%) values coding but also thinks tools will eventually replace it.
These divided opinions mean that we can’t assume that all developers, or even teams of developers, feel the same way about coding or the tools and platforms that may replace it from scratch in the future. Managers and leaders of development teams should think carefully about their toolchains, what tools they add, and when to add them.
This ensures developers have an adequate voice in their work, especially navigating complex transitional periods. Judging by the mentioned research, if we segment these groups further, it shows a clear difference in their views:
Code > tools
- High value of coding and code review;
- Low likelihood of tools replacing code;
- Unlikely to be assembling code written by others.
Code < tools
- High value of coding and code review;
- Low likelihood of tools replacing code;
- Unlikely to be assembling code written by others.
Code = tools
- High value of coding;
- High likelihood of tools replacing code;
- Unlikely to be assembling code written by others;
- Moderate value of code review.
Neither code nor tools
- Moderate value of coding;
- Moderate likelihood of tools replacing code;
- Most likely to be assembling code written by others;
- High value of code review.
Coding from scratch and using tools and platforms both have advantages and disadvantages. It ultimately depends on the project’s requirements, the developer’s skill level, and the available resources. It is crucial to consider both approaches and use them appropriately to create efficient, secure, and innovative solutions.
The groups that favor tools over code or value neither highly are less likely to work in development roles like software engineer, software developer, or DevOps. They are more likely to be in adjacent roles such as network engineer, cloud engineer, security, or quality assurance. This explains part of the pattern because these groups are less likely to work directly with code daily.
This trend is evident when we examine the activities each group frequently performs as part of their role. Both groups are more likely to reuse code, manage code dependencies, and monitor applications. The code<tools group spends more time planning and scoping. The code>tools group is the most frequent one, showing a strong association with all code-related activities measured in research.
The code=tools group spends its time maintaining repositories and deploying and documenting code. They are more likely to design solution architectures and review code but are less likely to write code directly. The most proficient coders are the two groups that most commonly work with code (Code=tools and Code>tools). More than 90% consider themselves experienced or expert coders. Those that think tools will eventually replace coding (Code<tools) are the least proficient coders, with 76% claiming to be proficient or expert.
You can download more details about the Atlassian research dedicated to developers for 2022 as a PDF file.