Mobile Development
11 Golden Rules for Becoming a Good Software Developer

Being a good mobile app developer, web developer or backend developer requires some shared fundamental qualities.
These common traits can be listed as follows. There are certainly more, but these are the first important ones that come to mind. I am writing them for both developers and clients to think about. I hope they are useful to everyone.
- Be able to work in every area (mobile app, web app, backend). The more they concentrate on one of them, the faster they get results there.
- Have good concentration. When focused, they should be able to finish the job (or the part they are aiming at).
- Never give up. Sometimes you have to stay up all night, but you keep going without giving up.
- Research thoroughly. Research the problems you cannot solve, and think about what you could do better. Being someone who researches and produces solutions independently is very important, because you will not always find someone to help you.
- Know the fundamental algorithms. Today, many people who are new to software try to learn programming without studying algorithms. Even if they learn the programming language, they cannot solve difficult problems by building algorithms. It is very important to first choose a programming language (such as JavaScript, Dart, PHP or C#) and practise algorithms there.
- Write documentation. Do it both for yourself and for whoever will work on the code after you. Instead of random comments, write proper comments, prepare a README file and note the important points in it (for example, how to build the project, how to deploy to the dev and prod environments, and so on).
- Use version control. Even if you are not working in a team, you should know Git in order to keep backups, look back later at what you did, and hand over the code properly.
- Be ethical. Take care to deliver the work completely, explain it to the right person and provide documentation. Open some accounts in the client's name and start keeping their documentation from day one, sharing it with the client or the person you are working for immediately. Think about what would happen to the project if something happened to you. Do not betray the place that pays you; be honest and principled.
- Be able to take over. Most developers do not like reviewing code written by someone else. You should be able to review the code, take responsibility for it and take it over from the person who wrote it. Unfortunately, many people, instead of trying to understand it, say "this is no good, I'll rewrite it from scratch" — both creating more work for themselves and trying to score points by bad-mouthing the previous developer. We have to learn how to take over properly. Saying "this is no good" just because the other person does not understand the job is, in my view, nothing short of fraud.
- Be good at debugging. Unfortunately, most developers I meet do not know how to debug or trace code. You need to debug the code you write by considering every case and examine how it behaves.
- Have a good eye for design. You do not have to be a designer, but you need some taste. Study existing designs and follow the trends. When building something, pay attention to the UI (interface) side.
If you want to become a good developer and build on these qualities, you can get in touch with me.