viphat / til

Today I Learned
http://notes.viphat.work
0 stars 1 forks source link

[Reading] - Be good at one thing, not average at everything #281

Open viphat opened 6 years ago

viphat commented 6 years ago

The web is constantly evolving and improving over time and there is already so much to learn and much more as time goes by.

For any newcomers, this is pretty scary, and it becomes quickly overwhelming.

The worst part (or best, depending on whether you are a half-full or half-empty glass kind of person) is that the more you discover about the various aspects of web development, the more you realize how little you actually know.

Try to learn everything

One of the most common pitfalls that new developers fall into is trying to understand and do a lot because, let's admit it, everybody seems ahead of you and the level you have to reach to be "good" seems further and further away.

As a developer, it's pretty easy to lose focus and get caught on The Shiny Object Syndrome. The grass is always greener on the other side of the fence and programming is no exception as there is always new ways to build stuff, one more exciting than the other.

Learning is never a waste of time, of course. It's always good to try out new technology and be aware of the new trending things in your ecosystem at the moment.

However, you really start pushing your limit and the limit of your tools when you focus on one thing: one framework, one language, one project, etc. And you will get deeper knowledge along the way.

From Average at Everything to good at one thing

"Success demands singleness of purpose. You need to be doing fewer things for more effect instead of doing more things with side effects." - The ONE thing

I started shifting the way I was seeing improvement from "The more technologies and languages I know, the better I am" mentally to The better I understand the technologies and languages I already know, the better I am.

Learn to get the best out of those I already had.

Code reusability, started using design patterns, implemented core concepts like DRY and SOLID in my codebase, learned about TDD, etc.

It can make you become a better developer in general. Because, when you learn and become fluent with your tools, that's when you start learning programming beyond the framework or language and start implementing general concept which will be universal to any technology you know.

An incremental approach to learning

When you reach the point where you feel confident about your ability to use your current tools, you can start incrementally implementing new skill into your developer portfolio, but not a random skill, in the best case scenario a skill that will complete yours, the goal remains the same, "become better with what you already know" and you can achieve that with complementary skill.

The final goal is to always learn with the purpose of improving current knowledge to improve as a whole. And with this approach, you can easily start using your current stack and implement what your new tool is. For me, it was learning Vue.js to work toward a more full-stack developer profile for my freelance activity. For back-end developer, it could be adding server administration to his portfolio to understand how to implement a full web app on his own. For a front-end developer, setup and use PostCSS to improve code quality and his workflow.

The options are endless and the goal is always the same: improve your strength toward a specific goal.

Source