(Hi! If you value the content I write, I would appreciate so much if you considered becoming a member of Medium through my referral link. Now on to what you came here for…)
Several people recently recommended The Pragmatic Programmer: From Journeyman to Master. I picked up a copy this weekend and started reading it while pragmatically grilling steaks over a charcoal fire.
In chapter one, the authors (Andrew Hunt and David Thomas) write:
A Pragmatic Programmer takes charge of his or her own career, and isn’t afraid to admit ignorance or error.
In the last four months I’ve learned a lot about programming. More than I thought possible in that span of time. Though in many ways I have a very long way to go.
There is so much about programming — and computer science in general — that I don’t know.
This can be discouraging at times, but instead I’m trying to see it as an opportunity to grow and learn.
It’s how I will continue to hone my craft as a programmer.
Small improvements everyday.
In the preface the authors talk about the continual process of growth in programming. They reference the word “Kaizen,” the “Japanese term that captures the concept of continuously making many small improvements.”
Every day, work to refine the skills you have and to add new tools to your repertoire… Over the years, you’ll be amazed at how your experience has blossomed and your skills have grown.
Learning something well takes a lifetime. You do not become excellent at anything overnight. Platforms like Instagram would make us think success is just around the corner. But it’s not.
There is no end to our learning. Each day there is something small we can do to improve our craft. We can solve a coding challenge. We can go a little bit deeper into a language we love, or start learning a new language.
To anyone who is new to programming — I’m speaking to myself, too — be patient with yourself. Programming is a craft, and like anything else it takes time to refine.
Given enough persistence, time, and effort, you will improve.
Remembering what it’s like to be a child.
If we limit ourselves by thinking we aren’t smart enough to become a better programmer, we are forgetting what it’s like to be a child.
We’ve forgotten that at one time we couldn’t walk, talk or feed ourselves.
We’ve forgotten the years and years of patient teaching from parents, teachers and mentors.
We are no longer children, but we must maintain the spirit of a child. We need others to be patient with us, but more importantly we need to be patient with ourselves.
Be humble in your craft.
Do something small each day to improve your craft and you will be amazed at your long-term progress. The most important thing is to not settle. To humbly admit you haven’t arrived and that you always can improve.
This mentality has the added benefit that it carries over into other parts of your life. Continual improvement in one area will help you be more disciplined in your approach to other areas.
So when you feel stuck, ask yourself this simple question:
What’s one small thing I can do to improve today?
Then go do it.
Nothing is too small.
The largest structures, the most complex organisms, are made up of tiny building blocks.
Becoming an excellent programmer is no different.
Everything you can do at the smallest level will improve your craft at the largest level.
Never give up. Never stop improving. We can all do one small thing each day to grow.
What will it be for you today?