Traits of a Good Software Developer

Originally posted on ozzadar.com

Hello everyone,

this week I decided to take a closer look at the role of the Development Team in relation to scrum activities due to my having possibly unpopular opinions about the other two roles that would likely color my response in a way that is unproductive to this discussion.

As I have more experience as part of a Development Team than any other, I feel that I could share my thoughts on what has made colleagues a pleasure to be on a team with.

The trait that I found most important to a member of the development team is that of “Criticizes ideas, not people.” Taken one step further, it is important for members of a development team to not take criticisms of their ideas as commentary on their personal abilities (or lack thereof.) Additionally, and I think it is tangentially related, it’s important for developers to take ownership of their failures as well as their successes. Not only does it show maturity and leadership qualities but it also helps foster a cooperative environment of trust and respect (Consulting, 2021.)

Taking ownership of your mistakes also enables you to learn from them which enables the next important trait of a good member of a development team: “Pursues technical excellence.” Not much needs to be said about the importance of this trait. It is fairly self-evident that having a colleague disinterested in pursuing sound technology will, in the long run, be a detriment to a development team. As they say: “You are only as strong as your weakest link.”

Finally, I think the last trait I would mark out as being quite important is that of always having fun with each other. As software developers, especially in large corporate settings, your days can get quite repetitive and dull. You’ll likely feel that you’re mostly a cog in a wheel and that every day is like the last. At these times, having a development team you genuinely enjoy working with can make the difference between burnout and a long successful career.

Anecdotally, I was working at Cisco on some very dry routing software for several years before we transitioned to working from home at the onset of COVID-19. After the initial year, the work itself was fairly dry but the people I worked with at the office were very intelligent, fun to be around, and didn’t take themselves too seriously. After the transition, I found that there was very little communication between ourselves anymore outside of business-centric concerns. It sucked the fun right out of the position and I quickly started to feel burnout. My point is that a fun work environment can make up for a lack of passion for the technology itself.

I’ve since moved on to work with a team that I can both have fun with remotely, and interests me technologically — therefore it’s always good to re-assess your enjoyment on a regular basis. Software Engineers are in high demand therefore you can nearly always find a position tangential to your preferred field, or technology. This greatly increases job satisfaction and reduces the chance of burnout. Enjoying what you’re working on also has the added benefit of increasing the quality of your work as you’ll be more engaged and more likely to hit your flow state.

Thanks for reading,

Paul

References

Overeem, B. (2016). Characteristics of a Great Scrum Team. https://scrumorg-website-prod.s3.amazonaws.com/drupal/2016-08/Characteristics%20of%20a%20Great%20Scrum%20Team.pdf

Consulting, M. A. P. (2021, March 11). Take Ownership of Your Mistakes. MAP | Management Consulting, Executive Coaching, Leadership Development. https://www.mapconsulting.com/take-ownership-of-your-mistakes/

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Paul Mauviel (ozzadar)

Paul Mauviel (ozzadar)

Professional software engineer specializing in MVPs and Proof Of Concepts.