DEV Community

Cover image for Bad Habits Developers Should Fix
Lewis Menelaws
Lewis Menelaws

Posted on

Bad Habits Developers Should Fix

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.

Top comments (54)

Collapse
 
cjbrooks12 profile image
Casey Brooks

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.

Collapse
 
mathur_anurag profile image
Anurag Mathur 

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.

Collapse
 
ash1eyish profile image
Ashley Maria

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.

Collapse
 
tiffany profile image
tiff

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.

Thread Thread
 
ash1eyish profile image
Ashley Maria

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.

Collapse
 
lewismenelaws profile image
Lewis Menelaws

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

Collapse
 
gypsydave5 profile image
David Wickes • Edited

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.

Collapse
 
tenshiemi profile image
Emily Chen

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!

Collapse
 
ash1eyish profile image
Ashley Maria

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.

Collapse
 
lewismenelaws profile image
Lewis Menelaws

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 :)

Collapse
 
maksimov profile image
Stas Maksimov

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

Collapse
 
ben profile image
Ben Halpern

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

Thanks!!

Collapse
 
imikemiller profile image
Mike Miller

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

Collapse
 
lewismenelaws profile image
Lewis Menelaws

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

Collapse
 
imikemiller profile image
Mike Miller

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

Collapse
 
jafuentest profile image
Juan A. Fuentest Torcat

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.

Collapse
 
bgadrian profile image
Adrian B.G.

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.
Collapse
 
b_hill105 profile image
Brandon Hill • Edited

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.

Collapse
 
hydrogen2oxygen profile image
Peter

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

Collapse
 
leoat12 profile image
Leonardo Teteo

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

Collapse
 
lewismenelaws profile image
Lewis Menelaws

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 :)

Collapse
 
laughlete profile image
Jimmy

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

Collapse
 
sqlkohai profile image
Matt Cushing

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 :)

Collapse
 
fabiorosado profile image
Fabio Rosado

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.

Collapse
 
teej profile image
TJ Fogarty

"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!

Collapse
 
lewismenelaws profile image
Lewis Menelaws

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

Collapse
 
thermatix profile image
Martin Becker

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.