The Easiest Way To Be A Better Developer19 Sep 2017
Your Dirty Little Secret
There is a secret, rather unwritten rule in programmer culture. Something that no one talks about and what most of us avoid like the plague. It’s something that’s easily leveled up day in and day out and it’s essential to the success of anyone in the field. It’s not reading another book or listening to another podcast. No, it’s much more simple than all of that: it’s communication… Queue the hand wavey gifs.
This shouldn’t be much of a ‘gender reveal’ for folks. If you have read a modicum of posts that I have produced over the years, many of them harken back to the power of succinct communication within teams. Many programmers, especially those who predominatly work by themselves (think freelancer, highly specialized indivduals, someone who’s never worked on a team), never have to worry about their communication skills…
The Actual Truth
Until they want to find a new job, are forced to show your freelance work off to shareholders, explain why you made a design decision, have a conversation at a conference or meetup, network because you can see your work funnel drying up in 3 months, help a friend solve a problem over chat, defend your work after a code review, ask a question on Stack Overflow because you can’t solve a problem, write a commit message that someone else might need to read, fix a readme that’s out of date, or… Yeah, if you don’t get it after that, you won’t ever. The sad truth of every great programmer is that they don’t just write code well.
A Portrait Of A Great Programmer.
All truly great programmers know that programming is the easiest part of their day. It’s a skill that they feel at home doing and can quickly get into the flow of without much fuss. Due to this, they usually don’t have to spend a large amount of time practicing programming. What they do is practice communication. They work on open source projects where their avenue of communication isn’t tapping someone on the shoulder. It’s working out hard problems using concise languge over pull requests and leaving succinct bits of history in commit messages.
If this is what a ‘great’ programmer looks like then, how can a junior or journeyman programmer better their knowledge of the craft, along with accelerating their communication skills? Unfortunatly there is really no silver bullet here. All of us, great or just beginning, need to continually work on our communication skills. Day in and day out. Read your prose. How does it flow? Does it make sense or is it a jumbly mess of pronouns and adjectives? Think about being on the receiving end of your communication. Would you be happy, sad, or plain confused when reading your prose?
Your Junk Aint Broken
No matter where we are on our journey as developers, building better and better avenues to communicate with our team will lead to consistent growth. No one builds a great product by themselves, they lean on a great team. Unicorns, 10xers, wizards, and ballers are 100 percent a myth. When someone uses these terms, what they mean is someone who can communicate well within the boundaries of their team. When you have a team of individuals that understand this, they work unencumbered and get a shitload of good work done relatively quickly. All hail the unicorn team!