If anybody records this, please let me know
[Hook]
If you’re havin’ code problems, I feel bad for you, son
I got 99 problems, but a switch() ain’t one
[Verse 1]
I’ve got the app control on the web console
PM’s that wanna make sure my JIRA’s closed
QA’s that say it’s slow, crashed, froze
I’ve got the logs, stupid - what type of facts are those?
If you grew up with buffer overflows
You’d celebrate the minute your app didn’t explode
I’m like, “Fuck tickets, you can kiss my /dev/null
If you don’t like my query, you can write the SQL”
Got beef with other devs if I don’t review their code
They don’t pass the tests, well, I don’t merge it, so
Users try and use my hack SaaS
So advertisers can maximize clicks on ads, Zuckers
I don’t know what you take me as
Or understand the architecture like this dev has
From bare metal to cloud, noobs, I ain’t dumb
I got 99 problems, but an glitch ain’t one - script me
[Hook]
99 problems, but a glitch ain’t one
If you’re havin’ scaling problems, I feel bad for you son
I got 99 problems, but glitch ain’t one – script me
[Verse 2]
The year is 2012, and we’ve picked Mongo
In front of my desk is the CTO
Got two choices, y’all: pull out my headphones or
Stare at the terminal, work on feature #364
And I ain’t tryin’ to cause a team conflict with him
Plus I got a few minutes, I can break from vim
So I pull out my headphones and look up
I heard, “Son, do you know why I’m interrupting you for?”
“Cause my API’s new and it’s fast and my latency’s low?
Do I look like I webscaled, sir? I’m using Mongo
Am I under performing or should I guess some more?”
“Well, you didn’t implement a hidden backdoor
Commit and push access, I need the app’s core
Are you holding root access? I know a lot of you are.”
“I ain’t setting up a rootkit, or giving you access to git”
“Well, do you mind if I look at the server a little bit?”
“Well, my laptop is encrypted, so is the server rack
And I know the login, so you gon’ need ssh keys for that”
“Aren’t you full stack
You some type of rockstar or something?
Unicorn ninja or something?”
“Well I ain’t passed the Google interview, but I know a little bit
Enough that you can’t –force push git”
“Well, we’ll see how smart you are when review time come”
I got 99 problems, but a bit ain’t one - shift me
[Hook]
99 problems, but a bit ain’t one
If you’re havin’ hacker problems, I feel bad for you son
I got 99 problems, but bit ain’t one - shift me
[Verse 3]
Now once upon a time not too long ago
A dev like myself had to work with some unfunctional code
This is not unfunctional in the sense of being mutable
But unfunctional like not goddamn working; uncomputable
I try to refactor it, make a new fork
Add a PR, but some owners just love to ignore
You know the type, repo is a gigabyte
But wouldn’t leave any docs on the website
And the only thing that’s gon’ happen is I’ma get to hackin’
And the server and code’s gonna be thrashin’ and crashin’
And there I go, trapped in the Node again
Back through the stack with the code again
Exploits in the dependencies, patchin’ again
Packages with they cruft, bloatin’ em
Maintainer try to use a new framework again
Half a gig for node_modules, ‘cause it’s npm
All because this fool was .gitignorin’ them
Tryin’ to pass the time while it’s installin’
But ain’t nothin’ light ‘bout this packages.json
I got 99 problems, but javascript ain’t one - git me
[Hook]
99 problems, but javascript ain’t one
If you’re havin’ package problems, I feel bad for you, son
I got 99 problems, but javascript ain’t one – git me