DEV Community

Shashi Lo
Shashi Lo

Posted on • Originally published at Medium on

A CSS Setup Built From a Decade of Experience — Part 2

A CSS Setup Built From a Decade of Experience — Part 2

Continuing my 3 part series about the way I setup my CSS projects, the next question I wanted to answer was “why I do things a certain way”.

This is completely opinionated, but every developer will learn what works for them and every developer does things differently. Not everyone will learn by reading books, learn by watching tutorials, and/or learn by just coding. We all have our own ways we learn and implement things. Once you understand what works best for you, grab it by the horn and roll with it.

If you go into my car or go into my side of the closet, you’ll know that I’m not the most conscious person to keep these things tidy. But, if you look at my code and how I structure my directories, it’s pretty spicy. You betcha, I love food. If I could travel the world eating different types of ethnic foods as my profession, I’d do it in a heart beat. Any who, like Mark Zuckerberg famous said,

“I really want to clear my life to make it so that I have to make as few decisions as possible about anything except how to best serve this community.”

Decision Fatigue as it’s known. President Obama, Steve Jobs, Albert Einstein, and many more lived by this. The idea is that to use your brain power on something more important than picking your appearance. So now you’re wondering why I brought this up. It boils down to, why I do things a certain way.

I was called a “grid nazi” once. Yes. I’m Hmong Asian-American, so I’m pretty damn sure I’m not one. But what he meant was that I was very picky with his design and how it didn’t align with other elements because he was free-handing it. What I was trying to get at was that I liked his design, but I wanted to teach him how to be more conscious of keeping things symmetrical. Why? Because in design when things flow together, they’re more appealing. When things are cohesive, elements and components are seamless. So to the man I was providing constructive criticism, I was just simply providing my professional feedback.

In development, when I made critical decisions like being a “grid nazi”, it’s because I’m planning for maintainability. If things makes sense the way they are, why change it? But if there’s room for improvement and a way to make your code more maintainable, it should become a dance battle!

To clarify, what I mean by dance battle is you need to think of the pros and cons. Is it worth the time to restructure this particular code to be more maintainable. Next, what’s the effort level. Time = money as many say. Even if you’re not directly receiving money from your efforts, everything that you do with your energy is taking something else away. Therefore Decision Fatigue comes into play. In the agency world, there is no such thing. Oh trust me, I know. I’ve worked with many agencies and there’s always one sameness, deadlines. They’re never moved and scope creep keeps building up. I totally understand why though. You’re working for a client and they have an expected launch party or an event that this project correlates with. But there’s ways to educate your client to ease the stress level of your team.

Once of the best things I did was explain to a client that if they wanted to keep their deadline the same, we would have to create post-launch items to come back to after launch. This would be at no additional cost, but it would prolong the project. When you set clear expectations on what’s feasible with the amount of time allocated towards the deadline early and often, clients resonate with your concern about getting everything completed by launch day.

Top comments (0)