Stay Curious, Stay Humble

Being a software developer means a career of constant learning. That’s one of the things that keeps me here. Lately I see a lot of gatekeeping going on by developers I looked up to when I was learning. They particularly criticize the state of front-end development, that it’s gotten “too complicated.” The latest kerfuffle I got sucked into on twitter was over the idea that you don’t belong in this field if you don’t know that you can use a LINK tag to include styles.

When digital photography started to produce photos worth printing, the professional photographers of the day said things like “If you don’t know how to develop film or use an enlarger, you’re not a real photographer.” The old guard was not humble or curious enough to recognize the value digital photography brought, or they were afraid that “anybody can just go buy a camera now and call themselves a photographer”, so they tried to keep the photography gate closed and protect the world they thought they owned.

Meanwhile, millions of people bought DSLRs, some Photoshop actions, and started producing images people absolutely loved. No dark room, no enlargers, no chemicals — just some really great photography. My wife actually got her photography degree right in the middle of this change. One semester we were in the dark room every day, the next we were frantically looking for the USB cable at home.

Of course, some professional photographers stayed humble, stayed curious, and they picked up a digital camera. Even though they missed the mood of the dark room and the old ways of the craft, they discovered a whole new set of possibilities and productivity with digital photography.

Try capturing this without a digital camera!

If you ignored digital photography from 2002–2012, and then went to pick up a new camera, you’d be completely lost. When you quit learning, you lose context. When you lose context, you can’t understand what happened to the world around you and then you blame the “kids these days”.

So what about the LINK tag?

Well, the only thing that matters is that your UI gets styled. I started doing web development before CSS was created, but I haven’t used LINK for CSS directly in the last two years. I style my apps with Glamor or (maybe) import css with webpack. Maybe they create LINKs, maybe they don’t. I don’t care. What I care about is how performant it is (it’s fast) and how productive I am (I’m way more productive with Glamor than when I wrote my styles in CSS).

If you start learning web development with Vue.js and vue-cli, who knows what it does with your <style> declarations? Maybe it makes a LINK, maybe it doesn’t. What matters is the productivity boosting colocation of CSS with components.

But this isn’t new. Even if you started learning web development with Ruby on Rails 10 years ago, you’ve got stylesheet_link_tag, which doesn’t require you to know what a LINK tag is, either.

Eventually “developing film” will not be a thing anybody knows about because its completely irrelevant to creating great photos, same with LINK. The old guard doesn’t want you in a world they feel like they created and control, so they set up gates . Climb the gate, open it, or even better, kick it over. This is your industry.

Stay curious, stay humble, stay in context, and you’ll always have fun when it’s time to “pick up a new camera”.