The Road to Becoming a “Master” Developer – First Steps

“The master has failed more times than the beginner has tried”- Stephen McCranie

If you look up that quote from above, you will see I got it from an Anime….yes, I watch Anime, probably like most developers. But that quote struck me as awe-inspiring. I was stunned by how true this simple statement was. I find that many comics, Anime, and cartoons have gems of inspiring wisdom that are often overlooked by the masses due to their appearance. The truth about life is there is rarely (so rare, I’ve never met one) a person that is so naturally talented at whatever that they skip all stages and become a “Master”. So what does this mean, are all beginners just pretending to know about something they don’t, because there sure seems like there are a lot of “Masters” out there? The answer is, yes….but usually not because the beginner is intentionally lying. What you may encounter more often is “young” developers who don’t know what they don’t know. To become a “Master” of anything requires practice and many failures. In order for me to become a 5th Degree Black Belt in Tae-Kwon-Do I had many failures, but the reason I reached a level that most never attain was due to picking myself up and trying again, albeit in a slightly different way, but eventually overcoming the hurdles until many years later I reached this coveted level.

“I was the smartest I ever was, when I was 18.” – Michael Stewart

My dad would tell me this quote above throughout my life. It wasn’t until I was older that I really realized the truth of the underlying meaning. Basically, I thought I was exceptionally smart when I was new/young/inexperienced, because I didn’t realize what I didn’t know. This can be incredibly powerful. How many times have we seen a “young” person do something we thought wasn’t possible. They did this because they didn’t have a pre-conceived notion of limitations. However, more often then not, the beginner ends up failing, because they were not experienced to understand what the task they took on entailed.

“Learn the CORRECT lesson from failing.” – Michael Stewart

How many times have you failed trying the same thing? I imagine we have all gotten into the situation where we retry something even though we failed and that is commendable, but what did you do different? Just like the scientific method, you must identify your hypothesis, and setup variables that can be adjusted one at a time. I, like many, have found myself retrying something either without changing anything or changing multiple things. Both of those situations are recipes for disaster. You must take the approach to software as you would any hard science or engineering field. And each time you fail, you should take the appropriate lesson from that failure.

Where do I begin?

The answer to this depends on what you want to do. Did you know that a software developer is not the same across all industries? Here are just a few roles a software developer can fulfill:

  • Front-End
  • Back-End
  • Full-Stack
  • SDET
  • Microservice
  • Monolithic
  • Procedural
  • Object-Oriented
  • Functional

Could you be a combination of the above, sure. But it is best to identify what it is you want to focus your career on. Jack-of-All trades and a Master-of-None is never something anyone wants. Without mastery or plans to master a career, you will only ever produce mediocre results.

I was recently asked by a person getting into development, what should I learn?

I responded to them, learn what you enjoy, but if you don’t know what you enjoy start with looking for trending languages and making stuff with them. Learn to make a back-end microservice, then try making a front-end spa. Getting into development because it is lucrative will only make you unhappy if you are not passionate about what you do and drag down the professional of the industry because your heart isn’t in it.

“But I just don’t know what to do to get started” – Many Starting Developers

If you have ever tried to start something new, usually you feel some amount of anxiety. Anxiety is the evolutionary trait to help us avoid risk and failure. Many people give into this anxiety and let it rule their lives, and thus stopping them from becoming the best at anything.

I would say that this eventual lack of action is the basis for mediocrity. It is the reason why companies don’t try to push the envelope or why individuals accept their lot in life with pre-conceived notions. But Wayne Gretsky’s quote “You miss 100 percent of the shots you never take.” couldn’t closer to the truth. You can’t sit in a quagmire of anxiety or excuses hoping that things will change.

The solution to this anxiety….

“Just Do It” – Nike

The more you analyze and sit back trying to figure out the right place to start cutting the paper, the longer you have not done any cutting, and the further behind you are in the snowflake making contest.

“How do I measure my success” – Anonymous Developer

First, if you look at your code/design from last week and are not disgusted by it, you are not progressing. A master blacksmith is never content with the last work he produced, he always finds ways to make the blade stronger, sharper, lighter. You must be the same, judge yourself.

Tests and certifications may be how others can generically define your skills, but I find this unfortunate. I recently had to build a k8s HA cluster from scratch (literally on a basic Ubuntu server) and there was no guide or blog giving that “step-by-step” how-to that we all fall into the trap of using. This meant, I had to learn it….and learn it at all layers to make sure it worked bare-metal onsite. Well, I got it running and knew how k8s works intimately, but later as our organization hired on specific credentialed professionals and built an internal corporate k8s, these individuals had “certifications” and I found myself having to deal with them pushing those in my face, when in reality I knew just as much as they did, but without that “paper” they wouldn’t give me my professional credence until I proved myself.

….sad, but happens more often then you would like to know in all industries. The best doctors or engineers are rarely the ones that are well known. They don’t have time to peacock, but rather get stuff done and with quality.

I don’t want to sway you from not taking opportunities to get certificates and/or training, but realize those will not define you as a “Master” of your craft. Don’t let your time be consumed with certifications when you could instead be practicing and honing your skills through development.

As a true beginner on their way to becoming a “Master” you will have to prove, prove, and re-prove again to be seen as knowledgeable of your craft.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *