How to be a real programmer
Excuse me, real *developer*, pardon - real *software engineer*, con permiso - real *hacker*
You work with idiots.
It took you a while to notice, but one day, it just hit you. Not one of them was a member of ACM or IEEE. And they didn’t seem to read anything from your required canon of coding: Code Complete, The Psychology of Computer Programming. The Art of Computer Programming. Programming Pearls. Designing Data-Intensive Applications, Javascript: The Good Parts. Clean Code. The Babbage Papers - blah, blah, blah.
Wrong Stack
Maybe they work too high level and sit on a throne of abstractions. They don’t understand things at the low levels like you had to learn when you started. Can you even be a real programmer if you have never accidentally electrocuted yourself? They don’t know what malloc
is, so how can they be a real software engineer? They work only on software that runs in a browser or a cellphone - c’mon. Everyone knows the lower the stack, the smarter the programmer.
Wrong Learnin’
Or maybe they have the wrong academic pedigree. Wrong school (Not in the top 51), wrong place (not California), wrong time (they are too young, everything is watered down now), wrong major: Musical Studies vs. Electrical Engineering vs Computer Science vs. Mathematics vs. Abacus Studies vs. New Media vs. Linguistics. Pick your fighter. If they didn’t pick the same one, then they don’t win.
Or they don’t have a Master's in Computer Science. Or maybe they majored in CS or business in this master's, which is too theoretical for you with your Master's in Software Engineering or Master's in Engineering Management.
And let’s not even mention those without a college degree - you have one, and it was a lot of work, so it must have been worth it. Logic. You learned this in school.
Wrong history
Or maybe they weren’t messing with model trains or ham radios when they were kids, hacking away at code to turn on Blinkenlights before they hit puberty. Maybe they wouldn’t program for free if given the chance and seem to care about credit and pay. Maybe they don’t seem to know about the hacker ethos and have never even been arrested or open-sourced a complete operating system for the PDP8. They didn’t read The Jargon File in high school like you did.
Maybe they played basketball or collected coins as a kid and hiked on Saturdays with their friends as you worked towards your 10,000 hours polishing the custom CMS you built for your family website.
The last of a great lineage
Then it hits you. Maybe you are the only hacker
left. Maybe you are the final programmer.
*shudder*
But if no Real Programmers are left, who will be left to do The Important Work as you define it? Maybe you should have spent some days transferring your knowledge or passion about these topics. What was useful? How many of your early experiences or classes stick with you now that are worth teaching? What about phreaking, being at Caltech during that period, or writing that big C program that started a fire2 that you think was important?
Do you really, truly believe that in a field:
that relies on the doing, not the knowing
that is essentially an apprenticeship model
in which there are specializations that spring up and die out like flower varieties
that your academic pedigree or background matters, is essential?
Debug Yourself
Or maybe, just maybe, you should look at yourself. If you worked through your insecurities and made peace with why people doing well without your exact background bothered you, you might really learn something worth sharing. Perhaps you thought you had a moat, that all your accomplishments provided defense against competition.
Maybe you felt it each month as you made the student loan payment. Everyone should have a masters degree, you thought to yourself as your tried to find fault with your coworkers code that never even went to college.
Maybe this would have been a better way to spend your career than sneering and working on your own projects.
Welcome All
People come from all sorts of places and times. And maybe a young woman from another background who has never been to college, worries about money, has never read the TCP/IP foundational books, writes code in a language with garbage collection or for the frontend only, who gets a lot done and always seems to be learning, is not an enemy but a young student. She is the next generation of something that you love. The true Hacker Ethos - information should be free, things should be decentralized, computers can change our lives for the better, and all that matters is someone’s hacking skill - will welcome her without question.
Change is the only truth that weaves through the ages. You certainly know this. She is working towards building the next background, culture, and layer of abstractions, which she will lord over the even younger generations: back in my day we used to work without an AI companion. Teach her not to lord anything over anyone; let that be what you pass down.
Likely Felon, Bramford, Rambling Wreck, TMI, Herkly, Urban Champaign, University of Wistfully Misconsin. And the school mentioned in Tron.
*cough* My attorney told me to say that this is a made-up example. It is a made-up example.