Do Your Job
Four time super bowl winning coach Bill Belicheck has is one of the most well respected coaches in the NFL. He is prepared, an incredible tactician, and great delegator of responsibility.
One of his mantras that has become well known, is to do your job. This means preparation, through repeated practice, watching game film to study both opponents and their own technique and strategy, and strengthening through good nutrition and weight room training. It means above everything else, to be a professional.
Bob Martin in his talk Reasonable expectations from your new CTO also seconds this idea of being a professional. As software craftsman it is up to us to take our jobs seriously. Software is everywhere, and as it become more of an integrated part of our lives, being good and professional at our jobs is becoming ever more important.
Although all the expectations he lists are important, I’ll highlight a few of them here and talk about their importance.
Like professional athletes who hone their craft everyday, we need to train and educate ourselves. Continuous improvement is our goal. Building up our toolset, so we spend less time configuring and more time programming. Reading books, going to conferences, and being disciplined in everything we do.
Not good, but extreme quality in the software we write. Writing quality code means writing code that is clean. The only way to go fast is to write quality software.
Cover for each other means we share the code with everyone on the team. If we don’t understand some code we ask the person on the team to help us with it, or if we wrote it to take time to explain it. If one person on the team leaves for a job or a vacation, everyone should be able to step in and cover. Pair programming is great way to ensure everyone has the ability to cover for each other. It means more domain logic because everyone is working in different parts of the system.
Mentoring is extremely important to me because I would not be where I am at if it were not for mentoring. My incredible mentors and teachers Turing School of Software & Design. My now wonderful mentors @8thlightinc. Someone that can give you their professional and valuable insights on not only how to do something,but why we do those things accelerates your learning.
Continuous aggressive learning. I would argue that this really one of the most important things in life. Being able to teach ourselves to learn is the ultimate life hack. If there is something we want to get better at, there is almost nothing limiting us.
Remember it’s a personal decision. If you see messy code it is up to your clean it up! See a test that needs to be written, write it! Need to learn devops for your next client, then learn it!
Now a quote to motivate and remind us, that everyday it is our goal to do the things necessary to become great at our craft.
“Success isn’t owned. It’s leased and rent is due every day.” ~ J.J. Watt