Are you a good developer already?
Tags: beginners, codenewbie, productivity, webdev
Published: 2021-02-16 13:09:25

As a trainer at [click solutions](https://dev.to/clicksolutions "dev.to page of click solutions"), I regularly supervise trainees and students. Through appropriate onboarding and the teaching of technical content they grow from beginners to real developers. Sometimes even really good developers.

# What are good developers and what distinguishes them?

![A good developer? - Cat on a notebook](https://media.giphy.com/media/aNqEFrYVnsS52/giphy.gif)

Probably not 😉. I think being a good developer it is definitely not related to

* typing fast (maybe even faster than this cat),
* the number of lines of code per day or
* even the theme on your favorite editor.

In my understanding a good developer...

### ... writes working code

That comes as a surprise, huh? But yes, good developers make sure that their code works. They do this by:

* **thinking about it in detail** - What can go wrong? Beginners are usually too optimistic and think too little about the case of failure. 
* **planning it** - Do I have all the information? Are there any side effects? Beginners often start typing immediately to get things done quickly. Not always the best way to write good code.
* **testing it** - Are all requirements met? Does everything work as expected or am I overlooking something? Beginners sometimes don't test their own piece of code.

### ... has internalized KISS

Just to clarify. When I say KISS I don't mean the [hard rock band from the 80s](https://en.wikipedia.org/wiki/Kiss_(band)). It's more the demand to strive for the simplest solution possible for a certain problem. So, **K**eep **I**t **S**imple, **S**tupid! Good developers do that (because they are not stupid, right? 😉).

### ... has understood DRY

Copy & Paste? No, thank you. Rather: **D**on't **R**epeat **Y**ourself. Good developers do repeat themselves, they encapsulate functionality - even if time is running out again. This prevents errors or inconsistencies and increases maintainability at the same time.

### ... never stops learning

Technologies/Frameworks come and go. The IT sector is determined by constantly changing requirements and innovations. State-of-the-art topics of today may already be outdated tomorrow. Good developers are aware of this fact and educate themselves independently. Ideally, they love to learn for life.

### ... has learned to work in a team

A good developer has understood that working together is faster, better and makes way more fun than being a lone wolf. They share their code & knowledge, ask for help and help others. Lone wolfs may do a good job, but teams do amazing things.

### ... wants to get better (every day)

Working in a team brings certain advantages. For example, you always have someone you can ask for advice or feedback. Feedback is a very good way to develop yourself further, as it gives you insight into the way others think and see things, especially about your code or the way you got there. A good developer knows that and asks for feedback to get better (maybe even every day).

### ... communicates (in time and purposefully)

Problems occur from time to time - they are inevitable. But good developers know when they have lost their way without getting ahead on their own and communicate this before reaching a point of no return (e.g. missing an important deadline). But the same applies when there is something that prevent them from being productive or when they have open questions (e.g. unclear requirements from business side).

# Conclusion

There are many aspects to being a good developer, but please remember: no one is born a master or is even perfect. Aiming to be a better developer already takes you a big step further. If you take the time and work on yourself, the rest will come naturally.

Maybe one more not so unimportant thought at the end. To become a good developer, however, you have to do one thing above all: practice, practice, practice... Practice makes perfect! 😄

**What do you think? What makes a good developer for you? Let's discuss in the comments!**

If you liked this post, please give me a ❤️ or even a 🦄 and feel free to follow [me](https://dev.to/pfacklam/ "Profile of Paul Facklam on dev.to") on dev.to. Appreciate it! ✌️

Finally a few more articles from me. Check it out!

{% link https://dev.to/pfacklam/native-lazy-loading-of-images-with-zero-javascript-3hnf %}

{% link https://dev.to/pfacklam/the-power-of-template-literals-4e7e %}