/writing

Beyond Being a Frontend Engineer

4 min

This was originally a response to a question on Zhihu (China's Quora):

"As a frontend dev, I can't understand almost any of @黄玄 (that's me)'s answers. Is it just me? ...Since everyone says they can't understand him does he feel lonely?"

Aww.

I Don't Understand Either.

For any field I know something about, I can name a long list of things I don't understand. Conversely, for the fields I know nothing about, I can't even articulate what I don't know.

I sometimes think I was more confident, and more eager to share, back when "frontend" was my entire world. The boundary of what I could perceive was maybe 2⁴ = 16, and I felt I'd covered about 4 of it. I could already do the work, and I thought: maybe I'll learn a bit more about JS engines, browsers, how frameworks work under the hood. Maybe pick up some backend. Go full-stack. 4 out of 16 is 25% of the universe. Not bad!

Then my knowledge actually grew to 16, and I realized: oh, computer science has this much more? Every field runs deep. Textbooks cite papers, papers cite more papers, branching out like fractals. The boundary of the unknown grew to 2¹⁶ = 65,536. Suddenly I knew 0.02% of everything. I went from feeling pretty good to feeling like nothing at all. I call this the "exponential growth of unknowns."

All I can do is learn to live with it. Prof. Matt Might's illustrated guide to a Ph.D. helped me see how small any individual is against the totality of human knowledge. And maybe "growth" is just this: within that ever-expanding set of things you don't understand, choosing which subsets you're still willing to explore.

"The exponential growth of unknowns"

Being a Frontend Engineer.

For a long time, "frontend" was both my interest and my career, and the two didn't need to be different. I interned at Alibaba early on, led a team at Weiying before graduating, worked at companies of every size, attended plenty of events. If I'd just kept at it and stayed "a frontend engineer," I'd probably be doing fine.

But the edges of the unknown kept glowing. A friend once described a certain type of person as "driven by understanding." Maybe that's what it is. I came to engineering sideways (switched from science-track to art in high school, from interaction design to frontend at Alibaba), and I accumulated too many unanswered questions. Or maybe I just wanted to travel. There was theory I was curious about, systems programming I hadn't tried, new product paradigms forming on the horizon... The urge to explore the next thing always eventually overtook the comfort of the current one. You hear about a discipline, a civilization, the eye of a storm, but if you don't go see it, you'll never know what it's like.

Recently, people kept asking me "What's the direction for your frontend team?" and I realized I'd stopped thinking that way. The question itself carries the assumption of fine-grained specialization that the market demands. Meanwhile, I was sometimes surprised by how Facebook internally felt like an open-source bazaar: barely managed, gloriously messy. Frontend as a sub-field certainly needs its own infrastructure and expertise. But maybe your career trajectory, your company's org chart, and how software gets built don't all have to be welded together.

What I want isn't just to keep doing what I'm already good at. I want to explore the things I want to try but might not be good at yet, and ideally get paid along the way. Let's call it "technical freedom." So, am I a frontend engineer? Am I not?

Why must "focus" and "career" be a bijection?

Coda.

Sometimes you need to earn a living. Sometimes you need ideals.
Would you rather be a hacker-painter, or stand on the shoulders of Hilbert's tenth problem?

Gödel says it's undecidable. Life is no simpler than Peano arithmetic.
Too many tradeoffs. We can only approximate the shape we want.

These are words from the heart. For the mind, go read more books.
If any of this gives you a moment of different thinking, that would be the highest reward one carbon-based life form can offer another.

Xuan Huang,
July 5, 2020,
Santa Clara, California.

Translated and adapted from a Zhihu answer