Dear multimillion dollar tech CEO,
It is with great regret to inform you that you shouldn’t hire me as a dev to work in your pristine sweatshop.
Below are reasons why I have come to such a decision. It wasn’t easy, but you deserve to know.
1. I question work given to me
Oh no! I don’t take orders willy nilly! There is a rebel among the ranks!
Unfortunately for you, tasks must have meaning and value. Not “busy” work that fakes productivity for the sake of turning what you think is “profit”.
What do I mean by this?
Let’s say you want me to implement a chart from scratch on your site. Why are you asking me to reinvent the wheel if there are existing libraries for this particular language? Oh, do we need to fulfill particular requirements, such as putting little images on said chart? And existing libraries cannot allow for this? And so on and so forth.
You wouldn’t want to hire me because I want to work with you, not for you. Ideally, we’d discuss solutions at hand, not assuming I can and will implement anything.
Realistically, you don’t want your workers questioning what you want- if no one obeys, would anything get done? (Spoiler alert: yes, yes it will).
2. I program for the sake of learning
I do this for the learning, not the money, contrary to popular belief among programmers. Who would’ve thought someone with such a mind-intensive career wouldn’t do it for the money? Especially when senior software engineers are supposedly cranking out 250k per year!
Maybe I actually enjoy thinking, and planning, and designing, and solving puzzles?? But you don’t want your workers to enjoy, you want output fast and NOW, and you wouldn’t want to hire me because I will not stand for literally pulling shit out of my ass to appease you.
3. And I learn quickly too
I can quickly pick up a skill you need, but you wouldn’t know since that particular skill didn’t show up on my resume and you only hire those that have already acquired said knowledge. Oh, you don’t know SQL and our company requires it, which is not a learning curve whatsoever if you’ve been programming for years? Too bad, get fucked n00b. Cock blocked.
4. There is so much I don’t know
And you want developers to know everything NOW. Well, sorry for not being cocky. I’m not gonna close my mind to new knowledge just so I can pretend like the rest of everyone that already know all there is to know about programming. If you continuously hire know-it-alls, you’ll just end up with a bunch of angry stack overflow devs in a cage fight throwing fists saying that THEIR OPINION is right and you listen because your corporate America values being confidently incorrect.
5. Because of this, I pick up skills you wouldn’t find valuable
In my free time, I like to learn the more niche languages that your company doesn’t use. Oh, you have knowledge in assembly? Well, I’m sorry, but our company doesn’t hire developers that literally understand how languages get compiled to machine code. Tough luck.
6. I obsess over understanding how something works
I take time to understand and question and research abstractions.
Will this particular image slider library cause a heavy runtime load which will in turn cause users with slow connections to have trouble using the site? Maybe we didn’t want them to use the site anyway. Their internet just has to git gud. Clearly a user error.
7. I care about the user
Shocker.
Why create something the average user can’t even use because it’s what the shareholders wanted?
As a simple minded example (and to avoid certain cans of worms that is current day tech bullshit), imagine a shareholder comes up with the genius idea of dark grey text on a black background as the perfect design, but the user may suffer from a certain degree of blindness.
I wouldn’t allow for this. You wouldn’t want to hire me because I am always thinking about accessibility (and this goes back to my first point on questioning your demands).
Although a seeming minority, nearly everyone (yes, including you) will have some sort of disability in their life time. I believe that software should be accessible to all, and you wouldn’t want to hire me because I believe the user has a greater say than the shareholders.
They are, in fact (which may not be obvious to you), the user for a reason.
8. I actually enjoy refactoring
Yes, I’m one of those programmers who refactors my code EARLY to avoid complexity down the line. You wouldn’t want to hire me because I think in the long term, instead of the corporate mindset of thinking in the short term. Why refactor now when you can cost your company hundreds of thousands or even millions down the road!
Yes, let’s have some poor programmer add a one liner in a spaghetti vomit of a mess that was written by some dude that got the layoff guillotine last year because he didn’t create ENOUGH spaghetti code (aka didn’t panic during the final sprint of Q4 like you wanted him with the imminent layoff looming overhead like a dom with a whip. Oooo daddy.)
9. I test my work
A lot. Test cases your mom wouldn’t even dream of. What happens if we input a phone number when we expect an email? Will the current code catch it or will this incorrect use of data be sent to the database anyway?
Or, worse, what happens if we attempt to SQL inject in that same input field? Will the user be able to bypass into the database and steal sensitive information that you will then have to send a formal letter to all your users saying their social security number has been compromised and that you are sorry?
10. I make mistakes
And I am open to this fact.
Production != development and shit can always and always will explode and catch fire. You wouldn’t want to hire me because I am not a machine that is able to take perfect input and spit out flawless output. I embrace these mistakes. I live for them. It is why I am a programmer in the first place. I always look forward to the blood-red compile and runtime errors of doom. It just means the puzzle hasn’t been solved yet.
And you wonder why your multimillion dollar company is shit going down the drain. Because you block out people like me from ever dreaming of entering this field where there is just so much potential, for both myself and society at large.
You wouldn’t want to hire me anyway.
With love,
A Programmer Who Cares
We are machines that breathe and weep and look really good, trained to kill (production)