10x EngineersPublished See discussion on Twitter
There’s often a lot of chatter about “10x engineers” online and in real life. It never really dawned on me until the other day but generally it seems like there’s two primary scales by which an engineer can scale themselves to deliver more value. Thinking about scaling and 10x engineers, my mind jumped to Kubernetes where there two primary ways in which one can scale an application: vertically and horizontally. For those that know me personally, I’m always trying to think of some metaphor for whatever I’m thinking about, so kubernetes scaling just feels right to me.
Within kubernetes, you can scale either horizontally or vertically. Scaling vertically usually means throwing more resources at a single pod (for example adding more CPU or available memory). Scaling yourself vertically as an engineer then likewise involves working longer hours, taking on more projects and work for yourself, attempting to do the work of 2 engineers as one. I can say for certain, after having tried to do the same for several years - it never ends well. You’ll end up hating the work, hating yourself, and feeling like you can never get enough work done at the end of the day. Ultimately, as you begin to hate the work more and more you begin to slide into burnout.
On the opposite side of the spectrum you have horizontal scaling, where you spread our your application into more individual pods. Scaling yourself horizontally involves building up the engineers around you to accomplish more than you could ever hope to accomplish. Arguably from my experience, horizontally scaling yourself is the better path that leads to a more fulfilling time and career.
Certainly while some applications may perform better via vertical scaling, humans are not the same. You may be able to do short bursts (6 to 18 months possibly) vertically scaling yourself, you’ll end up regretting it on some level.