Photo Jeremy Keith

Jeremy Keith

To all those don’t meet you yet. How do you describe yourself?

My name is Jeremy and do web …stuff. I’m not sure whether to call myself a web designer or web developer or something else. I usually like to just say “I make websites” …although that isn’t necessarily true either; I spend most of my time trying to help other people make websites.

When you started developing, what were some common mistakes you made along the way?

Lots of “mistakes” I made back in the day would have actually been “best practices” at the time. For instance, in the late nineties I was proudly make websites using tables for layout. But that’s because there really wasn’t any other way of doing it.

I would say whenever I’ve truly made a bad decision in the past, it nearly always goes back to the same mistake: making assumptions. Whether it’s assumptions about the end user (their browsers, devices, and connections) or the client, unfounded assumptions have definitely been at the root of most of my woes.

Front-end seems to be easy until you start to learning. How do you face the challenge of learning new things?

If you find something interesting, then learning it isn’t a problem—I mean, it might be challenging, but at least you’re motivated. The problem is when you’re learning something you actually don’t have any interest in—then it’s simultaneously challenging, and you’re not motivated …a harsh combination. In general, I’ve found that if something doesn’t genuinely interest you, it’s okay not to learn it. That can feel like a cop-out, especially if it’s the latest shiny technology that everyone seems to be talking about, but peer pressure is not a good deciding factor in what to learn.

Clearleft

What would you qualify as the top few problems facing developers today?

There’s so much involved in front-end development these days, I think that one of the biggest challenges is deciding where to focus your energy (and again, I would recommend going for what excites you). But even if you decide to deep dive in one area, you still need to at least be aware of what’s currently possible in other areas of front-end development. Striking that balance can be really tricky.

How would you recommend somebody to start learning web development?

1st and 2nd floor at night

Start with the foundations. Understand how the web works: HTTP, URLs, GET and POST. Then learn HTML, but I mean really learn HTML. I’m often surprised by how many advanced developers who are geniuses in JavaScript seem to have skipped over all that markup has to offer and end up expending a lot of effort trying to reproduce what the browser already does.

Then learn CSS. Once you’re comfortable with CSS, check out tools like Sass. Finally, get to grips with JavaScript. And again, once you’re comfortable with the language, then check out some of the tools available to you.

What are the things you would have known when you first started?

I kind of like not knowing what the future will bring. That said, after the many years I spent banging my head against the wall trying to convince people to build fluid websites instead of using fixed widths, my past self sure would’ve appreciated knowing that responsive design was on the horizon, ready to bring me some backup.

When starting a new project, if you feel stuck where do you look for inspiration?

My colleagues are a great source of knowledge and inspiration. The developers at Clearleft have a weekly front-end pow-wow and I’m always amazed by how much I get out of that.

What was your first development job and how you faced it?

I was playing in a band (this was in the mid nineties) and we decided we should have a website. I said I’d try to figure out how you made a website. I asked an old friend who I knew did something with computers, and he explained how HTML worked. I did a bit of searching online too (I can’t call it googling: Google didn’t yet exist) and lots of other people were happily sharing their knowledge on the web and on mailing lists. I ended up having a lot of fun making that website.

What was the most challenging project you ever faced and why?

I run The Session — a community website for traditional Irish music. It’s challenging not so much from a technical perspective, but from a human angle: trying to create and sustain a healthy online environment has definitely had its challenges. But it’s also the project that has given me the greatest reward.

Can you describe your workflow when you create HTML, CSS and JavaScript from scratch?

I reach for some paper and a sharpie and I sketch out whatever it is I’m trying to accomplish—that might be a user flow, an interface, or an interaction. I try to get an answer to the question: “what is the fundamental task that the user needs to accomplish here?” Then I figure out the simplest possible technology to accomplish that; usually HTML. I open up a text editor and write an HTML document. From there, I can start thinking about how to layer on the visual styling using CSS and interactions using JavaScript.

What excites you most these days?

From a technology perspective, I think Service Workers are very exciting indeed. They could be as much of a game-changer as Ajax was. But more broadly speaking, I’m excited about seeing new developers arrive on the web. I hope I can help them in some way.

What is the most important thing you’ve learned?

I’ve come to realise that the real power of the web lies in its ubiquity. Just as Tim Berners-Lee first intended, a website can be accessed on any device with any browser as long as there’s some kind of internet connection. That still amazes me. And it continues to break my heart when I see people choose to deliberately ignore that superpower and build sites that only work for a subset of people.

Do you have any favorite books, videos, or resources that you could share with the readers?

When it comes to books, it’s hard to wrong with the books from A Book Apart. Except for that first one, they’re all really good, and they won’t take too long to read either. As for other resources, I find fantastic stuff on the web just about every single day. That’s why I’ve got a “links” section on my site.

Do you have any advice for new developers just starting their career journey?

Take your time, have fun, don’t panic or feel pressured to try learn every new framework and tool that comes along. And remember, web development isn’t about technology; it’s about people.

Oh, and share what you learn. Have a website. Write a little something there whenever you can. It doesn’t matter if anyone else reads it or not—you’ll appreciate having it to look back on. Trust me.

What can we expect from Jeremy in the future? Anything you want to share?

I have some ideas for some new projects, but I really need to knuckle down and overhaul some existing long-term projects. I already mentioned the Irish music site, The Session. There’s also a site I built called Huffduffer that’s long overdue a redesign: huffduffer

As ever, I’ll be writing my thoughts on my website, Adactio