5 Methods You Can Use to Grow and Learn as a Developer Every Day

Zack Minott

A practical programmer’s guide to improving every single day


Photo by Lindsay Henwood on Unsplash.

Lifelong learning and continual improvement are a significant part of being a programmer. As developers, we must commit ourselves and live by this philosophy — to learn, grow, and evolve every single day to curb the possibility of becoming irrelevant and increase the likelihood of providing value and changing lives through what we create.

That being said, here are five different things you can do every day to practically keep on growing. You don’t need to do all of them every day. Really, it only matters if you’re doing one of them as long as you commit yourself to become better than the developer you were the day before.

1. Show Up in the Tiniest Way Possible

Everything that you do, every habit that you have, and every decision that you make compound overtime. You’ll never feel smarter or better right away.

What matters is that six months from now, there is a noticeable difference in where you used to be and where you are then. The evidence really takes time to show.

Now you don’t have to set a goal to read through entire programming books and online documentation, take full online programming courses, aim to code your dream app, or try to swallow the vast sea of information out there in one night or even a week or a month.

What you should be doing is just showing up in the tiniest way you possibly can.

You need to make learning a habit, and to do that, you need to be ruthlessly consistent.

What makes consistency easy to achieve is not setting big daily goals from the get-go but anchoring yourself to a task with the bare minimum requirement.

How to do it

I want you to pick up a book (say, Clean Code by our lord and savior Uncle Bob Martin). Or maybe buy a $12 Udemy course on web development with React. Something along those lines.

Then simply set a goal to either read one page a day or do one video (or even one minute) from the course a day.

These goals are so ridiculously small that you’d think it’s ridiculous not to follow through with them. If you think about it, doing this will only take minutes of your time.

What matters is that you showed up. Over time, once you get into the habit of simply showing up to learn every day, you can increase your minimum goal to the point where you become an information sponge. Just like in code, you can’t write out a whole program without writing at least one line.

Achieving that small win is far more than not doing anything at all. Remember that.

“All big things come from small beginnings. The seed of every habit is a single, tiny decision. But as that decision is repeated, a habit sprouts and grows stronger. Roots entrench themselves and branches grow. The task of breaking a bad habit is like uprooting a powerful oak within us. And the task of building a good habit is like cultivating a delicate flower one day at a time.” — James Clear, Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones

2. Be Purposeful, Not Passionate

Alan Trapulionis recently wrote an article about how high achievers crave purpose and not passion. The passionate person does things for the sake of doing them — out of personal enjoyment and because it feels good. The purposeful person does things because they have a strong reason to do it — something that keeps them going regardless of how they feel about the activity. The purposeful person does something because they have a goal and vision they feel the need to work towards.

Passion is simply motivational fuel that eventually will run empty and fade.

Purpose gives you a reason to persevere.

Both combined, well, that’s even better.

Do things with a purpose. Learn for a reason. Don’t learn for the sake of just wanting to know more. Learn because you know what you are putting your head down and committing yourself to learn is going to help your career, make you better at what you do, and improve your skills as a programmer so that you can provide more value than you were able to before.

How to do it

When you’re programming, you don’t spend your entire time trying to memorize the whole language and documentation “just in case,” do you?

No, it’s often better to research as you need it, Googling and asking questions relevant to the current problem that you have. You search for the answers with purpose.

When going about learning something new, ask yourself:

  • Is this something that I really need to know? Is this important?
  • How is this going to improve me as a person or as a programmer?
  • What am I aiming to gain out of this?

In other words, define your “why” and spend your time wisely. You don’t want to learn something just to find out later that it was information that wasn’t really beneficial to you in any way. Time is finite and therefore the time we have to learn is limited as well. It’s better to choose what’ll help us directly.

Once you’ve defined your “why,” write it down and use that as a goal and vision to constantly remind yourself about why you started in the first place.

After all, as Alan notes in his article, passion is developed by what you explore, and exploring new topics and traits is crucial to anyone’s success.

To become passionate, you have to first be purposeful.

3. Embody the Curious Mind of Leonardo da Vinci

Leonardo da Vinci was a polymath artist-scientist who was an expert in painting, sculpting, anatomy, cosmology, architecture, and mechanical engineering. At the heart of it all, though, he was a painter who grabbed from all his other focuses to elevate his ability in artistry to craft hyper-realistic paintings such as the Mona Lisa and The Last Supper.

You must do the same to yourself as a programmer. If you truly want to make an impact, you need to be willing to explore other topics that you believe can tie in directly to what you’re doing.

Innovation is often grounded in the marriage of multiple studies into one, as that marriage is what allows creators to creatively make something that’s authentically new and unique.

Think about it: Apple marries computer science and creative design. Instagram marries software with photography and the psychological desire to share. MyFitnessPal marries health and fitness with software. Netflix marries streaming, visual media, and software. Video games marry computer science with fictional world-building and storytelling. Quantum computing as a whole marries quantum physics and computer science together.

As you can see, most software products and apps we see out there are children of multiple ideas that were uniquely brought together.

How to do it

Be willing to explore outside the realm of your craft. Otherwise, all you’ll ever know is how to program and think critically rather than being able to contribute to the growing pool of ideas that could be. You’ll run the risk of never being able to think differently.

In order to create the next big thing, you’re going to have to deeply understand the audience and how you intend to provide great value and immersive experiences through that medium. You can’t create real estate software that’ll be impactful without understanding real estate itself.

