What makes a good developer?

What makes a good developer?

Many developers see themselves as good developers. In some cases this is true. But the problem is that "good developer" means different things to different people. So what makes a good programmer and what qualities should he have?

The Evans Data Corporation's study found that there are 21 million working developers worldwide. That's a vast number, but we don't know how many could be considered "good developers." There's no reliable data on this subject. Can such data even be collected? This is a question for scientists - we can only assume that a good programmer must have certain qualities. We took on the challenge and found out what they are. It is obvious that a good developer should have programming skills and latest technologies. But what else?

(Further) development in focus

Extensive knowledge and programming skills are one thing, but a developer should focus on their own development. As can be seen from Stack Overflow statistics, over 76% of professional programmers have a university education. For all developers striving for the title "good", education is only the first step. 91.1% of professional developers improve their knowledge regularly. 46.6% of them attend courses either organized by their employer or otherwise. 44.1% take online courses and over 25% hone their programming skills at hackathons and coding contests, while over 16% acquire certificates.

It is widely accepted that people should continue learning even after finishing school or university. However, for a good developer, this is not enough. As the saying goes, "you don't learn for school, you learn for life." The choice of how a developer furthers their education is largely up to the developer themselves. A good developer educates themselves at the same pace that the world of IT changes- always staying on top of things! In The Clean Coder, Robert C. Martin writes that programmers should dedicate their work hours to their employer and use +50% of their hours for reading, learning and practicing. Martin also warns programmers that they should not stop learning new languages if they want to stay ahead. A good developer regularly checks their level of knowledge and skills.

The weight of time

A professional knows how to value his time. A good programmer can't afford to waste his time, and therefore respects the time of others. In practice, it depends on smart and efficient time management - careful planning of tasks and minimal resource consumption. For example, it is much more efficient to call a customer directly than to send endless emails back and forth. It should also be avoided to do the most important and time-consuming tasks at the last minute.

There are different tricks and techniques for time management, the most well-known among developers being Scrum (dividing work into smaller phases: planned, in progress, verified, urgent, completed), but there are also other things like the Pomodoro technique (timer set for 25 minutes and during that time only one specific task), or the 5S method (five rules for a well-organized workplace).

A good developer does not waste time. One should be able to estimate the duration for each project and make a thorough planning of the subtasks in advance. There is not much procrastination. If one sees code that does not fit, change it immediately - sooner or later it has to be done anyway. But at the same time, a good developer also knows when to stop the pressure - do not take on additional tasks if you know that this will reduce the quality of the work. Such a programmer avoids haste because he is aware that stressful fast-fast is the natural enemy of high-quality work. Instead, one will concentrate more on the maintenance of clean code that allows for a smooth expansion. Keep calm even if the deadline is getting closer. In many cases, such an approach can save a project that is about to collapse.

Documentation: thorough

It is probably well-known – creating good documentation is one of the worst tasks for developers. The problem: nobody likes having to write documentation. But nobody likes reading badly written documentation either – if they can even read it. A good developer doesn't see preparing the documentation as a necessary evil. They are aware that work on a project runs smoothly as long as all the documents have been thoroughly created. A good programmer has the habit of making things easier wherever possible. This also applies to documentation. If the documentation is thorough, error-free, consistent and transparent, it will be easy to find all the information you need. First of all, proper documentation simplifies the work of all parties involved in a project. Secondly, it will be much easier in the future to simply implement new features (and then document them again).

It should be clear that documentation must be done and done reasonably.

Ask questions

Socrates' well-known sentence "Oida ouden eidos!" means something like "I know that I know nothing."

This is true for all of us, even software developers. A good developer will admit when they don't know something, as opposed to many others who act like they know everything and then have to look it up online when no one is looking.

This is not a long-term strategy, however. Programming is a knowledge-based job, and nobody knows everything. A good developer is not afraid to ask questions of those who are smarter. He will invite them to solve a specific problem together and gain new experiences in doing so. A good coder looks for clues and solutions from different sources, as well as on devjobs.at :-) Accepting our limits is the first step towards greatness, even in programming.

Test, test, test

A good programmer does not fiddle when testing the code. No, it is carefully repeated at every step of the work. This is a reasonable approach, because it can later avoid tedious and time-consuming searches for errors. To solve this problem, new software development techniques are gaining ground, such as test-driven development (TDD). A good programmer knows that TDD is better than wasting time debugging the entire code. The more tests are run, the better the results will be.

Some experts even claim that programmers who don't use TDD will be unemployed by 2024. This may be an exaggeration, but the fact is that tests are necessary. TDD is just one example of many other procedures available to professional developers. Developers not only make the tests, but of course they also pay attention to their quality - much more important than quantity.

Of course, there's a lot more to say on this topic. The purpose of this article is to provide some food for thought and signal a problem. Let's all look around. Maybe a good programmer is sitting in your office? Be inspired by this article to become the best developer you can be! Or are you one already?

Developer Jobs in Austria

This might also interest you