Avoid Burnout & Progress As A Developer

Avoid Burnout And Make Progress


At the time I’m writing this article, I’ve been a developer for going on 11 years. I love what I do, and am extremely blessed to do it. However, that doesn’t mean there aren’t days when I’d rather be doing something else for a living. I think every occupation is like that. Variety is the spice of life, right? When I start feeling like this, I know I’m on the edge of burnout, again.

Being a developer is very demanding. It takes a lot of patience, focus, and mental energy, everyday. Not to mention having to take orders from BAs, QAs, PMs, and other bosses, as well as clients. The pressure of deadlines, demands, a constantly changing industry, JavaScript fatigue, and pesky code that just won’t work can wear you out pretty quickly, if you let it.

Here are 6 simple tips I’ve learned over the years to avoid burnout and stay passionate for developing. You’ve likely read them before, but I felt sharing my thoughts was still “blog worthy”.

Working Too Many Hours

Let’s get the obvious out of the way first, because we’re all guilty of it. Working too much. There is a myriad of reasons we tell ourselves that putting in those extra hours or staying up late are worth it, and maybe for a short period of time, they are. But, be assured, you can’t keep it up for the long term. Unfortunately, we humans need sleep, rest, and variety. In fact, I’ve come to realize that one of the worst things I can do for my career, knowledge, growth, enthusiasm, code quality, attitude, and especially productivity, is to take breaks and work a proper schedule.

I love to workout with cardio and strength training. But just like tearing up muscle fibers when lifting weights, if you want to progress and make strength gains, you have to rest and recover. The same rules apply to developing as well. Drilling more and more day in and day out is not going to lead to more progress. It is much more likely to have the opposite affect. Having a daily, steady routine with consistency is where it’s at.

Stop Overwhelming Yourself

Like I mentioned, the development world is constantly changing. Everyday there is some new hot library that’s guaranteed to be the next big thing. Package managers, JavaScript, frameworks, APIs, whatever. It’s insane if you really try to take it all in. Stop overwhelming yourself. I think this really applies to new comers in the industry. I remember early on as a developer feeling overwhelmed that I never knew enough, making me unconfident and asking myself if I even wanted to continue pursuing my career.

I realized that NO ONE knows everything. There are a lot of coders out there that act like they do, but they are the ones that actually don’t know how little they know. I decided early on to learn the languages that I enjoy, like PHP, and to get really good at the fundamentals (JavaScript, CSS, HTML). Of course I stay up to date, but not always with what the hottest trend was, or is. If I did that, I would have wasted a lot of valuable time learning libraries and frameworks that are dead. I personally wait for around a year for something to be out there in real world use before I concern myself with it. For example, I didn’t dive into Angular until 2015, and React until late 2016. I was and am able to continue to learn them fairly quickly because I have a strong foundation of core JavaScript knowledge and programming paradigms. That should be your priority, too. Sure, I know how to code in some other languages, but they are far from my focus and not on my radar. You don’t have to know everything and be a polyglot, contrary to popular belief. Code and learn what excites you, then you’ll be an expert in that. Experts in any occupation typically are always in demand and paid well.

Instead of trying to consume and conquer the entire internet, I try to learn and practice one new thing everyday to progress my knowledge and skill sets. That’s 365 new things I’ll be better at at the end of the year. Some days I’ll learn and do more, some less. It’s about balance and real goals. Speaking of goals, that leads me into my 3rd point.

Set Achievable Goals

Setting realistic achievable goals can and will boost your moral, skills, and overall career as developer, or anything in life, actually. I like to have a big goal that I know might take months. Then I break that goal down into much smaller daily achievable steps to get to that goal. It’s basically the same methodology employed during a code sprint. For example sake, we’ll pretend that you want to be completely independent of relying on jQuery. Break it down. You’re not going to replace the entire library of jQuery with vanilla JS over night.

Here are a couple simple examples of how you can steadily eliminate your dependency. If you are used to grabbing all of your DOM nodes via jQuery selectors like $('#the-id-selected'), and find yourself loading the entire library to achieve simple things like that, start by learning the vanilla JavaScript way of selecting DOM nodes. In that example it’s as easy as document.getElementById('the-id-selected');. Then, move on to setting and unsetting classes the native JavaScript way as well using the classList property. If you haven’t checked out vanilla JavaScript for a few years, it’s come a loooooong way, and is now basically just as easy as using jQuery. These are simply two basic examples of setting realistic, daily achievable goals. You decide what goals you have and where to start.

Work On Your Own Projects

One of the absolute best ways to progress and to stay fresh and to get motivated is to build applications for yourself or for a communal project that you are genuinely interested in and have a passion for. Have fun with your code. You’re the boss! You get to make all the choices. Are you going to use React, Angular, Vanilla JS, PHP, Python, Node? It’s up to you, and you alone! When you are passionate and having fun with what you are coding, you’re going to code more. When you code more, you learn and get better as a developer. It’s inevitable. You’ll have more skill sets equipping you for your everyday development job, and your employers and clients will love that.

Charitable & Altruistic

I truly believe that being a generous and giving person is a key to living a successful life. Using your skills for a charitable or altruistic cause is a great source of motivation and way of staying fresh. Writing an application or code that benefits a worthy cause, someone in need, or even a struggling co-worker, steps outside the box of typical work. It is rewarding to know that you are giving and donating time, skills and effort to something bigger than yourself.

I’ve written applications for my church, helped friends set up websites, mentored and been mentored by other developers, and simply helped debug others’ code. It has always left me feeling good knowing that I helped someone else. There has never been a time where I coded charitably and didn’t learn and better myself and my career too.

Mix It Up

When it is possible, mix it up. For example, say you have a new feature request for a project at work. The feature is going to require markup (templating of some sort), styles, backend, and frontend code. You’ve already spent the last two days grinding away on the API, so take a break and work on the templating and stylesheet, or maybe work on the database schema. The point is, try to mix up whatever aspects of your job as a developer you can, when you can. Using this type of strategy in your code sprints or weekly work life will help to keep you much more productive as well.

Final Thoughts

Like I said, you’ve probably heard all of these methods before, but hopefully I gave you something to think about and consider. I’d love to know how you stay sharp. Please leave your comments below!

Published: October 28, 2018 12:02 pm Categorized in: