1538
My Journey
(telegra.ph)
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.
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.
Would you be willing to trade some of your salary for more time to do projects? Maybe increase deadlines by 50% for a 25% decrease in pay. You are already being paid 1.5-2X more than ordinary workers so it shouldnt be a problem. Genuinely curious
NOW WE'RE TALKING!
You're getting downvoted but you're on to something...
Let's take your idea and apply it both ways! Are employers willing to give us a 50% increase in pay for getting projects done in half the time? ๐
Hahaha... No. Hell no.
What if I told you that you are already being paid 50% increase and you only have the option to slow down or find a new job?
Can you imagine a home inspector paid more for inspecting faster or a fireman paid more for putting out a fire faster. For some reason you can see a programmer being paid more for spending less time playing TF2 on the job.
Look, you're framing it in a very bad way, and I'll sound like a prick regardless, but I'll try my best.
First of all, let's ignore the "ordinary workers" as a group, because that's way too vague to base anything off of. There are ordinary IT professionals that are just that in their field, ordinary, and there are exceptional people doing manual labor that the society doesn't think much about.
As for the pay, I know it seems disproportionate or "too much", but it really comes down to things like repetition, value generated, skill variety, scarcity, and adaptability. There's plenty of programming jobs that anyone familiar with the white collar jobs would call dead-end, because they got you working with the same old and irrelevant stack basically keeping some old system on life support with occasional changes, and these often pay salaries lower or at least comparable to non-IT jobs, all because with these jobs, there's very little to none that you have to learn, you don't have to adapt, you don't have to come up with creative, yet technically correct solutions all the time, and you're very replaceable, so the company doesn't feel like they should share more of their profits with you - they're simply not that afraid to lose you.
Things like frontend, on the other hand, often pay higher salaries compared to the above, because not only you have to work in a rapidly changing environment over there and adapt to it successfully each time, but also use a greater set of tools, some of which you may be working with for the first time in yuyr life, and you're expected to know how to transfer your skills from other tools and projects to properly use here. I know it feels like everyone is a developer these days, but that's because we've always been a very prominent part of the Internet, especially more FOSS and privacy and anti-big-corps parts of it like Lemmy - there simply isn't a way to supply the market with enough qualified developers to drive the salaries down.
No less important is the fact that it's all on the actually wealthy people's whim, because they feel like they can exploit other jobs much more easily than they can devs, who are cherished and valued to a point to have a lot of leverage and many options on the job market - it's much easier to quit a shitty boss when you're working remotely using your laptop and a few peripherals, making enough money to create a safety net.
As for decrease in pay to have more sensible deadlines... again, we have enough leverage and confidence to either influence the deadlines enough preemptively, or miss the deadline and make a lesson out of it. I still have all my skills and knowledge that are worth the money, despite having more time to complete a project.
Most importantly, I don't really care about the deadline, nor does the majority of other salaried developers, because there's really only so much you can force in a set amount of time - a team of 5 people can't build a fully functioning copy of New York in 7 days even if they completely miss any sleep, food, water, and other bodily functions all while doing cocaine and other stimulants, and the same applies to any job there is.
I think you are undervaluing a lot of work non-IT people do. I can work as an engineer doing almost the exact same thing as an analyst or programmer but not get paid the same amount. I can be a program manager that needs to adapt to a variety of situations where I have to make critical company facing decisions but I wont be paid like a programmer.
However, you are right that devs are treated like princesses because of their leverage. All i was asking was in a world where IT is conpetitive and less of value, would it make sense to pay them less if there is less expectation. It feels weird because you dont see that in almost any other field.
No, I'm not undervaluing anybody. I'm just trying to tell you that yes, if the field was less competitive, i.e. if much nor people were good at it, we'd see smaller median salaries.
I think it is comparable to the healtcare and medicine in the US, where being a doctor or a good lawyer pays you very well for exactly same reasons.
As for your example of being an engineer doing similar stuff as some programmer and being paid differently, well, no, the pay would be very comparable. I know several people doing programming work as stated by their job descriptions and contracts, both are paid less than a middle manager I know, because the duties they have to perform can be covered by a larger population compared to the duties that pay much, much more.
The situation you're talking about is already the case, and the only reason people see IT salaries as too big is because the field and the work is perceived to be somewhat easy and simply ("Don't you sit in front of the compute rall day?"), and while it can be easy in some regards (much easier and less physically demanding that being an first responder of any kind or working in a cargo or fishing vessel), but it's not simple most of the time. Same reasons engineers are often paid more than technicians or mechanics - both are extremely important, neither is simple, but have different capabilities to match the supply and demand of their industries.
If anything, it's not like we're the execs signing ourselves monthly $400,000 as a bonus and doing actually fuck all because we have powerful parents, neither are we trust fund managers or anything similar. These are the people we should be turning against, not fellow workers that don't have dozens and hundreds of millions of dollars.
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?