GOAT Developers use this, daily deliberate practice of course!
A little practice and feedback can help you reach your stretch goals
What if I told you the little things matter?
For instance, great developers are like athletes. They get their daily practice.
Deliberate Practice
Anders Ericsson is credited with discovering deliberate practice. Which is, “the individualized training activities specially designed by a coach or teacher to improve specific aspects of an individual’s performance through repetition and successive refinement”.
Angela Duckworth outlines this in her book Grit. She summarizes it by saying it starts with a stretch goal. We focus on the goal and get feedback on our performance. We refine the practice accordingly.
Developer Practice
So how does this relate to developers? We need to set aside time daily to hone our skills. As Jeff Langr said, “finding time daily to sharpen your tools, particularly the use of IDE and keyboard shortcuts, command-line tools, vim, etc. much like a professional carpenter or the like might do.”
Scheduling time is the first step. As Duckworth points out we need to add to that. Just putting in the time doesn’t do it. Here are a few additional components.
Stretch Goal
What would challenge you? Perhaps learning a new framework. Or reviewing something you already know. Is there a test you could study for?
A few years ago, I was chosen to teach a Java course to some mainframe developers. I had already been programming Java for many years. Teaching something though requires another level of mastery.
Feedback
It can be hard to hear feedback sometimes. The quote, “In writing you must kill all your darlings” has been attributed to William Faulkner. The same can be said of software.
We need to seek feedback. Our idea is not as good as we think it is. Similar to pair programming. Two heads are better than one.
Look for two things in your feedback. Timely and actionable. Once a feature is shipped is not the time for feedback.
Actionable feedback can be applied where general feedback doesn’t help. “Good job” versus “Remember a String is immutable in Java, try a StringBuilder instead.”
Coaching
We need to seek out coaching from more experienced developers. As a neophyte to Vue.js, I have been working with an experienced front-end developer. He has shared many tips with me.
The learning is intense at the start. Then you begin to pick up small lessons here and there. Keep learning. Don’t let your skills plateau.
High Standards
In Grit Duckworth closes by sharing the importance of our team. To become really good we must work with others who are as well. Find a team of developers who have high standards.
As humans, we can let things slide from time to time. If you are in a group that pushes you to get better and learn you can go farther.
Grateful
We should also remember to be grateful for the work we do. Each day developers help companies solve problems. Find a bigger purpose in your work.
For instance, I currently work for a health insurance company. My work helps people live better lives. There is more to what we do than writing code. See the larger picture.
In conclusion, take time each day to practice your craft. Set a goal and get feedback. As others for coaching and advice. Have high standards for your work. Be grateful for the work you get to do.