Just Right For Me
You’re doing it wrong.
OMG. I can’t believe you still use jQuery.
You’d be stupid to use Angular.
OOCSS is horrible for building websites! It leads to classitis!
Or, you know… maybe it doesn’t really matter.
I can be opinionated about how I build things. I have tools and approaches that I prefer over others. I willingly (and hopefully not forcefully) share those opinions.
I even wrote a book that encompasses a bunch of those opinions. And in said book I shared a thought that I still believe very much:
When it comes to web development, the answer to most questions is “it depends”.
The right way to build a web site is one that works. Yes, we all want the most maintainable, most delightful, most consumable, most quick website ever. It works on watches, phones, tablets, phablets, desktops, and billboards. Everybody knocks down your door because you know how to design and build web sites better than everybody else.
Or you come to realize that, like in life, it’s about tradeoffs. You don’t have all the time in the world and you need to ship this by Friday. Maybe using the latest JavaScript framework makes it harder to find and onboard new developers because nobody knows it. Maybe you like a particular CSS naming convention but the rest of the company disagrees. Maybe the nice web fonts are impacting performance.
You weigh the pros and cons. And at the end of the day, you compromise. You can’t predict the future. You can’t know what your needs will be in a month or a year and build the perfect web site that will easily scale to meet those needs.
Rebuild. Refactor. Redesign. Realign.
Build stuff and find the right way for you. Chances are, the right way for you will be different in a year. I once complained that CSS animations shouldn’t exist and now I think they’re they cats pyjamas.
I build things that are just right for me.
But if you ever use a clearfix the wrong way, I’ll kick you in the shins.
Conversation
It is so obvious to me that you work at large company because I do as well and face the same compromises everyday :) It's definitely the way to go and helps build trust with your dev team. At the end of the day it results in an excellent product even if you had to make a few compromises - that's the real world
Well said!
Very well put! As a Junior Developer i often feel some kind of anxiety when to choose the tools to work with. Sometimes resulting in no work done at all :(
Thanks.
Best post. Ever.
This is the difference between theory and practice. Well said !
It's the honesty that is most refreshing.
Haha. Thanks for sharing your thoughts on CSS animations.
Myself, I think I was the most stubborn in the early days of CSS, when it came to giving up my precious tables for site layout... I was the master at cutting .psd's up into a million pieces and then reassembling them in the most intricate tables.
Biggest reason behind the struggle in finding easier solutions is huge pool of information(often trivial and useless) at your finger tips with unlimited choices. It's becoming more and more consistent in all walks of life.
Would you buy a smart phone that doesn't have a camera, bluetooth, internet, apps, games - Off course not! No body wants a phone that doesn't do everything. We struggle between freedom and expectations and it multiplies with more choices.
I remember the excerpt from Prof. Barry Schwartz (Psychologist) best seller: The Paradox of Choice - Why More Is Less
"The secret to happiness is low expectations"
A terminal with console was more fulfilling because it was the only thing you had back in those days.