That’s why you need to open your horizons by purposefully exploring topics that’ll interest you outside of programming.

Learn about philosophy so you can improve your critical thinking. Learn mathematics so you can improve on the mental models behind algorithmic processing. Learn astrophysics and rocket science so that you can get that software job working at NASA or SpaceX. Learn quantum physics so that you can better understand quantum computing. Learn gardening so that you can create the next big app that tackles the problems that gardeners constantly face. Explore anything and everything so that you can come back to your base craft and contribute more than you ever have before.

Whenever you go about learning something new that is unrelated to your base craft, always think back to how this one thing will provide value to what you are doing.

Be curious. Keep exploring. Open your mind to anything and everything.

Creativity is just connecting things. When you ask creative people how they did something, they feel a little guilty because they didn’t really do it, they just saw something. It seemed obvious to them after a while. That’s because they were able to connect experiences they’ve had and synthesize new things. And the reason they were able to do that was that they’ve had more experiences or they have thought more about their experiences than other people. Unfortunately, that’s too rare a commodity. A lot of people in our industry haven’t had very diverse experiences. So they don’t have enough dots to connect, and they end up with very linear solutions without a broad perspective on the problem. The broader one’s understanding of the human experience, the better design we will have.” — Steve Jobs in Wired Magazine, February 1996

4. Mentors Are Found Everywhere — Use Them, Don’t Abuse Them

With millions of books and an unlimited funnel of information out there, you’d think that everyone would be geniuses. Instead, most people blame the fact that they weren’t born into brilliance for not being “smart.”

What they don’t understand is that brilliance and genius are developed through deliberate practice. What better way to accelerate such growth than to find and learn from a mentor who can streamline you through a funnel that allows you to avoid all the past mistakes that they made?

You need to realize that with access to unlimited amounts of information, there exists no excuse that can be made to prove why you can’t know or do something.

YouTube, books, Medium, Wikipedia, Udemy, Google, and Stack Overflow are all versions of mentors that we have at our disposal. A mentor, by definition, is an experienced or trusted advisor. All of these platforms, if used properly, can serve as the mentor you need.

Unfortunately, instead of using that information to our advantage, most people use brilliant educational platforms such as YouTube to watch cat videos.

You need to intelligently use these platforms to vet yourself through the process of learning and growing.

How to do it

Simple. Just change your relationship with knowledge and the internet as a whole. The internet is a brilliant tool that we all (I hope) have as developers.

YouTube is flooded with amazing teachers who are there to help programmers from all walks of life to better understand and learn their craft free of charge.

Coursera and Udemy are there to provide full-blown courses equipped with certifications and professionals who provide extremely useful ways for people to get started, learn, and scale their knowledge with new technologies at very low and affordable costs.

Wikipedia and Academia provide non-biased information regarding all the topics you need to understand what’s under the hood of what you’re working with. Want to know how a variable works under the hood? Here you go.

Books allow you to comprehensively learn about a specific topic or technology that’ll improve your developer skills in many ways — be it a biography like IWoz or Masters of Doom, a conceptual book like Clean Code and the Pragmatic Programmer, or technical books that focus on a specific technology or language.

Needless to say, the world is filled with mentors. Just choose one of these, run with it, learn from them, and don’t take them for granted.

5. Look at Existing Systems and Either Extract Value From Them or Restructure Them Entirely

Now, this is something that you should always be doing: reviewing the very code that you write.

Often, by reviewing your code, you can dissect your own style of programming. You can find ways that you can potentially improve. You can find ways to abstract code and make it simpler. You can find vulnerabilities and even strengths.

Sometimes you might see no obvious flaw within your own programming, but more often than not, it’s not flawless.

There is always something that needs to be improved. You just need to find a way to lift that veil of ignorance and make it crystal clear to you. You might just need to be exposed to new ideas that allow you to see what you weren’t able to see before.

This can often be found by looking at other people’s code and trying to understand what they did right. Often, by looking at others’ code, you can learn how to improve your own. You become exposed to a potentially different and more optimal way of doing things.

How to do it

When looking at your own code, ask yourself these questions:

  • Can I make this simpler?
  • What can I remove?
  • Is everything I wrote clear? Do I need to rename my variables and functions to be more intuitive?
  • Is there any reason for me to extract code to further layers of abstraction?
  • Is this the most optimal solution?
  • Can this be made reusable somehow? Why would I want to make this reusable?
  • And the list goes on.

Often, it’s the questions that we ask that illuminate us to the things that we didn’t see before.

How can you look at other people’s code?

Well, luckily enough, there are many people on YouTube and Twitch who stream themselves as they code and create.

Also, GitHub is a vast platform filled with open source code that you can look at and analyze. All you need to do is explore the highest-rated repositories and give the code a nice, analytical looksie.

This is uncomfortable, but try your best to understand what the code is doing and why it was done that way. It’s a great way to learn and understand how to read code and apply it to your own practice.

Final Thought

Remember that learning is a huge part of being a developer. Learning can both be fun and uncomfortable, but for the most part, learning is worth it because you’ll always come out of the experience being better than you were before.

Try applying one or all of the methods I mentioned above in one way or another. I hope that at least one of them helps you improve and grow constantly throughout your programming journey.

Comments / 0

Published by

Cloud Developer | Philosopher | Avid Reader | Intellectual Explorer and Lifelong Learner | Athlete | Top Writer @Medium

Santa Ana, CA

More from Zack Minott

Comments / 0