What bad habit do you have because you learned an approach *before* a better idea came along?

ben profile image Ben Halpern ・1 min read

When have you found yourself sticking to old ideas which are almost certainly worse than something which came around to replace it?


markdown guide

For me it's pretty much everything CSS. Learning all the ways to use float, position:absolute, to make stuff happen really stuck with me way too long after better things came along.

I'll also say that I had the same problem with sticking to table alignments well after they'd been replaced by better modern ideas.

Just in the past few months have I started shedding some old bad habits as I'm adopting the Crayons design system that @pp and @lisasy are implementing for DEV.


I have the opposite experience. I know a lot of people that stick flex in absolutely everything and forget the basics like margin: 0 auto;. Absolute positioning and float solve some problems very neatly.


I was about to write something very similar, so I'll just leave it as an expanding comment.

I think that learning how to properly build an entire layout with float had such complexity and sense of wizardry, that it became super hard to let go. I still find myself thinking about how to do it with float and clear elements, even when we have flex and grid at our service.

Old habits, that took a ton to grasp, die hard.


I've been here, things like using pixel values, not using a mobile first approach. The worst habit of mine is I just start implementing stuff without investing much in why am I doing this or what could make it better, or just searching better practices before trying to implement it


So, you just write 'crayon' on every element? ; )


Took me TOO long to realize that collaboration was the opposite of a burden.

Being successful for years creating solutions and solving programming problems myself blinded me to the much more powerful sustainably productive outcomes of working with others.

I really think a "collaboration first" mindset is how we will survive and thrive in the increasingly competitive technology field.

I took a stab at explaining the mechanics of successfully doing that here “Eight Principles of Effective Collaboration” by Frank Font link.medium.com/Kn5yWgpos7


Huge win! You can learn so much more from each other when collaborating.


I learned to put two spaces after a period cause of typing class in high school. I still do it out of habit... even though everyone says it is bad. 😔


I have such a hard time ever imagining breaking this habit.


!! So many clients to that. Line breaks! haha. Clad you're going to stop! ; )


I try to avoid TypeScript. Much bigger fan of JavaScript


Same here... for now. I wonder if TS will become the de facto standard in the future.

(Actually I wouldn't say I'm a much bigger fan. My reasons are probably more out of apathy. I wouldn't reject TypeScript per se.


As a person who started coding with Python, Javascript, Clojure, and Ruby (and was frustrated with C++), I always liked dynamically typed languages. After learning Haskell and now that I'm using Typescript I can say that I should have learned Typescript earlier. It's so powerful and I feel safer and in a environment with better-documented code.

I still like doing some scripts with Python or playing around with Lisps, but if I'm starting a new project (website or dev tools), I tend to use Typescript.

Don't get me wrong, type safety is really convenient when you start talking about larger systems with more complex business requirements.

For websites, I'm still more likely to reach for JavaScript. Call me a fuddy-duddy but I feel more productive. Between Jasmine/Mocha tests and ESLint I feel pretty confident most of the time.


It's really hard to call onself a fan of JavaScript because of how convoluted it can be, but I just kind of feel like things are super easy to accomplish in JS.

This is also coming from someone who doesn't know Ruby or Python very well lol.


Typescript is JavaScript - isn't it? It's a super set, right? Any regular Javascript is valid TypeScript, syntactically.


Sort of. An example is that you can't use regular expressions the same way. I'm turnt that you have to construct a new Regex in order to use a regex.

The typing system doesn't feel very strong to me either. It feels much more like duck typing than actual type safety to me, but this is also coming from someone who has a pretty extensive career using Java.

I get that for certain things there's compile-time checking that can help you not make mistakes, but I'm still failing to justify the time you gave to spend accounting for those things while also remaining productive.


I've spent the last 10 minutes wondering what to write in here and came up blank. Hard to tell if I've always been quick to adapt or just never learnt anything :p


Typing... They taught touch typing when I was in elementary school and I was terrible at it and didn't get very far.

I am now trying to break bad habits with keybr.com.

A few years ago I made major improvements, regressed a but and am now getting better than ever.


I'm not a very skilled typer, maybe I should check this out too.



This is pretty cool. Typing practice with coding in mind.


It's Soooouch more advanced and cool than what I used as a kid. It has very clever ways of building word like things to stretch out certain fingers without being repetitive.

I remember as a kid it was. i i i ij ij ij iji I

It has also made me realize that my struggles are all in my left hand 🤔


I've actually been thinking lately about improving my typing as well. Thanks for the resource!


I used to adding both curly braces then go right, then enter and then type the body.

Some editors which autocompleted braces annoyed me


What is the problem with table ? As far as I can tell it is not going to be deprecated or replaced any time soon (or actually never) :-p


Table tags for tabular data are fine, as long as you label the columns correctly. Displaying a page as a 100% x 100% table and using that as all your page layout scheme... well, I used to get an earful from my mother about what this did to screen reading software and its bound to look like Hell on a smart phone.

Sure I was thinking to you wanted to replace it!!


When building a landing page or a MVP, for example, I always build it myself from “scratch”. Maybe I should start using some nocode tools or even hiring someone to save time and quickly test things.


I possibly have the worst one. Coding in ASP3 VB Script after .NET MVC4 being available. I learned ASP first cause I guessed PHP was kind of a next level. So I should try the easier first, and happened to never coming to learn PHP at all.

Nowadays I'm forced to code in C# thanks to my current job.


For me there are a lot "I learned a bad approach before learning the right approach" things.

!important was one of those "I need it to work now" habits.
I had no idea what classes were, so I did a lot of inline-styling too.

Nobody explained css to me back in the day, so that took a lot of reading, feedback and discipline to fix.


I dunno if "habit" is the correct term, but I'm a dyed-in-the-wool Perl-and-CGI guy from the 1990s who has tried to reinvent MVC within the CGI context because actually getting a post-Rails application into my prev-job environment would've required so much shoehorning.

And nothing I've played with on my own since the new job has had anything to do with back-end code.


I'm Gen-Jones-Gen-X cusp, so like everyone in my age cohort, my first language was BASIC--specifically old-school basic with LINE NUMBERS (and without scope). I learned ALL the bad habits and had to painstakingly unlearn them over the last four decades.


Based on articles I've seen on dev.to good ol' bash is losing market share to ZSH and fish. My sticking to bash when these shells offer an alternative may remain value-neutral for another 5-10 years, but I think that my adherence to bash will prove to be an old man's quirk before the decade is over.


I still use pixel values when defining border radiuses on my buttons ._.


Not using a consistent naming convention throughout the project.
I tend to mix up between snake case and camel case.


Git update, it costs me 1 second per pull but at the end of day, if it is 1000 pulls per week it is almost 5 minutes. Also IoC and autowiring annotations


I have an extremely bad typing technique (which I am now correcting). This was partly because I learned to type when computers in homes were not a common thing (darn I sound old).


Lone Wolf to a Team setting. I love the benefits and commeradarie. But I forget I can lean on others instead of banging my head for hours trying to get past a block.


This is such a good conversation, a bad habit would be not learning from these.


Always wanting to change HTML elements using the Jquery way. Why bind that when I can just select it with Jquery and change it?!?! :D


Inconsistent in learning a new language 😑


That Javascript is shit? I started on it back in the day when it was vying with JScript in the early days of the web. It has come a long way, and I'm still trying to make my peace with that and actually use Node.js at times.


JavaScript and JScript are the same language with different names, to avoid lawsuits.