All Articles

Write Less Code, Read More: Career Advice For Programmers (And Everyone Else)

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.

Me Looking back on my 10 years journey

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.

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.

This the Dunning Kruger effect graph - explaining Starcraft gaming experience

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.

A few years ago I worked @Payoneer, in 2014–15, when React wasn’t popular in Israeli tech — Angular was king. Back then we looked for an opportunity to reinvent our front-end process to allow rapid development of features for the main product. Being the reader that I am, I learned of React (a JavaScript library) and after many discussions with my fellow architects, I pushed to use it instead of Angular. React fit our new process like a glove and was proven to be super effective. We integrated React to our current system without any complex changes. It allowed us to share code between multiple mini-applications/product features that were developed.

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.

How to write Good Code by XKCD

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
  • SubReddits
  • 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

Coding, particularly developing web solutions, is a great challenge, but as with any new task that shows up on your desk, information flux (too many options! see Overchoice or JavaScript Fatigue), raises the “code freshness” concern, which I define as making sure code is up-to-date with the latest, most stable and widely known methodologies, written while considering all the available options, without code smells. Uncle Bob calls it Clean Code. Whatever you call it, and whichever field you work in, understanding the modern industry and current changes, regulations, and tools can build your skills and grow your knowledge.

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