Let’s be honest, who has the energy to study while working? As Developers, we spend pretty much half of our days staring at the screen losing our mind inside a waterfall of code. Compared to us, Tank from the Matrix was just a kid playing Minecraft with a really bad graphic.
So, who in their right mind would wish to go back home and sit in front of the screen again, to stare at another type, most likely unknown, of a waterfall of code?
Unfortunately, as Developers, we’re kinda forced to do that. With the never ending progression of technology, the release of a new scripting language every 3 months, and the introduction of a new package manager every full moon, if you don’t force yourself to stay up to date, you risk getting pushed out of the market.
I tried to be like Batman
Not like fighting crime or having a butler smarter than everyone else, but in a manner of having a double life. Developer by day, student by night. I don’t know how Bruce Wayne does it, but I had a mental breakdown after a month. The amount of time and mental energy required to study after spending almost 10 hours at work, is beyond my skills.
“No big deal” you could say. But I’m telling you, it is a BIG DEAL.
A Developer that doesn’t study, is like a bridge ready to collapse at any time.
Let’s be honest, we are lazy!
Almost every week we have to deal with tight timelines, difficult projects, and bugs that consume half of our day, and this is just the tip of the iceberg. To be as productive as possible and to avoid the skyrocketing of hours necessary to complete a project, we’re forced to reuse our own code, or solution, that we feel confident about.This isn’t a bad practice, don’t get me wrong. If you have a solid piece of code that you know works and it’s optimized for what you need, good for you, use it as many times as you want.
But, just for a second, think of when you actually wrote that piece of code for the first time. How long ago was it? 2 years ago??? Well…maybe you should refresh it a bit.
The web is not a defined static entity, it’s more like an organic organism that never stops changing, so your code and your skills should change with it, not drastically, but you should at least be aware of what’s good and what’s not. Forcing yourself to push the boundaries of your knowledge could be seen as a waste of time, if what you do is always the same and the code you created 2 years ago still works perfectly. However, in reality what could be frustrating and challenging at first, will help keep your mind sharp and most importantly, valuable for the market.
Working + Learning
Here comes the tricky part. After all the funny introductions, analogies and examples, what the hell am I talking about here?
This is what I do, and how I successfully keep myself updated while working.
Allocate research time in every project
Increasing a timing estimate by 2 or 3 hours won’t, for the most part, impact the client or your schedule negatively in any way. This extra time will eliminate the need to code at the speed of light to try to hit the deadline, and consequently, you won’t have to reuse the same code over and over again. Even the simple task of creating an animated chevron that rotates on click, can be executed in multiple ways, and those 2 extra hours will give you the time to do some research and test more optimized and future proof solutions.
Polish your own code
As I said before, reusing your pre-existing code is good practice. But sometimes we’re forced to write patches and simply slam the code all over the page because we don’t have the time to properly organize what we’re writing. This will most likely make it hard to maintain or you’ll end up finding small quirky bugs you’ve been carrying since the beginning.
Spending a little bit of time by simply rewriting your code with a better structure and proper indentation will give you the opportunity to look at it with a fresh eye, maybe finding a way to optimize it and to make it more scalable and bug free.
A quick Google search can save your life
If you think something you’re coding could be done better, do a quick research, and try new things.
Be kind and share the loveThere’s a fine line between being proud and being stubborn. Especially for a Developer, the latter is really bad.
Never consider your way of doing things as the best and only possible way. There’s always someone else smarter than you, that probably found a better solution. Your job as a Developer is to remain open minded and to always accept new solutions.
Never settle for the safest path, even if it’s the quickest, because it’s probably not the best. It’s definitely scary and risky trying new code or new solutions while working on a project for a client with a specific deadline. But it’s up to you to find that balance and knowing when you’ve gone too far and you’re not learning what you need.
Admitting that you can’t do something, or admitting that a specific code is too complicated for you can be frustrating but it’ll improve your self awareness. You’ll learn your limit and your coworkers will appreciate your honesty.
Never keep something for yourself. The web is an open platform made for sharing knowledge. If you keep a new discovery for yourself, you’ll never know if that discovery can be optimized or if someone else created an implementation that is perfect for your code. Sharing your knowledge will not only help yourself but other users as well.
In conclusion, always remember that with the amount of resources available online, it’s never too late to learn something new.
It’s up to you. Keep learning, be eager to push your boundaries, and make your daily work challenging and exciting.