loading...
Cover image for Bad Habits Developers Should Fix

Bad Habits Developers Should Fix

lewismenelaws profile image Lewis Menelaws ・5 min read

What are bad habits?

A bad habit is a habitual behavior considered to be detrimental to one's physical or mental health and often linked to a lack of self-control.

I am still fairly new to this field. I started coding in 2013 in College and have been coding professionally for the last 3 years. Just like any profession, it comes with a bunch of nasty habits that develop over the years. Just like any desk job, programmers must make an effort to prevent these.

Not going outside during breaks.

It's always a funny joke to say to people that you don't go outside ever. Maybe it's funny because it's partially true.

One of the biggest things that contributed to my burnout was a lack of sun. For context, I am self-employed so I can make up my own hours and didn't have an excuse to not go outside but I always stayed inside and worked my life away. There is lots of reasons why this behaviour is bad for your physical and mental health. Some of them being:

  • Fatigue
  • Constant feeling of being ill
  • Depression

How to fix this

It's not easy to fix some issues. Sometimes you have to work all day and that's ok. For me, I was required to always be on a computer to get my job done efficiently. On my breaks, instead of getting a colleague or brewing my own coffee, I walk to my local coffee shop or McDonalds and get one there. That way I am taking a break, getting some small excersize and getting sunlight.

Not getting excersize

I know, I know. You are probably thinking about why you shouldn't be a giant muscle man because you don't care about it. I agree, I'm not a sexy muscle fueled developer myself. I can say that working out has extremely benefited my career and my life. It's hard to start working out. Especially if you are new to it. Developers have long days and use lots of mental brainpower that it is often exhausting just to think about doing a workout afterwards. With the hours of sitting down and lack of movement, it's really tough on the body.

How to fix this

Just like the previous section, taking small walks in between breaks is a great way to get started. Once you do that and improve your diet, you can go to the gym and you will see amazing improvements. For me, this was huge because it allowed me to find another hobby outside of programming. Sometimes you won't have time to go to the gym, but find ways you can get excersize in. You're body and mind will thank you.

Only having programming as a hobby

I love to develop. There is a massive ecosystem of programmers and packages so it makes sense why somebody will want to do it all day. That being said, if this is your approach, than it's a slippery slope. I can't blame developers for this. Our jobs are constantly coming out with new things and we need to stay on top of it all so if we don't have programming as a hobby, we fall behind. This gets really bad because after long days or weeks, we start to resent the fact that we will have to code. Even so much as starting to hate it at your job.

How to fix this

Stop coding at home when you can. I've reserved all my work code for work and anything else that I love to do I put it on my computer at home. Not only this, but experiment with other things. Laura Medalia is a serious advocate on being a programmer with multiple interests (in her case it's fashion). I couldn't agree more. Ever since I have been trying multiple things out, I have been improving my work ethic and liking to program more.

Staying too comfortable

There becomes a point in a developers life where you are constantly working with the same framework/language/etc and you start to go downwards in terms of learning new things. There's a couple of reasons for this. This usually happens when:

  • You or your employer doesn't require you to learn anything new (legacy projects)
  • You are more focued on hitting extreme deadlines
  • Don't have a desire to keep pushing yourself

It's a tough industry that requires you to constantly keep learning, even if you aren't sure that's where you want to go. Staying too comfortable can cause you to become more lazy or even less qualified in the future.

How to fix this

Maintain a balance. The idea of becoming really proficient in a language or framework is extremely valuable. With the addition of new standards for computers/languages/web, if you fall behind than you risk your job. Take some time to expirement with new technologies on whatever you are working with. Even if it is minor. Remember, you are a problem solver, if you don't know everything, that's ok.

Not having a clear direction.

This one is very common with newcomers. With the saturated ecosystem of frameworks, languages, concepts, etc... It's hard to keep up and it overwhelms you when you want to get started. Often times this causes you to have an existential crisis in your abilities to perform tasks or even questions your progress down a certain route. Developers often spread themselves out too thin, meaning they know the basics of so many different options but don't know one specific one too well. This is problematic.

