Be good at one thing, not average at everything – The Startup – Medium


Met dank aan  Jessica

Wees goed in één ding, niet gemiddeld in alles

Het web evolueert en verbetert voortdurend met de tijd en er is al zoveel te leren en nog veel meer als de tijd verstrijkt.

Voor elke nieuwkomer is dit behoorlijk beangstigend en wordt het snel overweldigend.

Ik ben 2 jaar geleden begonnen als werkstudent in een webagentschap zonder concrete ervaring en geen idee hoe echte webontwikkeling werd gedaan. Mijn eerste dag was ik opgewonden om nieuwe dingen te ontdekken, maar vooral bang voor de ontmoedigende taak die voor me lag.

Het slechtste deel (of het beste, afhankelijk van of je een halfvol of half leeg glastype persoon bent) is dat hoe meer je ontdekt over de verschillende aspecten van webontwikkeling, hoe meer je beseft hoe weinig je eigenlijk weet.

Alles proberen te leren

Een van de meest voorkomende valkuilen die nieuwe ontwikkelaars tegenkomen, is proberen te begrijpen en veel te doen, want laten we toegeven dat iedereen voor je lijkt en dat het niveau dat je moet bereiken om 'goed' te zijn, steeds verder weg lijkt te zijn.

Als ontwikkelaar is het vrij gemakkelijk om je aandacht te verliezen en betrapt te worden op " The Shiny Object Syndrome ". Het gras is altijd groener aan de andere kant van het hek en programmeren is geen uitzondering, omdat er altijd nieuwe manieren zijn om dingen te bouwen, de ene is opwindender dan de andere.

During my first year, I started learning on my free time to improve as a Symfony developer, but I lost my focus trying to play with everything I could get my hands on. From C compiler to Node.js. I learned everything but Symfony because anything else was new and more exciting.

And I could have gone on, and on, and on, and on for as long as new trends were popping out on Github. I spent countless hours watching, reading, learning and breathing code.

In hindsight, I spread my focus too thin. 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 by Gary Keller

(I highly recommend reading The ONE Thing by Gary Keller not your usual programming book but incredibly interesting and eye-opening)

During my last year as a working student, I started shifting the way I was seeing “improvement" from “The more technologies and languages I know, the better I am" mentality to “The better I understand the technologies and languages I already know, the better I am".

So I focused on what little I already knew: back-end development in PHP. Back-end development with Laravel to be precise.

Soon after understanding the basics and getting a general feel of the framework, I focused more on building things with my current knowledge instead of learning the next trending thing on GitHub.

I started building stuff, useful stuff (at least, useful for me) and that’s when I started realizing, I kept learning new things, but instead of learning to use new tools, I learned to get the best out of those I already had.

I’ve improved my code reusability, started using design patterns, implemented core concepts like DRY and SOLID in my codebase, learned about Test-Driven-Development, etc.

Overall, I became a better PHP back-end developer but also 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.

As I made my way and became an okay-ish Laravel developer, I also started my own business as a Laravel freelance developer, and to focus on what I knew and keep improving, I would work on the back-end of any project and send any front-end or not suitable work to another freelancer.

That way, I really focused my attention on one thing at a time while still moving my freelance skill forward and I wasn’t limited to my own knowledge to work on a project. I could keep doing and improve what I knew while learning some valuable lessons outside of programming like project management and remote teamwork.

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.

Like this article? Want to see what I’m up to? You can follow me on Twitter, Instagram and Github

Special thanks to: Abdoulaye, Samuel and Jean-Baptiste

This story is published in The Startup, Medium’s largest entrepreneurship publication followed by 291,182+ people.

Subscribe to receive our top stories here.