Everything Easy is Hard Again – Frank Chimero

I started the year exceptionally motivated and productive, with a reasonably-sized to-do list that has now expanded by a factor of at least three. This article by Frank Chimero about the increasing complexity of web development came about at the right time, and it deserves a share.

Tortise and hare sitting next to each other on a track

This week has been frustrating. I started the year exceptionally motivated and productive, with a reasonably-sized to-do list that has now expanded by a factor of at least three. I’ve put a lot of pressure on myself in just the last month – too much pressure (Selecter, anyone?) to learn things, make things, and share them. The latter is both the most paralyzing and the most important to me.

I stumbled upon this article from Frank Chrimero at the perfect time. I highly recommend you go read it here, especially if you’ve been struggling with the complexity of web technology (which, I think, would be everyone).

Here are a few passages I found particularly resonant, along with some comments:

I wonder if I have twenty years of experience making websites, or if it is really five years of experience, repeated four times. If you’ve been working in the technology industry a while, please tell me this sounds familiar to you.

I’ve only been making websites for six years, not twenty, but more often than I’d like, it feels like I have just a year of experience – particularly when I am competing for employment and studying for interviews with those fresh out of coding boot camps.

The new methods were invented to manage a level of complexity that is completely foreign to me and my work. It was easy to back away from most of this new stuff when I realized I have alternate ways of managing complexity. Instead of changing my tools or workflow, I change my design. It’s like designing a house so it’s easy to build, instead of setting up cranes typically used for skyscrapers.

A specific example of this would be containers – a buzzword I’ve heard here and there and thought, “Oh, I should investigate this thing and try it out”. Applying knowledge of containers to the majority of my projects would certainly qualify as building a house with a crane.

If knowledge about the web deteriorates quickly, it’s worthwhile to develop a solid personal philosophy toward change and learning.

What’s my ‘personal philosophy towards change and learning’? I’m still figuring that out, but one thing I keep coming back to is the value of frustration when learning technical skills, and the value of understanding fundamentals i.e. computer science. There are things about how computers and code work that haven’t changed in a long time. I’m slowly chipping away at how that knowledge can directly help us adapt more easily as our tools change.

… the rabbit doesn’t lose because he gets tired. He loses because he gets confused about which direction to go.

Along the same lines is a phrase/cliche I’ve encountered a few times lately: your career isn’t a sprint, it’s a marathon. Every time I get overly excited or frustrated with what’s happening or not happening for me, I remind myself of this.

That concludes this Saturday’s dose of self-reflection!