99 Problems

August 12, 2017

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

Made with ¯\_(ツ)_/¯