2023 has been an eventful year for many. I’ll have to save my incoherent thoughts and impressions on the world at large that has been set ablaze yet again. Besides, this place is meant for keeping a record of my learnings and experiences in programming, web technology, and the like, so I shall stick to it.
This year, I’ve learned to be a mediocre corporate software engineer. It’s about that nonglorious work of keeping alive and making tweaks to a mostly mediocre piece of software in a corporate setting to serve mundane business needs—generally some form of computerized paper-pushing bureaucracy.
Such software often takes the form of a CRUD app that forever grows in its scope and complexity. Its codebase, especially for an old project, resembles an impossible maze, a delicate house of cards, or both. It takes no genius to work on each method, class, function, or component to implement the next feature or bugfix. However, this is not to dismiss the real care and effort going into that work. Understanding what each piece of code does and to what end in this kind of project requires a lot of contextual knowledge, both technical and business, and it takes nontrivial work to obtain this knowledge.
Indeed, a good portion of this knowledge is buried inside and scattered across git commits, PRs, RFCs, PRDs, internal documentations, Slack messages, and the brains of seasoned coworkers, including those who have left the project. So the mediocre corporate software engineering is not so much about sophisticated algorithmic puzzle solving or pushing boundaries in technology, but the tedious detective work of sifting through and combining facts to (re-)build knowledge as well as sharing that knowledge with other stakeholders—in code and words.1 Successful knowledge building and sharing would then result in a Java method to validate a new field in request payload or a React component to differently render an exisitng form input field.
Speaking of people leaving projects, in 2023, Spotify has shed over 2,000 employees, which must have included hundreds of engineers. Each mass layoff (or “RIF” in more fashionable corporate speak) is a reminder that doing one’s best is never enough as no clear answer can be given to a question: why was that person let go but not me? It’s difficult not to feel anxious about the prospect of losing one’s job, especially for a run-of-the-mill software engineer hired to perform mediocre tasks. Excelling in such tasks is no real leverage. And in this day and age, one cannot escape this anxiety by switching jobs or climbing corporate ladder.
All that said, working as a mediocre corporate software engineer is still a highly coveted prize. It’s a career that is well regarded and pays well. There isn’t much that is inherently exciting or revolutionary here, but there’s still good fun to be had in solving modestly challenging puzzles and collaborating with many excellent people all the while delivering concrete business values. These things matter. Besides, few jobs are truly exciting anyways, and even the interesting-looking ones come with mundane duties…
So there it is—in 2023, I’ve embraced being a mediocre corporate software engineer. It’s not cool, but still okay. In fact, I feel lucky to be one.2
Put this way, it doesn’t sound so different from ethnographic fieldwork. Who says a degree in anthropology can’t be applicable to the real world? ↩