this post was submitted on 23 Sep 2023
1499 points (98.4% liked)
Programmer Humor
19512 readers
320 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Imagine graduating in medecine and your employer respects you to be an expert at everything all at once that is related to the human body and being able to perform open heart and brain surgery and doing x-ray imaging and MRIs and being a gynecologist and an an optometrist and a pharmacist all at once.
That's what being in IT is like. You're expected to know how to program microcontrollers to mainframes to fucking VCRs and knowing every programming language ever created since electronic computers exist as well as networking and cloud technology and databases, etc. AND you have to be certified in all these things to prove you know them on top of your degree.
And vaginas, and MRI machines, and hearts change dramatically every couple of years. Plus the human body grows new organs and limbs every few months and you're expected to immediately have 5 years experience with these new organs and limbs that have only existed for 2 months. Perfectly healthy suddenly people fall unconscious for no reason, despite all of their organs operating perfectly. When you check your human body documentation you discover that the lungs no longer work as of today, and you now need to use the sclurtleplussy instead. You have no idea what a sclurtleplussy, but you better figure it out immediately, or all these patients will die.
Why do programmers complain about expectations all the time? Just say "It needs more time" or "that's not possible unless we change a lot of things". Set the expectations, don't accept them. You're the expert. What are they gonna do? Do it themselves?
If they have inconvenient expectations, simply tell them to not have those! If your boss pushes back, just tell them in a calm but assertive tone that you tell them how things are gonna go, not the other way around.
I don't understand why more people who have not been fired don't do this.
You just have to look them in the eye and give them a firm handshake when you do it. It's so simple!
Yeah! Piss all over their projects to asert dominance!
Wait: That's what project managers do. Never mind.
We do set the expectations as best as we can, but the people who have these expectations really don't like that - to some, it's like we're offending them, and to many others, there's almost always some other developer they either know or heard about (they never do, in fact) that, allegedly, can do whatever we're being asked, but 10x cheaper and 100x faster, and he's also at a lower expertise level so we should be happy to have the job in the first place, oh and also update the documentation in 4 seconds in a way that doesn't take away these 4 seconds from the "main work".
Many of us love their job, or at least are very grateful to be able to have it, but we complain for the same reasons other people complain - ridiculous and/or hilarious clients, colleagues, and employers.
LoL you haven't worked in a company as a software developer and it shows.
Well first, the big problem is they make promises based off of the estimates we give them, which they then cut down and over promise. It's a careful dance between giving yourself the padding you need for if something goes wrong, and not letting them think they can cut down on that necessary padding if they find out you didn't use it.
For us, we under promise and over deliver... Sales over promise, and project managers bid as low as they can to win contracts, and panic when the numbers aren't working because they cut it too close or didn't push back/renegotiate scope creep
So then, when the numbers don't work and their boss tells them to fix it, they go to their team and tell them to make it work. And the only thing they can do is set meetings, make demands, and yell... Sure, you can tell them to go fuck themselves, but at that point you all look bad - if the technical and functional chains of command aren't separated (more common), they just point at you as the problem to whoever signs your paychecks... Since talking to that person is part of their week and you're busy working, that's probably not a fight you'll win.
If they're any good, they do exactly what you said - they come over, say "hey, I've got this problem... This guy wants this, what will it do to our timeline?" And, by being proactive and trusting the experts, they can just go back to the customer and say "sorry, we went over the numbers and it blows out the budget, these are our options based on my expert and the contract vehicle"
Unfortunately, most people aren't that good at their jobs. A lot of project managers have an ego and like to do handshake deals... once they start agreeing to things on their own, they put the whole team in a no-win situation
It's not that things aren't possible, it's that there's always more, and often better, options to pick from. Going back to medicine, it's like surgeons have to learn new techniques, but with the difference there there isn't anywhere near the same degree of specialization.
A better analogy would be if there were 10,000 ways to cut out a tumor but the patient only wanted the doctor to use one specific method because that's what they have heard about. It'll either be the method, "everyone's using these days" or it'll be a method that was popular in the 1990s but the tools available to perform that kind of surgery are hard to find these days because they were obsolete 20 years ago.
So there's a problem even worse than this: When you have all those skills and more (I do 👍) employers expect to pay you the salary of someone who knows just one of those things.
Like, I was a professional hacker, a systems administrator (both Unix/Linux and Windows), I know networking, have administered/maintained databases, I'm also an award-winning web developer (I know the usual web stuff plus Python, Rust, and a few other things), an embedded developer (C, C++, and Rust), and I can even engineer, design, and program an entire product from scratch that didn't exist before (see: https://youtu.be/iv6Rh8UNWlI?si=dG15yQlQpfNGCDal ). That includes designing/engineering the circuit board.
Do I get paid for knowing all these things? No. If I apply for any job you know what employers say when they reject me?
Overqualified
You're damned if you do and you're damned if you don't!
You dumb down your resume. Leave a bunch of that shit off. Only put what applies for the job you are looking for.
Yeah, that'll get me the job but it'll still have the same problem: Only getting paid to have knowledge of just one thing.
Companies don't hire generalists that can get a lot of different work done. They hire specialists that are like cogs in a machine. That way they're much easier to replace and a lot cheaper too.
Sick keyboard!!!
At the point you're at with all your skills, have you thought of starting your own company? No employer will know how to use your talents as well as you do.
Hey, I saw the stellar review of your keyboard, is it possible to buy somewhere?