Cloud and serverless: a fast track to become 10x engineer or to lose the value of your past experience?
Though I had already written a draft trying to discuss a topic from the comment that David gave to the previous post “Does Serverless make DevOps jobs less relevant in the long run?”, I happened to read an article a couple of days ago, after which I decide to postpone publishing that draft and post this one first on this Monday instead — bear with me David (and hopefully I can publish the other one on next Monday).
The article that I read is “Building a serverless multi-player game that scales”. Please go ahead and read it if you have enough technical background (and it’s a fun and educational read), but what I am going to talk about in this post is not that technical article itself. Instead, what I really wanted to talk about here is that the author shared in a discussion that he “was able to put all of this together, on the backend, in a couple of days” — hat off to Tim.
Pull together game backend services in a couple of days
I happen to have chance to work on game backends and I know how big a team it needs to support game backend from inside. Though I understand that planning, scoping of the needed services might not have been included in the mentioned 2 days, pulling everything together on backend in a couple days definitely gives Tim the title of “10x engineer” in any company.
BTW, what Tim built was a non-trivial game backend, as the following diagram shows:
Serverless: a fast track to “10x engineer” or career competitive moat destroyer?
I mentioned at the beginning that I decided to publish this post in this week (by swapping out an already written draft) because I can’t help waiting to discuss a common concern that I heard from engineers with several years of experience, whenever we talk about serverless technology. The questions / concerns come like the following or the likes: according to what you said, this serverless thing made the product development so easy, then will our engineering career moats (years of experience) get destroyed or at least diminished?
I think the answer is ‘it depends’. It really depends how we look at it.
A fast track to 10x engineer
First of all, if we adapt and learn to use the new tools, then our engineering design principles and experiences will give us the advantage of building robust and reliable system — just much more efficiently; since cloud vendors has helped us to clear off the roadblocks between finishing the design/implementation and roll out to production system (e.g., “infrastructure reliability, auto-recovery and etc. have been taken care once you finish your coding” as we discussed in the previous post), a well crafted complex system could be developed and roll out to production super fast. This is exactly how Tim achieved it in his game backend system.
To lose our career moat
However, if we could not adapt and learn to use the new tools, then someone using these new tools will make our experience irrelevant. It’s like people started using rifles but we are still trying to be the best archer fighters.
Is the experience of archer fighter useful in the battlefield? Absolutely — because she/he knows how to fight in different situations. But unless she/he learns how to use the new weapon, her/his skill may quickly become obsolete in the battlefield. What we wanted to convey in this newsletter series, though, is that learning to use the new weapon is not that daunting even though there are a lot of new terms and concepts (as I mentioned in the starting post in this newsletter).
What would be a company’s decision on this paradigm shift?
(Keep using the above rifle and archer analogy — I really like analogy, but I often notice my analogies may not come across well in certain cases — let me know if this analogy is confusing)
Using the game backend example that Tim built, the company / team, which “the Tim” works in, most likely has already fired several bullets (i.e., already acquired a lot of players) before the “traditional” team even engages the enemy (i.e., launches the product).
For any engineering executive in charge of delivering that game, if there is Tim’s plan and schedule estimation (N days), and there is the old plan and schedule estimation (weeks if not months), that would be a no-brainer decision to choose.
At org / business level, it is a decision; and that decision does have huge impact in career development perspective for individual engineers.
If you like this post / topic, please push the like button to encourage me to keep writing; or if you think someone may feel interested in reading it, please share with him/her to discuss.