I started my career as a young developer fresh from my mandatory military service in the IDF. I’d quickly learn, in just a couple of months, practices that I hadn’t acquired in my 3 years of service. One of the first realizations while working post-army was: I can achieve most of the tasks with my current knowledge, but I need to learn new techniques and improve the ones I already have, fast.
Hypothesis: I consulted the internet even if I already knew something. A couple of jobs and years later I can say: It worked. Now I’m here to convince you to take a big breath (or use your 5 min Pomodoro technique break) to think and research before jumping into writing code or tackling most complex tasks. I decided to write less code in 2012 and have accumulated more knowledge in a shorter time than most developers do.
Here’s where it took me.
Nix the Messy Code: Take a Break and Read
We know the web is an ever-changing thing; what works today will change tomorrow. New solutions are being introduced every minute and keeping up with changes at that same speedy rate would be unwise (and unrealistic). Thankfully, we have a mass of collective knowledge at our fingertips whenever we need it. Give yourself a few moments before each big task or project to check what is out there. What has changed? What are people talking about this topic? Include tech news in your daily news feeds. Google is your friend.
Browser compatibility changes, your users’ traits and behaviors change. It’s your time to change with it too.
> who wrote this code, it's awful— I Am Devloper (@iamdevloper) August 16, 2018
$ git blame
> ...oh it was me pic.twitter.com/3rgSC2ASFI
I’m hoping my tip could help you avoid those awkward moments of: “Did I write this code?!”
What would hold us down from growing professionally
Why am I not learning about new technologies & techniques that could make my life easier more professional?
We don’t know what we don’t know. In our career we reach a saturation point — I call this point the “confidence peak” standing on top of our confidence mountain some of us will be presented with a choice — “jump” to the knowledge abyss but never reach your current level of confidence. In contrast, jumping will give you a chance to learn. This state is explained by the Dunning-Kruger syndrome.
Originally posted on r/starcraft by u/RagnarToss
This the Dunning Kruger effect graph, you read it from left to right while advancement right is more experience you get (aligned with time), the height is your confidence. This one is a funny interpretation for your skill level vs confidence at the popular game Starcraft.
When Continued Learning Simply Works
When is it worth your while to learn? For me, it touches every corner of my career, now @Natural Intelligence when discovering the world of SSG, JAMstack & Gatsby.js, and in the past, at virtually every company I’ve worked for.
Another unexpected perk? Technical recruiting became way easier for HR: we were able to attract talent to our evolving FED development process.
Learning about new things happening around us gets us to choose the best tool for the job, not only the ones we already understand and know how to use.
Originally posted at https://xkcd.com/844/
There is no silver bullet to writing absolute good code. We can just do our best to be aware of ourselves, our environment and constantly improve our skills. Please take my words with a grain of salt, as this funny XKCD.
The Starting Point
1. Start small
You’ve got a task? Instead of going ahead and writing the code for it, try researching online. Google the main concept. How are others achieving it? If you thought about using a certain technology, try searching for an alternative. Even when you won’t be able to use the other tech, you will enrich your knowledge and terminology. It will help you better understand the ecosystem better. For example, working with JSS (or any other CSS-in-JS lib), learning about Emotion, Styled Components will teach you about the pros & cons of CSS-in-JS, and get ideas about relevant techniques like using babel to pre-compile.
2. Find your feed
Some love RSS, some use mailing lists. Find what works for you, and follow it. I use social media, like:
- Facebook groups
- Meetup groups
- Twitter influencers
- Telegram channels
- Internal & external Slack channels
- Google discover
Start by thinking of the subjects that interest you or you want to learn, subscribe to as much as you can because having a constant flow of information around you will make sure something sticks. Social media builds a community of people, from official sources to friends and contacts you can share with and ask questions from.
We use Google every day. Pay attention and you can see that Google results are being optimized for you. Over time Google accumulates enough information about your search trends so they can personalize your searches. Once in awhile Google returns the information it collects in a nice feature that we can optimize and use. Check Google discover.
Own Your Career Path
Before you start anything, give it a couple of minutes and research a fresh solution. The day-to-day activities we do are super important to reach our career goals, and each one is a chance to learn something new. Choose the best media strategy for your field, keep reading, and get less busy writing code (or whatever it is you do). We’re not coders but software engineers, data analysts, sales managers, creative professionals, designers. We should come up with solutions beyond what’s already between our ears. It’s our responsibility to do it in a timely way, with the best quality we can.
Special thanks to Samantha Naymark for editing & proofreading