Strings and Things

7 Bad Habits of a Successful Developer

July 12, 2019

Welcome to my blog!

I’m a front-end developer, meetup organizer, podcast host, and I get paid for some of those things.

Before we start, I’m not saying you have to be or do all those things to be successful. Making software is really my only metric for being successful as a developer. If you code and make things, that’s what matters at the end of the day. Everything else is a bonus in my book.

That being said, I’d like to talk about some things that I could do better.

These are my bad habits.

1. Eating at my Desk

At my first job as a developer, I was part of a new, young team that would take a group walk everyday at lunchtime. We’d hop up from our desks, leave our work behind, and go stretch our legs for about a half hour. We’d discuss some work things, some non-work things, but most importantly we were taking a break and getting a little exercise.

Now, I work on a team that doesn’t take group walks. They have a habit of going out to eat together, but I bring my lunch and don’t partake. I also am constantly taking a free second here or there to take care of business for my podcast, meetup, or side projects. Lunchtime is a prime target for getting a few extra things done. So what ends up happening is that most days I end up eating at my desk.

Don’t do this. Take a break, get away from the screen, and go walk around outside for a few minutes.

2. Going down rabbit holes

Photo of a peaceful Rabbit

“Going down a rabbit hole” is what happens when you run into a problem while writing code and start jumping between researching solutions, without actually accomplishing the task.

For example, you want to build a feature that lets a user upload and crop an image. You go onto stack overflow and read about uploading files, then look into file upload components in Vue, then in React, even though you’re working with Vue, then google tells you HTML5 canvas can help so you start looking at codepens…

Four hours later, you’ve got 8 potential solutions, 10 new side projects, and have learned of 3 new JavaScript frameworks you want to try. You’ve fallen down the rabbit hole.

It’s good to explore new technologies, but don’t lose focus on the task at hand. Sometimes you just need to get the thing done, and any working solution is good enough for now.

3. Saying “Yes” way too often

Sometimes this is a friend or colleague asking me if I’m in on a potential freelance project, trying out some new tech (more on that later), or some other opportunity. Most of the time it’s saying yes to ideas I pitch to myself.

There’s so much development work out there in the wild that needs to be done. You might be thinking, man, I can’t even get a job, but I’m telling you it’s true. Every business, non-profit, club, etc. needs a website, and there’s a whole world of problems waiting to be solved by technology. If you keep at this, you’ll see there’s a deluge of opportunities to code waiting for you.

The key is knowing what things to say yes to. It feels wrong to say no when opportunity knocks, but sometimes you have to take a hard look at your current workload and availability before committing. Sometimes you need to say no.

4. Having too many side projects

This plays a little into the previous point. How does the saying go?

“The man that chases two rabbits catches none”?

I have personal projects, talks I want to do, meetups to plan, podcasts to record, and now a blog to write. That’s just in the realm of development. It’s hard to focus on 10 things at the same time and actually accomplish something.

We live in a world that glorifies multitasking and an industry that worships work. Don’t feel like you have to do all the things. It’s OK to focus on one thing at a time.

5. Spending all my free time on Coding

I think a trend is emerging.

I’m a procrastinator and a little lazy by nature, yet somehow I find myself at my desk coding, researching, and planning non-stop. It’s an insidious habit that crept in on me without notice.

“Find a job you love and you’ll never work a day in your life.”

The inverse of this is you’ll never stop working if you let yourself go unchecked. I have to force myself sometimes to get away from my desk and go out outside, read a book, or just do something non-productive for a while.

6. Not using productivity tools

There’s a world of apps out there to help a person take notes, schedule reminders, and plan projects.

USE THOSE TOOLS!

I can’t tell you how many forgotten things I could have remembered had I just written it down, planned it, recorded it, set a reminder, or just done anything aside from take a mental note.

Mental notes are the enemy. Don’t take mental notes. We work in a field that demands attention and focus. I guarantee the first thing your brain will do to that important mental note is discard it as soon as you start coding.

Side Note:

Don’t go down a rabbit hole of making your own productivity tool. I mean it’s good to code and learn, but sometimes it’s better to just use an existing app and call it a day. I’m guilty of this.

7. Learning too many things

There are about forty kajillion things to learn in software, and I want to learn them all. I’m curious, I’m motivated, and I need to know exactly how everything I touch works under the hood.

The problem is mortality. We have a finite amount of time on Earth, and even if we spent all of it learning to code we still wouldn’t know all the things.

I’m calling it: You can’t learn it all.

I wish to one day have the wisdom to know the things I should focus on and ignore the rest or look them up as I need them.

Parting words

Remember that you can’t do everything and that you’re a mere mortal. Be kind to yourself and guard against burnout. Lastly, take time now and then to remember how far you’ve come and be proud of that accomplishment.

Thanks for reading.


Lee Warrick

Written by Lee Warrick, Front-end Developer, Guitarist, Gamer, and Co-host of the Tech Jr Podcast. Subscribe for updates!