What makes a good developer
Comments(1)There is more to development than just writing code. I started programming when I was 17 and over a period of time I learnt that development is not just knowing some algorithms and coding syntax. It is more of common sense, motivation, discipline to learn, guts to question oneself and the wisdom to make good choice. It takes a lot of conscious effort to be a good developer. Though I have written the article by keeping developers in mind, these principles are equally applicable in other fields too with little or no modification.
Don’t get emotional about your code
First and foremost rule about writing good code is that, you should not get emotional about your code. At any point in time, if it requires you to throw away your code because it is not scaling up elegantly or if it has not been architected well, be ready to scrap the code and rewrite. During the initial days of programming I used to resist rewriting the code but soon I realized that the habit just screws up the project. Usually you’ll realize it after few weeks or months when things have gone worse. I have seen the same with most newbies. Whenever I find that they are following wrong coding practices, I usually ask them to rewrite and they start resisting it by trying to fix the code there itself. Actually they are just getting emotional about their shit-code on which they have put days of effort.
So if you are not ready to throw away the shit-code, then it is like you don’t want to clean up the mess at home after the party just because you’ve spent so much time in messing things up!…
Being a human, whatever you repeat again and again will become your habit. So if you don’t cleanup, it’ll become a habit for you to live in the dirt. You’ll start liking the dirt. Your choice…
Join Startups during the initial stages of your career
Startups are the best places to learn. There you’ll find the real work and also real people with the right attitude. You will have a chance to learn directly from the top management like CEOs, CFOs, MDs, etc. You will get a chance to interact and learn from them. People like them will not be successful in life just because of luck. They are successful because they are smart. They are successful because they know stuff. It requires lot of discipline to grow a company and make it big. Every word they speak will carry a lot of weightage. Their words are like gold mines which are not accessible to you in a large organization. And they do take time to impart good principles in you because a company’s growth is always dependent on its employees.
Art of learning
When you are discussing something with a knowledgeable / successful person, you can do one of the below three in the order of priority regarding what the other person suggests.
- Think and Accept
- Think and Reject
- Just accept – Makes sense if the other person is very knowledgeable / successful and if you cannot spend some time to think.
What you should not do is, not to think and simply reject. I don’t want to elaborate on this, but most of the times we forget / reject things without giving a thought.
“Knowing things and ignoring them” AND “Being ignorant” are different
When you are learning something new, try to learn as much as possible at the conceptual level. Go an extra mile and find out what all are possible and what are the best practices. You don’t have to remember the coding part. But just try to remember what all exist. Then ignore things which are not required for the time being.
Learning more never hurts in a long run. If you know that something exists, you can always get back to it and learn further whenever required. You can easily get code examples online. But if you don’t even know that it exists, then that is a problem. You may end up reinventing the wheel or find a round about way which is not so good.
Note down things in a book
Whenever you are writing code or discussing something with your colleague, make it a habit to note down the points in the book and solve it point by point. Don’t rely completely on your IQ. It ditches you at wrong times. So, never go for a meeting / discussion without notebook. Note down things and get back to them later. Have a task list and put a check mark besides the completed tasks and carry over the rest for the next day.
Writing down tasks on a paper requires guts. People are scared because it reminds them again and again about what they have not done. But if you discipline yourself a bit and complete your tasks on time, that will give a lot of satisfaction and boost your confidence level.