How to fix this

Pick something and stick to it for a while. Chances are you can do it with what tool you are using. Of course, this isn't to discourage learning new things, but first ask yourself if you are learning because you are lost or learning because it's the next step towards your journey.

Closing Words

Devs have lots of issues. Sadly, there isn't an issue tracker to show how we can solve all of our probelms but we can always be here for each other.

What are some other issues you deal with while being a Developer? Let me know in the comments.

Follow me on Twitter.

Posted on by:

lewismenelaws profile

Lewis Menelaws

@lewismenelaws

My name is Lewis Menelaws. I am a developer and entrepreneur located in Sarnia, Ontario focusing on creating great things for the web. Currently I am Lead Developer and Co-Founder of TMRRWinc.

Discussion

pic
Editor guide
 

One problem I'm constantly having to remind myself of is that professional software development is just as much business and people skills as it is technical skills.

You have to learn how to communicate, whether it's with your team, with your managers, clients, customers, etc. you need to be able to engage in conversations that ensure you're building what's actually needed. Part of this is working with the boring and complicated issue trackers, being active in meetings, learning to ask the right questions, and learning to not just accept, but graciously welcome both positive feedback and criticism.

You also need to look at all your code through a business perspective, or how will it help you or the company make more money. It's so easy to get lost adding cool new features that don't really help the business, and to want to give away code for free, but that's not going to put food on your table or keep the company in business.

 

This hits too close. I am guilty of almost all of the above and it’s almost painful to know there are many others in the same boat too.

Makes me wonder if this is solely an isolated problem or something that we are culturally cultivating in the profession.

Many of us give undue emphasis to what we do and extend it to encompass all aspects of professional and personal life.

Thanks for sharing.

 

On your learning to communicate, you also have to allow yourself a few bumbles now and then too. I used to be SO hard on myself I'd shut down and "hide inside", getting nothing at all done. Be kind to yourself, no one is perfect at being human.

 

This is what happened to me here at this lovely website when I interned here. It doesn't do your team any good to shut down like that. I realize this now, but when it was happening I was defeated. This is a good reminder for me and an encouragement.

I have this tendency and only recently I have been able to get some control back. It takes time but even a little improvement matters.

 

Completely agree. Tech addresses the needs of a business. Not vice versa. Thanks for the reply :)

 

Pretty good advice. My 2p / 2¢:

  • Don't worry if coding is your only hobby. Just be ready for the moment it gets boring (for a while) and accept that it's OK to enjoy something else. Maybe you'll come back to hacking in your spare time, maybe not - just remember it's for you to unwind and not a thing you have to do.

  • I don't gym, I run. Some of my colleagues walk. Or just walk to a restaurant. Some of us do none of the above because they can't. Exercise is great for many reasons, but you could play piano, read a (fiction) book, practice meditation or mindfulness. This is all particularly useful not just for lunchtime but for whenever you're stuck. Grab a colleague, tell them it's coffee time and go walk and chat.

  • My 'worst developer habit', in myself and others: not talking. Try not to sit with your headphones on all day 'working' on a problem. Talk to everyone about what you're doing. Or your weekend. Or the latest episode of Doctor Who or whatever.

  • Forgive yourself. You do not have to know it all, do it all the time, be super productive. If you take the pressure off doing what you have to do and try and do what you want to do - what makes you feel 'happy' - you'll be both more productive, happier, nicer to work with.

A worthwhile read is Apprenticeship Patterns, which is full of good ideas that I've used from time to time to move forward in my career. I'd stress ideas though - not everything is right for everyone. Really, listen to yourself and how you feel, try out things and see how they make you feel.

 

I'm wary of anyone who only has one hobby, regardless of what it is. It really limits your conversation, especially with people who don't have the same hobby as you, and it limits your variety of experiences!

 

