Tim Ellison

Front-End Web Developer

What Kind of Web Developer I Want to Be

August 29, 2019

This past week I attended the 2019 React Rally in Salt Lake City, and now I’m enjoying my first vacation since starting at Netflix 11 months ago. It’s a good opportunity for reflection, to think about what kind of web developer I want to be.

The Question

The question that paralyses me is: in my career as a web developer, should I dig in deeper into the areas I already know or should I expand my knowledge out to other areas so I’m more well balanced?

A well-rounded web developer would know about everything from how the computer’s CPUs and memory work to the inner machinations of the operating system to the fine grained details of TCP/IP to all the latest developments in CSS and JavaScript and which browsers they work on to the fundamentals of web design and the physiology and psychology of human perception.

But that’s, for almost all people, impossible. Currently I feel very confident in my knowledge of Node, HTML, CSS, JavaScript, frameworks, HTTP, and the fundamentals of web design. My whole career has been focused toward the browser.

The Answer

So if I’m being completely objective, putting aside pride and curiosity and vanity and fear of being called out as an impostor, the answer is simple: I need to dig deeper into the areas I already know. Economic and professional opportunities come from being an expert in a particular subject. There are unicorns who know everything—I’ve worked with and marveled at them—but I gave up my opportunity to be one of them when I decided to study literature in college and grad school. I’m on a path where I’m most valuable as one member of a team, not as a one man team.

So my course of study, my areas of expertise, can be abstracted into these four fundamental categories:

  • The Assets - Everything that needs to be sent to the browser.
  • The Wire - How the assets are sent to the browser.
  • The Browser - How the browser renders the assets that have been sent.
  • The Experience - How the user sees and interacts with what the browser has rendered.

As with any abstraction, I’m making assumptions about the conditions of the world outside of the abstraction. But by identifying the center of my concern and sacrificing those extra levels of granularity, control, and knowledge that lie outside my horizon I gain the ability to truly master my proscribed area. There is a crucial joy in knowing one’s limits; it’s the joy of self-knowledge, the joy of motivation, the joy of ownership.