Corporate Software Engineering vs. Livecoding
Satirical comparisons between traditional software engineering practices (in corporate tech) vs livecoding practices. Based on a true story.
Disclaimer: opinions expressed in this article are for the purpose of entertainment, and should not be considered as professional career advice. If you believe there is a misrepresentation of any opinion, please comment below so I can review immediately.
Are you deciding whether you’d like to start your career as a Corporate Engineer or a Livecoder? Below are a few comparisons which will help you make a more thoughtful, well-rounded decision!
I. Code Review
CORPORATE TECH BEST PRACTICES
Make your changes in a new git branch, open a Pull Request, then ask at least two engineers (at least a senior) for review.
Oh, and don’t forget to add in 20 unit test cases to ensure adequate test coverage and at least 5 integration test cases.
You may also want to add a feature flag to gate these changes in production!
Oh, and don’t forget to add in three metrics counters and a histogram to track the side effects of your change!
LIVECODING
Fork the upstream repo, then open a Pull Request against it.
Wait for a maintainer to review —
Oh, the maintainers are busy, please be patient…
Never-mind… make it a prebake instead.
CODE REVIEW DEFINITIONS
git — a version control software for managing code, but ruined by Microsoft
pull request — a formal (and agonizing) way to propose a change before merging with main code
feature flag — a boolean-based business logic to gate potentially breaking set of changes from being released in a production environment.
Rollout techniques include:
randomized gating of users based on a % (corporate engineering)
trancegate (livecoding)
metrics — for those who are unable to deduce the exact side effect of a single line of code change (since it has 10,000+ dependencies), this is a life-saver
forking the upstream —
(corporate engineering) a practice to import an open-source project internally in order to make modifications for closed-source internal use
(livecoding) in order to propose code changes — but please do it in Codeberg. Due to ethical reasons please refrain from forking it into to Microsoft’s Github.
prebake — in Strudel, it is the JavaScript code that runs before any code in the editor is run, ie: “prebaking your editor” means to setup your editor so you can access your own custom functions not in the original build
II. Code Deployment
CORPORATE TECH “BEST” PRACTICES
Deploy your change via CI/CD from test to staging environment. Then, run the integration test suite with your new tests.
Oh! I’m so sorry that the integration test suite is broken, it may be just flaky — but you may need to spend two more days to figure it out the root cause…
Integration tests passed! But not so fast — please run your pre-production tests manually and have a rollback strategy ready.
Do not flip your feature flipper on when you get to production. Let it sit for 3 days then maybe roll it out 10% for 2 days before going up to 20%.
And don’t forget to monitor the metrics! If a metric value is not right please roll back your change and start over!
LIVECODING
If you’re like me, I push straight into
main. So I can do my testing in production.For any upstream repository changes —
Unless you are an anonymous nudelfan, you know that only maintainers have merge permissions, not you. Remember that??
CODE DEPLOYMENT DEFINITIONS
CI/CD — shorthand for continuous integration / continuous deployment, so that you don’t have to sit there and wait for 20 minutes for each deployment step to finish
flakiness — a common slang to describe how a test case can flip-flop between passing or failing even with an identical setup, like being in a quantum superposition
anonymous nudelfan — nickname to say that everyone is an admin including you! you may now push your code directly into the main branch of the nudel repository
nudel — a Strudel alternative created by a group of people who call themselves the pastagang
Strudel — mankind’s most innovative software to help tech nerds express their innate musical talents fully and unapologetically
III. Code Quality
CORPORATE TECH
Good code only. We like it clean and DRY here.
LIVECODING
Bad code only. I like it wet and dirty.
CODE QUALITY DEFINITIONS
DRY — also known as “Don’t Repeat Yourself”, which is a common practice in coding to reduce the duplicated expressions of codes by refactoring; it may or may not improve readability, so use caution
Bad code only — a practice in livecoding to remind oneself that, just like crafting sand mandala where the artwork must be destroyed afterwards, all code must die in order to remove oneself from excessive attachment to code written in jamming sessions
IV. If Something Goes Wrong in Production
CORPORATE TECH
ALERT!! Please spin up an incident channel to coordinate with impacted customers!
What is the scope of impact? How many customers are impacted?
What is the root cause here?
What is the fix to the outage? Can you rollback a previous change?
I understand that the fix is going through the deployment pipeline, but what is the ETA time to resolution?
Can customer support team put up a status page with description of the incident?
Hooray! Incident is resolved!*
*Please complete a 5-page post-incident review report in Jira within 3 days, including: analysis of metrics indicating time of impact, estimated number of customers impacted, as well as five-whys to the root cause analysis.
Also please coordinate with the incident manager on duty to set up a 90-minute meeting with the incident review team to go over this report within the next 3 days.
LIVECODING
Did you accidentally type gain(10)? Rave that exciting distorted on the dance floor!
Strudel crashed live on stage? No problem! Restart Strudel!
Code still broken after 3 restarts? No problem — grab a mic and have the audience clap and make hi-hat drums sounds!
Then sing along and have a great time anyway.
INCIDENT DEFINITIONS
Rollback — to reverse a change (usually in production setting), but more commonly used as an excuse to warn team members for not being extra careful when deploying changes
ETA — Estimated Time of Arrival, an adult way of saying, “ARE WE THERE YET??” similar to an impatient kid feeling trapped in the backseat after hours of car ride
Jira — the most evil anti-productivity tool ever created by mankind; creates extremely rigid expectations in “agile” software development practices and discourages flexibility, also a commonly used tool by admins to create endless trail of paperwork in order to justify progress
gain(10) - a signature livecoder move to create extremely distressing and distorted sounds on livestream to check if you are actually paying attention
V: Diversity
CORPORATE TECH
We take pride in offering various DEI programs, we hire from a diverse pool of talents.
But if you are struggling with ADHD / Autism / anxiety, depression or other neurodivergent / mental health conditions,
we’d recommend you going on FMLA
please find a doctor who will sign off on your condition — then come back when you have fully resolved your disability
LIVECODING
“I am identify as a member of the LGBTQIA2S+ community; I am a minority and identify as a marginalized group”
“You are welcomed here! We especially encourage diverse individuals to apply to perform first-time in algorave events!”
~
“I am neurodivergent and have ADHD/Au-DHD”
“Awesome! You are welcomed here!”
~
“I am suffering from anxiety, I don’t think I am quite ready for my first set, I might want to withdraw my application to perform”
“I am sorry to hear that you are struggling… if there is a chance you feel like this could be fun or as a practice, let us know so we can keep the doors open for you! At the end if it is still too overwhelming, we can hold off, I’m sure we will have more opportunities for you in future!”
FMLA — Family Medical Leave of Absence, usually the last (first) resort for tech companies to recommend to employees who are suffering from debilitating anxiety or depression, or unable to focus at work due to their ongoing neurodivergent conditions.
Au-DHD — A neurodivergent condition combining both Autism and Attention Deficit Hyperactivity Disorder (ADHD). It’s more common than you think.
VI: Promotion / Advancing Levels
CORPORATE TECH
After proving that you have operated at a senior level for at least one year (and sorry if we didn’t include you in this last round of promotions)
Congratulations on your promotion to Senior Software Engineer!
Now let’s discuss how you can advance your leadership in delivering these two exciting new projects! We want you to have a growth mindset!
(We now expect you to operate at the next level towards Super Senior Engineer, while receiving your current pay rate)
LIVECODING
There are no levels assigned to livecoders as all humans are created equal.
But a decade of experience may turn you into an angelic code-music wizard. Which will be the next humankind evolution in music-making.
ADVANCEMENT DEFINITIONS
leadership —
a true quality in a person who leads without persuasion, cares and supports fellow members before being asked and listens more than they speak (livecoding and other community leaders)
commonly used as an excuse to pressure freshly promoted software engineers so they can deliver more, whether or not they have the actual ability to lead members of their team (corporate tech)
growth mindset —
a mindset in which you never stop learning, experimenting and improving new skills, no matter how good you think you are (livecoding)
commonly used as an excuse to guilt freshly promoted software engineers so that they understand they must work harder towards yet the next level (corporate software engineering)
About this Article
The goal of writing a satirical piece like this — is NOT really to criticize any person or organization. It is to shed some light on the dysfunctions of big tech while making a space for continued discussion.
I believe the vast majority of us want to see better systems, including support systems in tech corporations. So that these organizations can help to bring out the best of us, not the worst. And It’s time we have that conversation.
A Note About Working in Corporate Tech
If you are working in corporate tech, it can certainly feel like you’re in a corporate desert with little hope of things actually improving. Perhaps you might feel a bit discouraged and maybe wanted to leave.
This topic deserves another whole article so I won’t go into a detailed discussion here. Nonetheless I want to start shedding more light to this — peeling off the layers of corporate obscurity so you can make better choices for yourself, and making the best out of seemingly hopeless situations.
If you are interested in these topics, please consider subscribing (for free) below to receive updates for new article releases!
Let’s keep the discussion going by leaving a comment!