I love the last bullet, we often forget to be kind to ourselves. I definitely think the third bullet is a missing piece in my day-to-day work and I want to start doing it TOMORROW! I have a hunch that I would be better if I "thought out loud" more.

 

Love all your points David. Certain things won't work for everyone and that's ok. I will for sure give the Apprenticeship Patterns a read :)

 

Can't remember who said it, but I agree: hobbies are for people who don't love their jobs.

 

Wow, very spot on. I’m guilty on lots of this stuff.

Thanks!!

 

I have definitely had the problems of too little sunshine, too little exercise and way too much coding. It burned me out a few times. Solution for all of them for me was getting a dog. I walk her for min 8km per day, usually late afternoon/early evening. It takes around 2 hours. Solved all 3 issues in one stroke. I wish I could claim it was some genius but it wasn't, I just wanted a dog

 

A dog really is a blessing in disguise. Helps you get fit and stay outside. What kind of dog do you have? :)

 

She is a scent hound, a French breed called a Griffon Bleu but she is a mix and doesn't look much like the pics that will return from Google. They don't do any murder they are just used to flush out wild boar. Upside (and downside) of that is she is crazy playful and social

 

Pretty good advice, not just for developers but for any kind of job. Specially the going out part. I have the privilege of having lots of green areas on my workplace, it really helps going outside when I'm mentally fatigued.

 

Here is what I changed over the years:
1) we (almost the entire team) go outside for lunch and we walk at least 15 minutes in fresh air
2) recently I started again to work out (heavy weights and cardio, 60/40) and this helps me to be more balanced. The brain is a muscle too, but we need to train every muscle
3) In my free time I write books and draw comics (long time hobby of mine), which contributes a lot more to balancing

...

but, I love programming and I continue on my Github projects, even starting new ones here and there

...

you cannot stop programming

 

Also plenty of sleep. I know it's mentioned in many other articles about the well-rounded developer, but it is useful knowledge. it's easy to get carried away, but the older you get the more important a regular sleep schedule is.
Having other hobbies is also important. I have outdoor and non-technical hobbies I enjoy, but I've also been getting into video and photos editing. There have been many times while pursuing my other hobbies that I have had "ah ha" moments about work.

 

I keep giving this advises to other peers/mentees, but now I have an article to show them what are the benefits :D

  • take hourly brakes away from the chair/desk
  • workout at least 3-4h each week, anything, just do something
  • braking your comfort bubble is a skill that you have to train, learn new paradigms, languages, go to interviews even if you love your jobs, go to meetups ...
  • make yourself a 1-3y professional plan, usually they think on a position they want to reach, and go towards that direction each week. You can always pivot but adding a brick each week will make you stronger.
 

It is great to see that you are not alone in the world. hahaha
Not going outside and exercises are standard problems, unfortunately.
I don't have only programming as hobby despite expending a lot of time doing it and I'm definitely not comfortable and with this I fall into the last problem: direction.
As you've said, too many frameworks and languages to choose from; being full-stack or not, etc. Many problems for a young programmer to solve to testing your problem solving abilities. hahaha

 

I agree with pretty much everything here, I cycle to and from work, even when I'm a bit tired, so I get my exercise.

Whilst I do program as a hobby, I do it when I feel like it, right now I'm building a roguelike game to learn the rust programming language but If i don't feel like programming I won't.

I can often spend weeks where I'm not programming at home, but when I do, I do my best to not allow what I do and learn at home to be guided by stuff I need to do at work, that way it's more of a hobby for the sake of hobby then a hobby for the sake of work.

I honestly find the direction thing a bit weird, I mean I get it, but for me my direction has always been what I liked at that time rather than a specific end goal, so I tend to float about. I did some dev-ops but found I didn't like it so I'm not doing it, I do like development so now I'm developing an app at a startup.
Same thing in terms of learning stuff, I'm learning rust because I wanted to learn a systems language, I wanted to try functional programming, I wanted it to not be C/C++ and I wanted to learn something that would compliment my ruby skills.
That said, not having a clear path would suck.

