A few years ago I was fortunate enough to be introduced to a book by Uncle Bob (Robert C. Martin) called The Clean Coder. This book is a must read for any programmer, whether a seasoned coder or an emerging Computer Science student.
The book covers professionalism as a programmer, something that isn’t spoken about too much in the real world. If you are fortunate perhaps you took a course in college that touched on project planning or estimation. Or maybe you took a business class or two that you could apply to the real world. But the harsh reality is that unless you’ve had an exceptional manager or mentor the subject was probably never brought up in depth. Clean Coder really hit home with me and forced me to think about what being “professional” really meant. Every programmer should read it.
But enough about programming. I want to talk about one of the takeaways that everyone can benefit from, regardless of profession. Perhaps at a later date I will cover more of them. But for now, I want to bring up one that is so obvious it hurts. Something I never really even thought about before being introduced to the topic. I’m talking about practice.
All professionals practice. End of story. Don’t believe me? Musicians practice. Athletes practice. Surgeons practice. Chefs practice. Especially professionals in the top of their fields. Just because they’ve been doing it for a long time, or get paid a lot of money to do it doesn’t mean they stop practicing.
So why as someone in sales, or engineering, or retail, or any other profession, would you not practice?
As most programmers do, I often found myself tinkering with new technologies, or writing small programs or scripts to make my life slightly easier. While this type of thing is great for development, it’s not practice. We want to take it a step further, break it down even more.
Think of that musician again, playing the same scale over and over until it becomes subconscious. As professionals in other industries we can (and should) practice the same way. Take what you do for a living and deconstruct it down to the basics. Then practice those basics.
Are you a programmer? Take simple algorithms and practice them over, and over, until the solutions become second nature (see katas). Even if that seems like a waste of time. Even if you know the solutions. Even if you are a “master”.
Are you in sales? Take an hour a week and cold call. Even if cold calls “don’t work” on the product you’re selling. Even if it is tedious. Even if cold calling is “beneath you”.
Graphic design? Practice making logos for existing companies, fake companies, or companies that went out of business a long time ago… until they flow out of your fingertips (or stylus).
I could go on and on… The point is:
- Deconstruct the key components of your job.
- Practice them until it’s second nature.
That objection from a potential client during a pitch? How great is it when the rebuttal rolls off our tongue with no thought? Recognize a design pattern when writing code? How sweet is it when the solution flows from our fingertips and we know that it’s the right one.
Everyone should practice, whether you are just starting out or have been doing it for twenty years. It’s what professionals do.
So, how do you practice?