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.
Top comments (54)
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.
I keep giving this advises to other peers/mentees, but now I have an article to show them what are the benefits :D
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.
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
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
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 :)