The term renaissance man refers to someone whose expertise spans multiple areas.
True renaissance men and women are rare because it doesn’t just require a variety of knowledge. It requires expertise.
Much more common is the jack of all trades, master of none person.
If a renaissance man is someone who is an expert in multiple areas, then a jack of all trades is someone who is competent in multiple areas.
But there is a problem
Being competent usually isn’t enough to separate you from the crowd.
In most cases, it is better to be very good at one thing than to be average at many.
This is definitely true when it comes to being a new programmer.
While common sense might tell you that you should start by developing a wide base of knowledge, I would suggest you avoid that temptation.
I say that because I went the wide base route and I regret it.
A look back
When I first decided to learn to program, I was pretty sure I wanted to work on the back-end and with databases.
That hasn’t changed, but now I am almost six months into learning to program and most of my time has been spent learning about the front-end.
That is because I decided to start by building a broad foundation of knowledge rather than specialize.
It makes sense that learning about the front-end would be helpful, and it is to an extent, but in hindsight, I think it would have been better to specialize from the start.
I have mistakenly fallen into the jack of all trades category.
I am competent across a wide range of front-ends skills, but I am not an expert in any of them.
It is time to change that.
Where to now?
I am considering Python because it has been a language that has interested me since I started learning to program and it ties in perfectly with back-end and database work.
Starting on Monday, I plan to commit to one of these two paths but I am still not entirely sure which one I will pick.
I guess you’ll have to come back next week to see what I decide but feel free to learn from my journey and don’t wait six months to specialize.
Over the course of your career, you may become a renaissance programmer but start by picking one aspect of programming and become an expert in it.
In other news
When I wasn’t pondering my programming future, I continued to work on freeCodeCamp’s intermediate algorithms. You can check out all my solutions in this CodePen collection.
In the real world, I attended a prep meeting for a local hackathon. It was very interesting and one of the challenges really grabbed me but the hackathon is the same weekend as our next Demo Day so I decided to attend that instead.