Programmers are mostly perceived as quiet, anti-social and bad in communication. The sad truth is, alot of programmers do lack of communication skills and even take pride of what they do. Many companies require some sort of middle management to manage the developers because most of us are code monkeys and will only continue to do so if we do not change our mindset.
Here are some tips that I’ve learnt over the years to get out of the abyss.
Always communicate – Love Agile or hate it, it teaches me to constantly communicate with your peers, QA, technical lead and your project manager. If you run into a road block, keeping the problem to yourself won’t solve anything. Give your one day to study the problem. If you can’t solve it, talk to your peers or technical lead as they’ve probably solve the problem before. Communication isn’t limited to verbal communication. It can be emails, code comments and even code commit messages.
Be proactive – To be proactive, we need to be lazy. Yeap! Automate your stuff. If something becomes too repetitive, automate. Your software annoys you too much? Fix is for the better.
Respect the testers – Earlier in my career, I hated QA testers alot. Everytime they file a bug, I felt insulted. I would rather let the testers to weed out all the bugs rather than releasing the bugs into production. So respect your testers and work with them closely. If there are dispute in the specification, bring a third party in and have a civilized conversation.
Take pride in what you do – Sure, you’re only a small little individual in your company, but if you do not feel proud and take pride in what you do, how would you expect the rest of the company to respect you and the project that you’re working on? Taking pride in your project will make you more proactive and strife for improvements.
When you say it is done, please make sure that it works – Most developers claim that their task is done. When asked if they’ve done an end to end testing, the answer is always no. When you mark your ticket as “Resolved”, please make sure that it really works. Sure, we’ll find bugs but please make an effort to test your work.
Always think ahead – The world evolves and so does our software. Always think about how you can improve your software or your software development process. Read more and learn more. As long as we live, we’ll never stop learning.
Do not blame – It is easy for us to vent our frustrations on some one else. Try looking at your own code 2 years ago and cringe.
Be a teacher – The more you teach, the faster you learn. It is also a great way to learn from your peers as well.