How can I become a good programmer

7 steps to becoming a good programmer


Sometimes success fails because of a wrong attitude. If you ask what ultimately makes a good programmer, the answer is unfortunately far too often: talent. Anyone can become a good programmer if a few simple rules are followed.

1. Learn how to ask questions and when to avoid questions.

Who dont asks stays dump. We learn that already in childhood. What we don't learn is to ask really good questions. A well-asked question is precise, simple, short but detailed enough. Only those who know what they want to know will find out in the end. Sometimes, however, it can be better to avoid questions or at least put them on hold for now to try to solve a problem yourself. By postponing the question, relevant information can be gathered and a problem can be examined and analyzed more closely. Eventually, this can lead to asking a better question. It takes a lot of practice to be able to ask good questions or to know when to avoid or postpone questions. The ability to ask good questions is essential for development as a programmer.

2. Never leave a pile of broken glass behind!

Software projects often have to be implemented under time pressure. But this should never lead to carelessly producing bad code. Bad code is always a signal to subsequent projects, be it your own or someone else's. Once a bad style is established, other developers think they can get away with it, too. In the end there is a result that nobody will be satisfied with, neither the programmers nor the users - a heap of broken pieces. The following sentence is ascribed to statesman and inventor Benjamin Franklin:
The bad quality bitterness lingers long after the low price sweetness is forgotten. The low price here is the supposed gain in time saved when developers implement something very carelessly. The job seems to be done quickly, but the annoyance bad software creates lingers for a long time.

4. What can break will break at some point!

In an ideal world, everything about software would be predictable. All developers are functional programmers who write clean, flawless code. There would be no surprises here. Unfortunately, experience shows that things often work differently and that software has nasty surprises in store. Therefore, try to build your procedures, functions, and methods as solidly as possible so that they work predictably. The way of programming software that is as predictable as possible is also known as “deterministic programming”.
Developers and programmers should try to work deterministically in all their projects, regardless of the technology or language they use.
Perhaps at first glance it seems easy to simply keep a small mistake in order to, according to the resolution, at some point correct it. But that usually does not happen, but what will most certainly happen is that the mistake "strikes". Think of Murphy's Law: what can break will break. That's why you always expect the unexpected. Develop an "inner pessimist" who always tries to foresee what can go wrong.

5. Don't stick to dogmas!

The world of computer science is full of fantastic promises of new programming paradigms, models and technologies. At the same time, programmers like to see themselves as mathematicians whose work is based on the perfect world of formulas. But that's wrong. Programming languages ​​are actually based on mathematics, but nobody should therefore believe that this has been strictly implemented in the languages ​​down to the last bit. Whether SQL, PHP or Java, these languages ​​are platforms built by pragmatists, behind which there are great theoretical concepts, but which are ultimately built for practical use. This applies equally to everything that is based on these languages: libraries, runtime environments or architectures. These are all tools designed for specific contexts. Therefore, you shouldn't attach any particular paradigm or programming style to it. XML, model-driven software development or modeling languages ​​such as UML are powerful tools, but not all-powerful. There is no such thing as an absolute truth in software development and there is no master tool for all problems in programming.

6. Focus on one specialty and stick with it curious.

There may be someone somewhere who is terrific at all areas of programming. Most of the time, however, the generalists are generally mediocre in everything. This can also be fine for smaller projects, but in the long term specialists are needed more than mediocre generalists in development teams. It is therefore better to focus on a specialty and learn to master this area with virtuosity, instead of being able to do everything in a mediocre manner.
And how do you become a professional in one area? Quite simply: by becoming one. Do you want to get better at Java programming? Then you program in Java. Every programmer has the potential to be really good. But this does not happen by itself. Good software is not written in a day and it is the same with development as a programmer: To be a good programmer means to develop step by step towards it. You should specialize, but still not lose sight of the thematic environment. You should, at least in principle, also understand how other languages ​​and technologies work that are not your specialty. This also helps to decide when it makes sense to use a certain language and when not. If you think outside the box, you will also know better when to seek advice from an expert in a different subject.
Most of all, take the time to experiment with paradigms, concepts, and technologies. By playing around with it, you will keep your mind open to new possibilities and developments and better understand why the respective methods or technologies are important and how they work.

7. Less is more.

Everything should be made as simple as possible, but not simpler. This clever phrase is attributed to Albert Einstein. Nobody is really capable of dealing with a high level of complexity, neither human nor software. Complexity is just about the death of good software and therefore simplicity is the basic requirement. Use few parameters in your functions or methods. This ensures that the code actually only does what it should and nothing else. Being a good programmer doesn't mean writing complicated code for an end in itself.
Of course, sometimes it is simply impossible to simply implement a complicated business logic, but always try your best because, like good software, simplicity cannot be achieved in a day.

8. Exercise close attention

It is important to be vigilant when doing your job. An example can be found directly in this article. Did you notice that step 3 was only missing? Then you have read this article carefully 🙂 This attention will help you both with the collaboration and with your code.
Ultimately, the following applies:
You are not a good programmer, you will be.

You might like it too