For me, my problem is probably communication in the context of a professional environment, I'm not very good at it, I'm getting better but I still find it hard.

 

"Only having programming as a hobby." That hit me harder than I thought it would. Beyond reading & listening to music I don't really do much else outside of coding.

Thanks for the food for thought!

 

It works for lots of people :) I just know that a lot of people often burn themselves out quickly. Thanks for the reply TJ.

 

I'm lucky enough to work for a company where they offer a lot of opportunities to get the kinks out. We have an employee formed 'push up' club that meets daily for about 10-15 min and they have a yoga instructor come in every Wednesday for an hour class that is SUPER helpful.

I also try to get out from behind the screen for 10 min of every hour, if I don't I feel like my eyes dry out :)

 

I couldn’t agree with you more, we tend to forget about all of this things when we are having fun.

Another thing worth mention is that every fix that you provided will definitely help when trying to avoid being burnout.

 

It's ok to have programming as a hobby :). It's a shame that you're lack of progress is due to the decision makers at your work. Perhaps you can show them a demo of laravel and vue and change their minds? Thanks for the reply Adam :)

 

That clear direction was me a week ago. There are so many things bringing up daily which confuse a lot a newcomer like me because as a dev its hard to decide the coolest of all of the coolest things.
I am lucky enough to get some right advises and writings to decide what I actually wanna be right now!

And to add more I also had eye strain issues. I have now a program running constantly that helps me to remind of some movement.

 

Also, don't eat lunch at your desk. I don't do this anymore, but was guilty of this many times in the past.

 

I have the go outside problem, but I do take my lunch break in the gym so I get that at least.

 

Wait, you eat lunch while working out?

 

ha! No, our building has its own gym so I use that then eat at my desk afterwards.

 

Amen! I seriously signed up for violin lessons. I'm pretty stoked.

 

Unfortunately all of the points are true.

 

Hey, just think of it as being self-aware. Now we all know how to fix our problems ;) Thanks for the reply Hamza.

 

These are my problems:

Not going outside during breaks. - I always play cs 1.6 in the office, in summer i go out, but i can't go out in winter :'(

Not having a clear direction. - I have no idea what to do with my life, so, I have no idea what to do with my professional path.

A good habit that I'm trying to acquire.

  • meditate 20 minutes a day.
  • win the fight against my impostor syndrome.

Good post.

 

Wow, I'm surprised that I have none of these!
Thanks for article.

 

Tell us your ways....

 

The worst bad habit, in my opinion, is to let the depression develop for whatever reason and not cure it in timely manner. It causes lot of problems in the long run.

 

s/excersize/exercise

Great article, thanks!

 

Good points, these past few months I avoided programming while at home.

And now started pick up a new hobby which is mechanical keyboard (not programming, smh)

 

A hobby is a hobby nonetheless. Glad you found something Omar :) thanks for the reply.

 

It's an article to not just read once!

Really caught what all devs once in life need to face it, and for sure it's a good thing to overcome and transform to self-improvement :)

Thanks for sharing!

 

Remember, you are a problem solver, if you don't know everything, that's ok.

Love this.

 

Another common one I see everywhere in our code base and this article as well -- spelling errors. Proofreading and reviewing your content is important. exercise* your* body and mind

 
 

Great post. I love it

 

Started lifting three years ago.

Four times a week, 45min at lunch time.

You might have preconceptions about muscles, "only jocks and jerks have them", or "if I get muscles my brain will wither"... You're wrong.

What I do know is this:

I sleep better, I don't feel anxious anymore
I have better posture
I'm less stressed out, Petty shit is irrelevant

Another thing developers need to stop doing is over-complicating things. Stop over engineering everything.

Lastly remember that your ability to be awesome depends on being able to make your team mates look and be awesome.