When I interviewed for my current role, I was asked “what would you say you’re the best in? What’s your specialty?”

I thought, as the question was being asked, that my honest answer was going to cost me the role.

My exact response is really blurry at this point, but the gist of it is that…

1. I wouldn’t consider myself the best in anything, because there are a lot of smart people who specialize in things.
2. I focus my time on HTML and CSS, because regardless of what back-end languages, or JavaScript libraries are in play, they all tend to need HTML and CSS at the core of it.

Apparently it was the right answer for this team, however.

At the time I had worked in web apps, where the entire thing was written in Rails/Java/.NET and I just had to make the front-end work. And I had also worked on apps that were front-end heavy, written in AngularJS or Backbone. Even the iOS development work that I’ve done fell into that second category.

If you can write HTML and CSS well, it takes away a whole lot of cruft from the interface. You don’t have random unnecessary tags floating around. Things aren’t in tables, unless you’re working with tabular data. And you can often speed up the UI by not leaning on JavaScript in the first place.


But there was a bigger context to that question, which revolved around Bootstrap and AngularJS.

At the time, I had been working on apps that used (and occasionally abused) Bootstrap or Foundation. One of those apps also happened to use AngularJS. Another still used Bootstrap, AngularJs, and a few random bits of CoffeeScript because someone wanted to upgrade their resume.

I could certainly write Bootstrap specific HTML, I didn’t consider it hard or a big, scary unknown. It’s just not for me. I’ve built my career on being a minimalist HTML and CSS writer, and that has never failed me. Not once.

But having that skill gives me an opinion about Bootstrap and the HTML and CSS that it expects.

Now, I’m not at all hating on Bootstrap. Use it or don’t, I don’t really care. But for me, I never use 95% of Bootstrap, or any other framework. There’s a ton of stuff that nobody uses. But yet, if I choose it, it sits there in my project. Sometimes, Bootstrap updates, and things break. I have to rewrite code, update classes, etc. But minimalist stuff just doesn’t move. It stays in place.

And of course, the more weight my scripts and CSS files have in them, the more of a pain it is to get that stuff loaded into a browser or mobile device. (One of my recent Angular projects had about 500KB of scripts alone.)

I see so many job posts asking for something particular, like Foundation or Bootstrap that it’s easy to see why young front-end developers focus on it. And with the variety of things that a framework like that can do, it’s easy to see why they’re often “the obvious choice.”

But I think there’s a better way forward. In the next few articles, I’ll be writing about my own processes and how I go about building sites. I’ll be starting with the bits of CSS and HTML that I use in almost everything I build.

Part 2: Grid Systems