The Habits of Succesful Developers
You know several programming languages and frameworks, you are the fastest coder on your team, and best of all your code works! So you think: I’m a successful developer.
You’re right. You are good, probably even great, but those aren’t things that make you a Professional Software Engineer.
Have a read of Robert C. Martin’s famous books. This article will share some tips that could help you in your professional career based on “The Clean Coder: A code of Conduct for Professional Programmers”. The book is not about code function and design, it is more about day-to-day conduct that differentiates a good software developer from a successful developer.
Professionalism is all about taking responsibility
- Don’t harm the code: don’t create bugs and make sure your code is tested.
- It is unprofessional to send code that you know is a fault to QA.
- Your career is your responsibility – it is not your employer’s responsibility to train you, or to send you to conferences, or buy you books.
- Know your field – if you want to be a professional, learn design patterns and principles, methods and disciplines.
- Practice, practice, and more practice – true professionals work hard to keep their skills sharp and ready.
Saying No and Saying Yes
Professionals have the courage to say No to their managers and they work hard to find creative ways to make Yes possible.
- Your manager is likely counting on you to defend your objectives as aggressively as they defend theirs. Both you and your manager need to get to the best possible outcome through negotiation.
- Professionals pursue and defend their objectives as aggressively as they can.
- Recognise the lack of commitment words and phrases like “hope” and “Let’s see if we can get this done…”. A sincere commitment sounds like “I will do something… by this certain date…”
- Bring up blockers or red flags as soon as they come up – actively communicate.
Coding is an intellectually challenging and exhausting activity.
- If you are tired, worried, or distracted, do not code. Your code will have bugs or a bad structure.
- Spend personal time before work trying to resolve or mitigate personal issues or demands so you can focus your mental energy on being a productive problem solver at work
- You should be prepared to be interrupted and help someone – it is the professional thing to do.
- Ask for help and ask to give help – be a mentor.
Writing your tests first:
- Good tests function like good documentation
- TDD is a discipline that enhances certainty, courage, defect reduction, documentation, and design.
Practice, Practice, Practice
When performance matters, professionals practice.
- All professionals practice their art by engaging in skill-sharpening exercises.
- Doing anything quickly requires practice. It is not always wise to go fast, but sometimes it is better to do it as fast as possible and is highly productive.
- Practising coding outside of work by doing kata.
- Open source: Take on some pro-bono work by contributing to an open-source project.
Every professional development team needs a good testing strategy, and we can start by following the “Test Pyramind”:
What strategies can you use to ensure that you don’t waste time?
- Meetings are both necessary and huge time wasters. You do not have to attend every meeting- be careful about which ones you decline and those you choose to attend.
- Use tools like the Pomodoro Technique.
- Evaluate the priority of each task, disregarding personal fears and desires, and execute those tasks in priority order.
Estimation is one of the simplest, yet most frightening activities that software professionals face.
- Know the difference between estimates and commitments.
- A commitment is something you must achieve. An estimate is a guess.
- Learn methods to get better estimates like PERT, Fingers in the Air and Planning Poker.
- Always include error bars with your estimates so that the business understands the uncertainty.
- Don’t make commitments unless you know you can achieve them.
Stay Cool Under Pressure
The professional developer is calm and decisive under pressure.
- Under pressure? Be sure to manage your commitments, follow disciplines, keep code clean, communicate, and ask for help.
- Don’t succumb to the temptation to create a mess in order to move quickly
Programming is all about working with people. It is unprofessional to be a loner or recluse on a team.
- Often programmers have difficulty working closely with other programmers. That’s no excuse. Being a developer means working with people.
- Meet the needs – collaborate with your managers, business analysts, testers and other team members in order to deeply understand the business goals.
- Pairing is a great way to share knowledge and the best way to review code.
Get Aligned with Your Teams
Strive to have a “gelled” team.
- A gelled team is one that forms relationships, collaborates, and learns each other’s quirks and strengths.
- Teams are harder to build than projects. It is better to form persistent teams that move together from one project to the next and can take on more than one project at a time.
Mentoring, Apprenticeship, and Craftmanship
The software development industry has gotten the idea that programmers and programmers and that once you graduate you can code.
- Software apprenticeship is a three-step journey: starting from apprentice and moving to journeyman before becoming a master.
- Be a craftsman – someone who works quickly, but without rushing, providing reasonable estimates and meets commitments. Know when to say No but try hard to say Yes.
- If craftmanship is your way of life, keep in mind that you cannot force other programmers to become craftsmen.
It might be unrealistic to achieve all that Robert C.Martin suggests because in the real world some situations can be beyond your control. Our goal as Professional Software Developers should be to try to follow as much as we can as often as we can and keep striving to do better.
Start with small changes. Remember that becoming a Professional Software Engineer takes years, so enjoy your career and enjoy the journey to becoming a craftsman.
Get articles like
this via email
- Join 2,800 others
- Never miss an insight