Why do people think software development is easy?
Posted by throwaway0134hdj@reddit | ExperiencedDevs | View on Reddit | 488 comments
At work I have non-technical business managers dictating what softwares to make. And these aren’t easy asks at all — I am talking about software that would take a team of engineers months if not an entire year+ to build, but as a sole developer am asked to build it. The idea is always the same “it should be simple to build”. These people have no concept of technology or the limitations or what it actually takes to build this stuff — everything is treated as a simple deliverable. Now especially with AI everyone thinks things can just be tossed into the magical black box and have it spit out a production grade app ready for the public. Not to mention they gloss over all the other technical details that go into development like hosting, scaling, testing, security, concurrency, and a zillion other things that go into building production grade software.
Some of this is asked by the internal staff to build these internal projects by myself and at unrealistic deadlines - some are just flat out impossible, like stuff even Google or OpenAI would struggle to make work. Similar things are asked of me my clients too — I am always sort of lost at how to even respond. Management is non-technical and will write checks that cannot be cashed, and end up make the developers look bad. It then makes me wonder, do they really think software development is this easy press of a button process? If so, where did the idea even come from? And how would you all deal with these type situations wheee one guy or a few are asked to build the impossible?
Thanks
choochoopain@reddit
People don't know what they don't experience. My roommates think I don't work because they equate work with having lots of meetings. But really, most of my days are spent staring at lines of code on a screen trying to recreate bugs.
Conscious-Ball8373@reddit
A fair chunk of people will think software is easy because it doesn't involve any physical work.
chipmunksocute@reddit
And then you make an pr with like 5 lines of code fixing the buf after a day of troubeshooting.
throwaway0134hdj@reddit (OP)
They don’t like the idea that things like “debugging” and “testing” are part of the work - as if things like this aren’t part of the job…
RelationshipLong9092@reddit
"Stop trying to figure out why it doesn't work, and just fix it!"
Actual quote btw.
SonOfTheRightHand@reddit
Honestly tho, there is a time and place for that. If there’s an entirely different and viable way of solving a problem, then it’s not worth it to spend several days trying to understand why the original way didn’t work. After spending some some time debugging, of course.
chipmunksocute@reddit
Just did that myself today. Spent a few hours at end of the day yesterday trting to make this bad mock work in some tests and when I took a shower realized the right way to approach the mock a totally different way. My fix took half an hour to implement and is way more robust. So yep.
darkstar3333@reddit
Good ole background processing.
If the rubber duck doesn't do it, a drive or shower might.
pkat_plurtrain@reddit
Or a rubber shower duck drive...
alinroc@reddit
I’ve solved a number of problems at the gym, out for a run, or while mowing the lawn.
cowhand214@reddit
Actually that’s one of the reasons I like my boss and was just saying this to a coworker today. He’s a tech guy but not a coder. But I’ve found it helpful sometimes when in the weeds with something to ask about it and he’ll help me see the bigger picture or propose a solution that doesn’t require direct resolution of whatever we’re struggling with.
Obviously that applies mostly at a higher level than any individual bug or ticket but I still feel your point is well taken.
chipmunksocute@reddit
Thats am essential part of being like a tech lead or senior to be able to keep that bigger picture in mind and make that judgement call, not just knowing more tech.
Ok-Yogurt2360@reddit
Those kind of comments make my brain twitch.
And they are incredibly common (but most of the time implied). Like what do they even expect?
Fabiolean@reddit
I am shocked how often certain leaders say stuff like this.
throwaway0134hdj@reddit (OP)
“Just dooooo it”
thekwoka@reddit
They don't pay you to change lines, they pay you to know which lines to change.
realhenrymccoy@reddit
It's what I tell people when they ask if I'm worried about AI taking my job. A lot of my day is spent taking a business use case and how it relates to a complex system to troubleshoot where a bug is happening. The actual writing of the code to fix it is the easiest and least time consuming part.
BanaTibor@reddit
Half a day debugging a complicated integration test with my colleague, one tab solved. All hail to significant white space (python)!
chipmunksocute@reddit
What tool are you using that doesnt auto indent python? Ive literally never experienced a python white space issue in 6 years of full time python
BanaTibor@reddit
Writing new code is not the problem, refactoring and changing existing code is the challenge. When you manually edit and indent the code mistakes can happen.
chipmunksocute@reddit
No but I mean Ive literally never had that happen. Do you have any linters? That will automatically indent stuff appropriately, or if like it just wont run at all. Im just genuinely confused on how a white space error in python got into production.
BanaTibor@reddit
It was the last line of an "if" block. Linters do not understand code and they do not care about indentation since it if is bad the code will not compile. Well a linter will complain on indentation mistakes like in a multi-line array definition, or multi-line parameter list in a method call, if your characters do not line up but not about significant white space.
AntDracula@reddit
I see you’ve met my dad.
Kqyxzoj@reddit
Well, that's funny. I will often do physical work because it is so relaxing.
Conscious-Ball8373@reddit
I agree. I've got a huge pile of dirt to move in my garden. I could hire a digger and do it in a day but I've decided to do it by hand, a few hours at a time. My body needs the exercise, I loathe gyms, it's free and afterwards you can look at it with satisfaction.
wirenutter@reddit
I’ve worked some serious blue collar jobs digging ditches and pouring concrete. Was in the Army for a long time. It’s a different kind of hard and a different kind of tired at the end of the day. My muscles aren’t physically hurting anymore but man I have been absolutely exhausted some days. If it was easy everyone would do it and we would be paid a fraction of what we make.
Ok-Entertainer-1414@reddit
Physical labor makes me daydream of a desk job. Software engineering makes me daydream of physical labor
BanaTibor@reddit
I am still trying to figure it out how should I get a job where during spring and fall I can be outside, like a tour guide or something and during winter and summer work as a SWE to escape the extreme weather.
whizzter@reddit
If only farm labour paid decently! 🤷♂️
CatolicQuotes@reddit
If only you can switch. Few weeks of this few weeks of that
throwaway0134hdj@reddit (OP)
Physical vs mental exhaustion
Ynkwmh@reddit
Reality is you can do most things physical even while exhausted, but demanding cognitive work is a different beast.
throwaway0134hdj@reddit (OP)
I use to work landscaping and felt amazing afterwards. It’s basically like exercise. Construction though is probably grueling though and I only did that for like 6 months.
stochiki@reddit
I honestly watch those home renovation shows and wonder how the f people do that for so long. It looks absolutely brutal.
oalbrecht@reddit
It’s really horrible taking 25 sheets of cement board and 50 boxes of tiles up two flights of stairs…
inmyprocess@reddit
That sounds awesome to me tbh (I like working out)
oalbrecht@reddit
I think it can be fine when younger, but it gets really tough when you’re older laying tile. Constantly bending over and kneeling all day can lead to back and knee issues.
-Knockabout@reddit
Eh. Construction work kind of breaks your body forever. I'll take mental fatigue any day...though it would be nice if my job got me my exercise requirements each day at least. 😔
burnin_potato69@reddit
In the same vein this can break your mind forever. Not sure if it's a trend or just people are more open to me about it but the amount of mental burnouts I see nowadays is insane, just hiding in plain sight.
At least in our line of work it's not 100% guaranteed and we can avoid it with the right place of work and safeguards in place.
AstopingAlperto@reddit
The burnout comes by and large from shitty management but sadly there’s a lot of that around here
colcatsup@reddit
The failure mode for being physically exhausted might be ... you can't do it any more. You might hurt yourself, maybe, but more likely you'll slow down or stop. Failure mode in knowledge/cognitive work might be that you'd code something or embed some formula that gives out wrong data/info, but not notice it for a long time, and financial or privacy harm can be done.
tommy_chillfiger@reddit
Nah I know exactly what you mean. It's undeniably true, just a matter of whether or not one has experienced it. I hit a point this week where I just simply could not summon the mental power to dive into yet another pipeline broken by vendors. Just couldn't fire the neurons in that way anymore no matter how hard I tried, had to step away and do something else.
I also realized mental and physical effort/exhaustion can overlap to some degree. I'm a runner and started on a very ambitious training block this summer - 60 miles a week with 3 hard sessions. I was already barely hanging on, but work got crazy about a month in and the wheels fell completely off. Mental exhaustion, stress, sleep, physical exhaustion - I think there's possibly more overlap there than some people realize.
Elegant_in_Nature@reddit
No I totally get what you mean, my son worked construction while in school and he relayed the hardest part about his life was the school, construction was like his get a way
Though it still reportably sucked ass, he just got paid for it
xascrimson@reddit
Eye getting sucked in
midri@reddit
Not just that, sitting at a desk for hours on end taxes you physically in different ways.
hardolaf@reddit
I swear my quality of life was higher working in a physics lab with half of my work being either in one of the fabrication rooms or in labs compared to just sitting at a PC coding all day and doing architecture.
foxsimile@reddit
I often yearn for the days of my old job, which was extremely physically demanding and equally stressful. On the road all day, no time for lunch beyond vacuuming food up between stops (you’re already working 10-12’s, why add an extra hour?), and throwing around 80lbs+ pieces of metal (which would constantly beat the shit out of your shins by slamming into them).
Attila226@reddit
I washed dishes in high school, and it sucked. Don’t get me wrong, writing software can be stressful and challenging, but I’d pick it any day over dish washing. Then again one job I had was so toxic, that I think I’d make an exception.
Sunstorm84@reddit
You worked at Amazon huh?
Attila226@reddit
Nope, LPL.
OfficeSalamander@reddit
I was once told that software development, “wasn’t that hard” because it did not involve physical labor by a client.
They are not a client anymore
EnvironmentalRace383@reddit
Every "tradesman" ever complaining about how we're a bunch of lazy fucks.
Hey, you remember taking the SAT? Not sure you ever did, but how would you feel doing that 8+ hours a day for the next 30 years.
Perfect-Campaign9551@reddit
It's constant problem solving. These guys don't have to deal with that, barely at all. Every single day of a programmer's life is nonstop problem solving.
Innovator-X@reddit
Fair played lol
Thundechile@reddit
I think it's exactly the opposite - When you do something that's mostly abstract it's much more difficult to get it right because you have to imagine all the ways it could fail and how it could be made better. In physical world jobs it's usually easier to see those things right away.
GoFastAndBreakStuff@reddit
That is exactly right. It permeates our culture. Like “Help fix my pc” requests have never been equated to “Help fix my car/house” requests.
chaitanyathengdi@reddit
In the OP's case, they think it doesn't involve any mental work either. Just sitting in front of a computer staring at a screen.
diablo1128@reddit
100% this.
How difficult something is all relative to ones own experiences. If you are a ditch digger breaking your back all day sitting in a cushy office with AC and staring at a computer probably looks easy in comparison.
I think humans have a hard time putting themselves in other peoples shoes, even between SWEs. If you have written SPI and I2C communications between 2 boards 100's of times it probably is easy for you to do. Though the SWE who has only done it 2 times ever and it was years apart may find it more difficult for whatever reason.
Jdjdhdvhdjdkdusyavsj@reddit
Will it is easy on the sense that I'm not lifting things all day.
But if you want your app built we need to hire on 6-8 new devs and it's going to take 12-15 months, actually it's going to take 18 months because management is going to make every step difficult and lengthy
CymruSober@reddit
It’s impossible to transfer energy in this way
colcatsup@reddit
Someone a few years back was romanticizing software/tech work. "Oh that must be nice, just sitting around in an office all day...". I asked them a small math question - "what's 12*37?" I got a weird look and... "how would I know?". I said "have a go - what 12*37? guess - get close". "Why?". I replied that this 'work' was like having to sit and do math and logic work all day. Now, it's not always advanced math - most of the time not - and usually a bit more 'logic' than pure math. But it's absolutely a type of work that a lot of people instinctively don't like, or aren't good at. I think more people *could* do better at it, but... it certainly doesn't naturally to most folks.
StevenJOwens@reddit
The best way I've found to explain software development is:
You know, "A train leaves Chicago, traveling 30mph. Another train leaves New York, traveling 40mph..."
Usually sends them screaming in terror.
colcatsup@reddit
Yeah I may have tried 'word problems' examples a long time ago. Works well.
eggZeppelin@reddit
"How would I know?" Its basic arithmetic that you learned in 3rd grade.
Break it down into subproblems.
12 * 10 =120
*3 = 360
360 +84 = 444
I cannot fathom how an adult unable to do basic arithmetic at the level of an 8 year old is able to be confident about anything.
radiantaerynsun@reddit
Not sure of your age, but a lot of people who are older millennials and up at least were not necessarily taught to break math down like this, just follow an algorithm by rote. So if I had a pen and paper I could perform it, but doing it mentally is more challenging if you haven't been taught to break it down in the way you describe above. Some of us managed to figure those tricks out ourselves (I was one) but the older I get the more rusty I am at it as it was figured out almost by instinct lol. They never taught us this way.
I just jotted down how I was taught to solve the problem and I got the correct answer but literally the math was like: 7x2 = 14, so 4, then carry the 1. 7x1 is 7 plus the carried 1 is 8 so 84. Then 3 x 2 is 6. 3x1 is 3. So add 84 to 36 shifted left a decimal place (84 + 360) and you get 444. It makes so little sense no wonder kids who couldn't memorize the process got it wrong.
Doing it without pen and paper I'd do what you describe (12x30 plus 12x7) but I don't think we were explicitly taught that way. Well, maybe sometimes - I remember some diagrams about "grouping", but for more complex math we were generally always pushed towards the algorithm/carrying decimals etc.
Anyway. I have seen some more modern curriculums complained about on facebook for teaching crazy "common core" math that is just teaching commonsense tricks like what you mention and people in my generation scream about it...
eggZeppelin@reddit
I'm 41 and I wasn't specific taught this method. I guess I just automatically break things into subproblems.
This was just my intuitive approach to the problem that seemed natural and straightforward to me 🤷♀️
Oh wait now that you mention it I do remember that's how the taught us!
Thinking about it more its similar to how I do binary mental math but just modified for base10
radiantaerynsun@reddit
Yes i think i figured out some mental math tricks too. I think most successful math students our age had to. The new ways of teaching try to encourage everyone to break problems down in this manner so if it isn’t intuitive you don’t get left behind.
sad_bug_killer@reddit
I recently had a 'conversation' with a 60-ish years old medical doctor who was telling me school math is pointless and they never use it, and it is generally a waste of time to even include it in school programs. All because calculators can do anything. I didn't even try to engage. Lots of these people are very happy and sometimes even proud with their inability to handle numbers.
radiantaerynsun@reddit
Yeah i think aspects of software engineering i enjoy would bore most to tears.
eggZeppelin@reddit
Static analysis of commit messages? 🫡
chaitanyathengdi@reddit
What kind of bum were you talking to who can't do 2nd grade math while being a proper working adult?
10 * 37 = 370
2 * 37 = 74
12 * 37 = 444 (nice)
webby-debby-404@reddit
Oh that's funny; I equate having a lot of meetings and yapping around the office all day with not working.
rodw@reddit
Deng (the visual designer here) notwithstanding, while I share your bias toward feeling like the real work is what happens outside of meetings, if you're in position and project stage that requires a lot of meetings - or just has bunch of meetings whether or not they are required - that's a belief that can lead to burn out: it can leave you feeling compelled to put in additional time to catch up on "real work" you couldn't get to before because of a full day of meetings.
Moreover, while some discretion and moderation is required, the right meetings can be a genuine productivity boost (of course). They act as a force multiplier.
I'm sure many people recognize that intellectually, but IMO it's important to truly feel (accept) it too. Otherwise you're left mentally exhausted from meetings and feeling anxious or guilty about not getting any "real" work done. Its psychologically draining.
marzer8789@reddit
Yep, this. If your job is mostly emails and meetings, your job is fraud with extra steps.
Darfmaster@reddit
Most of my days are spent writing lines of code trying to not create any bugs.
Alt0987654321@reddit
Throw in some swearing under your breath, they will think you are working then.
donjulioanejo@reddit
Meanwhile, I feel like I haven't done work if my day was full of meetings.
Even if I am mentally exhausted by the end of it.
Altruistic_Brief_479@reddit
Management is starting out your day wanting to get A, B, and C done. Then all of a sudden it's 5 pm and you didn't even start A, you're mentally exhausted and you're not exactly sure what you accomplished in the process.
JakoMyto@reddit
That reminds me of how my father cannot process that I can be working when on the PC.
I am a remote worker now and when he visits its fun times..
thekwoka@reddit
It took my wife a few years (before she was my wife) to understand I have a real job. Just because I'd be home when she left and when she came back. She'd wonder why stuff wasn't done around the house like I was just sitting around, even as she "knew" I work remotely and pay for stuff.
NorCalAthlete@reddit
In fairness, do you know how easy it is to alt tab for “just one quick game”…lol. I’m strongly considering buying a Mac Pro for home office usage and only ever turning on my PC for game time.
ShoePillow@reddit
In fairness, do you know how easy it is to take a knife and cut your little toe for "just testing the edge" ...lol. I'm strongly considering putting my legs in a cast and only ever removing them when I've confirmed there are no knives in the vicinity.
serious-catzor@reddit
The feedback loop is a bit shorter with the knife so I think fewer people end up without a toe than without a job in the other case😂
UntestedMethod@reddit
That has nothing to do with working as a software developer and everything to do with lack of discipline.
NorCalAthlete@reddit
True enough. I was mainly joking around which I thought was obvious, but I guess this sub is far more serious than pcmasterrace or gaming etc.
JakoMyto@reddit
I am actually not using same machines for work and personal stuff. I don't want to accidentally open personal stuff when on company vpn.
Also it helps for my mental health to draw a line between business and private time. Sometimes closing a laptops lid is at least a step.
NorCalAthlete@reddit
Yeah separating work and play is a good habit.
JustSatisfactory@reddit
My mother is the same. If she's visiting she thinks I'm just playing around if I'm not in a meeting. Doesn't understand that it's impossible for me to talk to her while I'm trying to debug something.
She also will call when she knows I'm working and then later act confused about why I couldn't answer.
I seriously think she just sees me sitting at a computer and it looks like I'm a teenager again, playing games instead of taking the trash out like she asked.
touristtam@reddit
Those are your parents; try you partner that think breaking your flow is ok. :D
mikolv2@reddit
Yep, and according to my family I have an easy job because i sit at home at my desk all day. Forgetting that I've been programming in some capacity for 16 years
eggZeppelin@reddit
Yappers are the masters of productivity theater. Its just productivity signaling.
DeterminedQuokka@reddit
I had a non engineer walk by me at work and say “wow what you are doing is so complex” I replied “I’m not doing anything that’s just the server”
thephotoman@reddit
Yeah, I'm in meeting time right now, as I'm technically moving projects (not really: I'm working on the same thing, but instead of trying to run batch jobs, I now need to care about end-to-end processes).
It got me on a good day where I am actually interested in learning about modern front-end (I've been doing a series of batch jobs and other headless processes for a decade now). I'm beginning to make my peace with it.
AGCSanthos@reddit
I have a loudmouth friend who thinks like this. He had taken a CS 101 class years prior and said something a while back about how anybody could do software engineering if given a chance, so I told him I'd pay for all his drinks for a year if he could fix a bug from a small side project of mine. He had 2 weeks (that he kept delaying until it became a month and a half) to try to fix it otherwise he was not allowed to do any trades in our fantasy league that year and had to apologize to everybody in our group chat who was a SWE.
Guess who came in last place that year?
He still talks a big game but shuts up fast because we have a screenshot of our leaderboard from that year with his name circled.
RedbloodJarvey@reddit
I took a lot of electrical engineering classes in college, so I knew a lot of EE students. They were required to take 2 CS classes, the intro ones, before any serious theory is taught.
Most of them assumed that the rest of CS was just learning more syntax rules and assumed since they knew how to program in C they could program anything just as good, or even better than CS students. It was very painful working on projects with them that required any coding. They won't let you help, they just spend hours writing something, realize it's not going to work, delete all everything and start over, repeat until 15 minutes before the assignment is due.
donjulioanejo@reddit
IMO the worst code I see, in descending order:
The worst code I've ever seen was some convoluted python to analyze something astronomy related when I accidentally stumbled onto a github from a friend I had back in high school that did an astrophysics PhD.
Second worst code was from a data scientist in pre-AI days who knew his stats inside and out, but was complaining why his code wasn't running in production... he hardcoded things like
data_folder = "/Users/JayBob/company_name/csv_example_files/"
peldenna@reddit
What was the bug
AGCSanthos@reddit
It was a discord bot to alert in a channel if a rent stabilized apt fitting some other criteria came up on either craigslist or streeteasy. If a posting on craigslist had some of the same photos as a listing on streeteasy, it would dedupe it to just the streeteasy one. The bug was that the photos aren't in order and would sometimes have different hashes, leading to deduping to not work. The parameters for the "fix" was just to stop showing duplicate apts on some criteria that everyone in the chat said was acceptable beyond just address matching.
bony_doughnut@reddit
Also, what place did you finish in the fantasy league?
fibgen@reddit
We need more of this in the world. Rub the bullshitter's nose in it rather than rewarding them.
OfficeSalamander@reddit
Yeah I have had two buddies who mentioned development was easy.
Then one of them took a semi-technical job and had to constantly ask me for help, over and over again (with me eventually not helping without free dinners lol), and another I felt validated because he was like, “Wow this is way harder than I thought” when he wanted to help out on a project
incognipotato@reddit
So your job is to get recreation for bugs? That seems fun.
Colt2205@reddit
If you've played Sim City 2000 and cut back on road maintenance there would be that one guy that would say "you should never cut back on road maintenance". Everything would be great for a few months and then random roads start exploding around the map and cutting off access to districts.
The important part is having on record what was stated. Like at the company I work at after they ceased renewing the contracts for the contract workers I stated that we would need more staff to support all the infrastructure of the current project and swapping a code base that took 4+ years to write from .NET to Java is not really plausible when capacity issues need to get resolved.
throwaway0134hdj@reddit (OP)
Cutting back on road maintenance to me is equivalent in the dev world to neglecting to test and run QA/QC on your inputs/outputs. And yeah some testing is just to make higher ups happy and have some metrics - other times it’s absolutely critical and if you aren’t crossing your t’s and dotting your i’s it can really bite you in the ass, cutting off access to funding…
thewritingwallah@reddit
everything of value comes from sticking with something long enough to make it work
the whole "try a lot of ideas and fail quickly" thing was intellectual justification for inability to focus
and now LLM coding lets people go down this ineffective path even harder
throwaway0134hdj@reddit (OP)
The problem is when management has zero idea of how long this will take and are literally pulling estimating out of their ass. And just saying build XYZ thing that comes to mind. I think someone really needs to have at least a somewhat general idea of what it takes to build a piece of software rather than just command and control style management who asks for any ridiculous request that pops into their mind without any consideration or understanding of technical feasibility or proper breakdown items of deliverables. Instead of simply “build this”.
se-podcast@reddit
I actually touch on this a bit in my most recent podcast. I had quite an illuminating experience speaking with a co-worker many years ago, he asked, "Why can't engineers just finish their projects when they say they will? When I was writing a book with my publisher, we chose a date to finish, and that was the day my book was done".
This revealed to me what the average person things programming is: writing. You're just writing what a computer should do, right? That's it. So just write it then.
What they don't realize is that it is fundamentally engineering. That is, we must fit within the existing topography of the system our code exists in. There is no point where a book could fail to compile. There are no security issues with a book. There are no concerns about duplication within a book, or constructing the book in such a way that would allow for changes and modification in the future. There are no performance issues when writing a book. Ultimately, when you say a book is done, it's done. Whatever the level of quality that book is when you say its done, it doesn't really matter. You might have a great book, you might have a terrible book. But it'll be a book. That isn't the same as a program. Your code may literally not compile.
So there are some pretty deep misunderstandings of what engineering looks like to the general public.
If you were interested, here's the episode in question where I cover a bit of this: https://open.spotify.com/episode/1nKjfg7sxVmWxjgkHPk4Nv
throwaway0134hdj@reddit (OP)
Because writing a book does not require precision. Sure there is grammar, syntax, and punctuation but there aren’t multiple integrations and dependencies you have to worry about. It’s an interesting comparison. You don’t get a compilation error when writing a book, nothing will crash. The only thing you are really judged on is the public’s reaction and rating of it. And so much is subjective. In code you are either right or wrong, is writing so much is grey and left up to subjective opinions.
SF_FFS@reddit
I think there are a lot of devs trying to look amazing by telling everyone they found difficult projects soooo easy and it took them no time at all. They think people are impressed that they did something so complex, so quickly. But really, it just teaches them that it was easy and took no time at all. So they expect the same from other devs.
throwaway0134hdj@reddit (OP)
Not only that but it’s sets a benchmark for them too. Being the heroic dev is something I see a lot of jr devs do then they burn themselves out
Apprehensive-Dig4836@reddit
Software jobs seem to be the only ones that regularly are able to be over employed so there is that
RJfreelove@reddit
They're dumb and over paid
barrel_of_noodles@reddit
hasnt there been at least a decade of movies and tv where they, "just build an app" -- the social network, silicon valley (hbo), The Internship...
throwaway0134hdj@reddit (OP)
Yeah true, the lone made genius trope probably contributes somewhat. “Can’t you just Zuckerberg this”?
IM_A_MUFFIN@reddit
Fuckerberg didn’t even do it himself. It was him and 4 roommates. The idea of a lone developer in a closet is such an idiotic trope.
EvilCodeQueen@reddit
And what he built was literally a crud profile page. No feed. No notifications. No real security.
throwaway0134hdj@reddit (OP)
I think the NewsFeed was new back then. Basically all apps are that now including Reddit.
stewsters@reddit
The news feed didn't come in for years though, he already had hundreds of devs.
malln1nja@reddit
That has not changed much
AlgeaSocialClub@reddit
Honestly it’s not though. While it isn’t as extreme as some would have you believe there definitely are developers that can put out an insane amount of production ready code very very fast. I’ve worked with them a couple times and it’s really impressive to watch especially if you have the technical understanding behind what they’re capable of. For example I once worked with a dev (years ago now) decide the MomentJS was too heavy for our app so they went home over the weekend and rewrote all the pieces of it we needed including their own special little iteration of timezone calculations. This took into account the various states in the US that don’t use daylight savings as well as how those were/weren’t implemented through the years all the back to maybe 1970. Blew my mind.
IM_A_MUFFIN@reddit
No one said someone couldn’t rip out a large piece of a codebase and replace it with something else over a weekend. If I’m being honest, if someone hasn’t done this I’d be more concerned. The issue is that people believe that you can write entirely new products in a day. So many sales folks just tell the client “Oh yeah we can have that done easy” with no context for what the actual technical requirements of that thing is. They come back and say “Hey we need this” and you tell them “Cool we need a new db, a messaging layer, and need to upgrade the following libraries,” which touches front-end, backend, db layer, and infrastructure. You need monitoring, analytics, and if you’re forward thinking, instrumentation. Production ready doesn’t mean, “it works” outside of startups. If you have an SLA with a client and you’re the sole dev expected to pump this out, I’d look for a new job immediately.
Wonderful_Device312@reddit
And then it was billions of dollars of funding to hire thousands of developers.
Zuckerberg and his roommates built the proof of concept but it took thousands of people to build what most people would recognize as Facebook.
zeocrash@reddit
"Can't you just Terry Davis this?"
basskittens@reddit
If you've seen the movie Ex Machina, it's about trying to determine if an android can pass the Turing test. Very good film, but not long in I realized they were asking me to believe that the Steve Jobs-ish tech CEO main character built and programmed the entire android himself. I was like, you know how many people it takes to make a cellphone? Took me right out it for a moment. (Then I just relaxed and tried to forget it. The movie overall was pretty enjoyable.)
throwaway0134hdj@reddit (OP)
I’ve seen it. I recall chuckling that one scene where Nathan is talking about stochastic syntactic tree-structures and that Caleb would understand … Then Caleb replies “Try me I’m hot on the high-level abstraction”
Like both are speaking literal nonsense to each other.
rayfrankenstein@reddit
Tell them to “go zuck yourself”.
RogueJello@reddit
Reply: "I could, but why would I want to betray millions of people and be a complete tool? We still wouldn't have a working app until we hired people with programming skills to screw over right before we take the app public."
RelevantJackWhite@reddit
"you want me to sell our data to the government?"
reddit_still_psyop@reddit
ding ding ding
DowntownLizard@reddit
Yeah cause TV obviously cuts out the parts where they sit there for 10-12 hour days for weeks on end to make it entertaining lol
Longjumping-Ad8775@reddit
I love the sound of deadlines as they go whooshing by……..
“Not my deadline, not my problem.”
If you can’t stand up for yourself, no one else is going to be able to help.
If they want something done with ai, let them try.
Environmental-Edge84@reddit
You're telling me I'm the one laid off and these morons have jobs? I seriously think managers should have a few years of technical experience!
MasterLJ@reddit
Because no one understands software. The only people that kinda understand software are those of us who write it regularly.
I deal with these things by being Socratic, being honest and using a lot of "yes, and", and heading off nonsense before it festers. I will engage instantly when someone says "it should be simple to build". "Oh hey Frank, what data or plan are you using that leads you to believe this is simple build? May I see it please?" There usually isn't a plan so you can respond, "oh ok, my preference is to do some due diligence before declaring if this is easy, in my experience, these types of tasks can vary and generally take a few months. Can I be granted the time to create a plan and scoping document, from there we can establish a timeline?"
In my assessment, all of this is because the incentives don't align between software producers and the business. Someone from the business perspective is under pressure to produce value to the business and it's cheap to have an ambitious plan on a tight deadline. It's also cheap to blame software engineers for "failures". The antidote is to keep receipts, push back gently (but firmly), ask people questions like "why do you think this is simple?" or "I wasn't aware that scoping was performed for this task, how did you come up with this estimate that it'd be simple?". It's a good muscle to grow to be able to respectfully and professionally disagree with your business counterparts, just make sure you are focused on delivering value to the business as it's our key mission... it's the when & how that make us good at what we do. Good software takes time and validation.
I don't generally believe many things are impossible, though, that's why I use "yes and..." to talk about the time & resources required to achieve the goal. The same with time estimates. If you don't control resourcing it should be impossible to provide a timeline, "Yes and, to achieve this goal, I will be allotted 10 engineer's full dedication for the next quarter". The follow up is when that is violated, "Oh hey, we need 3 engineers for this other project, are we still on track for delivery?" is something like, "Oh hey, so we agreed that this project needed 10 engineers for the quarter, you removing 3 will mean our timeline has to be pushed out or scope has to be decreased".
Planning triad: Time, Scope, Resources -> They are 0 sum
Altruistic_Brief_479@reddit
This is the way. Also, be prepared for the inevitable follow up: "does that mean if I give you 20 engineers it will get done in 6 weeks?"
wittgensteins-boat@reddit
"What projects that they have committed to a schedule should be halted for your proposed plan?"
MasterLJ@reddit
"Hey Frank, my suggestion is that those 20 engineers keep working on their current tasks. We can fold in key team members into the design reviews, and once everything is scoped, planned and designed then we can come up with a timeline"
Altruistic_Brief_479@reddit
"If you can get 15 engineers instantly (you can't), and they're all good (they won't be), my team won't produce anything in at least 6 weeks because the 5 people working the project will be busy training 3 new people each on the system"
foxsimile@reddit
Can you be my dad?
throwaway0134hdj@reddit (OP)
Solid advice. Thank you!
SituationTurbulent90@reddit
Reminds me of when people express concern over lifting weights because they're "worried they'll get buff."
apartment-seeker@reddit
lol what kind of imbeciles do you talk to who have ever said something like that
SituationTurbulent90@reddit
People that seem to think that after two weeks of hitting Planet Fitness they'll have a six pack and the Guns of Navarone for arms.
AntDracula@reddit
Shit man I’m years into lifting 4+ days a week and I still feel like I don’t look like i do.
AdecadeGm@reddit
This always remind me of my mom!
otakudayo@reddit
I used to be a personal trainer and I regularly had clients and potential clients express this concern. "I don't want a sixpack or anything like that.." Such a complete lack of understanding for the incredible discipline required for that sort of physique.
n8gard@reddit
I think people tend to simplify what they don’t understand. I validate you but this isn’t peculiar to software dev. It applies to all IT and, I suppose, why I’ve always thought sales people just professionally go to lunches and dinners. :)
Early-Surround7413@reddit
Dude we're not curing cancer, get over yourself. At the end of the day we have a pretty easy job. Are there some challenges? Sure. But they're usually challenges that have been encountered a thousand times before and solved.
And also, if we fuck up, worst case scenario is someone gets an error when they click a button. An engineer who designs airplanes fucks up? People die. So just put things into perspective.
shelledroot@reddit
Software can and has killed people. (e.g. https://en.wikipedia.org/wiki/Therac-25 )
Not everyone is a CRUD happy web dev, sure a lot of people don't do novel things, but there's plenty that actually have to do novel or hard things.
throwaway0134hdj@reddit (OP)
CRUD is a massive overaimplicairon of what we do too… sure it’s CRUD at the 30,000 foot view but the devils in the details… it’s this type of thinking to creates toxic “it’s easy, get it done by the end of the week!” type environments
shelledroot@reddit
I was using an oversimplification to push back on Early. Though I must say tech-wise CRUD applications have been the easiest to deal with, not on business level, where it often is pushing a square object through a triangle and a round hole.
Early-Surround7413@reddit
You gave me one example that covers 0.01% of all the code ever written. Totally invalidates my argument.
shelledroot@reddit
I gave you one example, because that was enough to disprove your point. If you want a list of people murdered by software use google.
One_Bookkeeper_6235@reddit
Rage bait
preussenbursche@reddit
If you leave out the large pit that is filled with safety critical software, then yes, it might seem like that. But the two Boeings that crashed and killed a couple hundred did so due to software behavior, as far as I remember.
lokaaarrr@reddit
https://en.wikipedia.org/wiki/Therac-25
dogo_fren@reddit
Cars were repaired thousands of times, but that does not mean anyone can just do it or that its easy.
Early-Surround7413@reddit
Pretty much anyone can figure out how to fix a car. It's the willingness to learn that prevents most people from doing it.
ul90@reddit
Because development is easy. But building a working, useful, mostly bug-free software is the hard part.
Darfmaster@reddit
Because Gippidy can write a hello world in 0.5 seconds, I mean how hard can software engineering actually be?
bostonkittycat@reddit
It is definitely not easy. I have worked on projects before where it was mind numbing grinding for months. But I was getting paid well for it so I did it. I have worked in the field 20 years. There have been many people I worked with that told me development just wasn't for them and left. The burnout can be high if you aren't good at managing time and saying No to some requests.
carenrose@reddit
I've noticed that most non-technical users don't really have any idea what's something that's hard/complex to implement and will take a long time, and what's trivially easy to implement.
They're always super-grateful and impressed when I'm able to tweak the WHERE clause in an existing report in less than 15 minutes.
But yet will ask for complex features and say "that shouldn't be too hard, right?"
Anecdotally though, every time someone asks what I do for work and I tell them I'm a software developer, they respond with some variation of "oh wow! You must be so smart! I could never do that!"
boreddissident@reddit
Everybody thinks other people's jobs are easy. Software engineers are hella guilty of it too.
Albannach02@reddit
My son, who tests software for a living, would say that everything is indeed tossed into a magic black box in the (vain) hope that it will work. 😅
800Volts@reddit
People think software development is easy for the exact same reason that devs fantasize about farming
bluemage-loves-tacos@reddit
I find there are two groups usually:
The ones you describe, who think "how hard could it really be?" and the opposite who think that software engineering is this super hard thing only done by genius level people. Honestly, I don't know which is worse, since the latter group enable the worst kinds of dev, who love to gatekeep and make everything 1000x more complicated than it actually is, creating crappy spaghetti messes just so they can feel smart.
I don't know if I'd rather have to play politics to show things are not so simple and will take some time, or engage with incompetant devs who make everything harder.
SignoreBanana@reddit
I guarantee if it was easy, we wouldn't be paid as much as we are.
newEnglander17@reddit
even then though, companies are paying you the minimum they can. You're producting a ton more value in relation to what they pay, then other jobs do (not that they dont also provide more value than pay earned...a company needs to make money).
MistahFinch@reddit
Nah plenty of hard jobs have poor pay.
People think of software development as easy because in a lot of ways it is. We're not breaking our bodies to do it. It's difficult in mental ways and not everyone can do it
bjenning04@reddit
People pay for the skill, not the difficulty. I’d argue physical labor is harder, but almost anyone can learn to do it, and most jobs stress is minimal when the day is over. Whereas software development is difficult mentally, requires specialized skills that not just anyone has the capability to pick up effectively, and day to day stress is much higher. Speaking from experience as someone who grew up blue collar and transitioned to software development.
karmiccloud@reddit
No job ever pays you for anything in relation to what it costs you to do. They pay for it based on how expensive it is to have to find someone else to do it. The relationship between how many people have the skill to do the job and how many jobs there are is the only relevant function of how much a software engineer is paid, same as any other profession. There are a lot of people capable of digging ditches, so ditch diggers aren't paid a lot.
Altruistic_Brief_479@reddit
100%. It really is pure supply and demand and most people don't get it. The only reason talent plays a role is world class talent is rare and in high demand.
karmiccloud@reddit
Right. You can't simultaneously complain about how people are overpaid and in the same breath argue that it's impossible to get one of these jobs. If you're arguing that specifically junior devs are overpaid in these roles, well okay yeah maybe sometimes. But also recognize that these are not roles that are meant to last. You can't survive in big tech as a junior for more than ~3 years. It's up or out, unfortunately.
Altruistic_Brief_479@reddit
Right. While everyone is replaceable, there are steps you can take to protect yourself long-term that's not just a pure focus on meeting KPIs. Being pleasant to work with, and taking the occasional side project as an opportunity to upskill and increase your marketability go a long way. Sure, you can still get laid off even if you're doing these things, but you're not first on the list anymore AND you are more valuable and have more opportunities should you need to look for work.
tuantran3535@reddit
But there are trades that require genuine skill, i believe an electrician is also pretty skilled yet they're worth a fraction of a SWE especially in large cities. Correct me if im wrong as im not a blue collar worker but I do respect these skilled trades workers a lot and to me they're like as skilled and also have that back breaking aspect too.
bjenning04@reddit
You’re absolutely right. Some trade jobs require a lot of skill, and do pay good money. Dad was a welder for the boilermaker’s union for several years, and I do remember the more skill at welding different materials you had, the more you could get paid. I believe it’s the same for trades like electrician, HVAC, etc. Definitely don’t need a college degree to get a very respectable job if that’s where your interest lies.
leftloose@reddit
I’ll take it a step further. People pay for scaleable hard skills and to not fuck up with that scaleable hard skill. I’ve worked first as front office finance and then now as an engineer. Both are paid well because of your multiplier effect on the bottom line AND because of you fuck up you can lose the company millions with the same multiplier effect
MistahFinch@reddit
I mean yeah, I address that in the latter part of my comment. I didn't go round the comments with this point on purpose.
I'm just pushing back on pay being related to the difficulty or effort level of jobs
amesgaiztoak@reddit
Name one? Or are you just repeating what tech influencers say online?
MistahFinch@reddit
Dishwashing, cheffing, construction work, farm work, logging, landscaping
You can't think of a job physically much harder than software development with poor pay? Like how disconnected from reality are we becoming here.
I work in tech why the fuck would I be following tech influencers online?
amesgaiztoak@reddit
Those aren't hard jobs. You don't need a qualification nor experience to work there.
MistahFinch@reddit
Go do one of those jobs for a couple days and you'll eat your words.
Qualifications and experience are gatekeeping. They're not indicators of level of effort or difficulty involved in the job.
amesgaiztoak@reddit
You speak as if you had experience in any of those jobs. Nobody is getting burnout from dishwashing or farm work.
Say that to any lawyer, doctor, engineer or scientist. Referring to those as gatekeeping is wild, companies are just no longer coping with online courses anymore.
noticeparade@reddit
I’m a doctor and agree with what r/MistahFinch said. Those jobs definitely burn people out.
diapason-knells@reddit
Trust me they are, dishwashing can be brutal work. At my job I was the only dish hand for a 300 seater, there was limited cutlery and plates available so if I didn’t clean it all quickly I would have the chefs screaming at me. AND I had to put away all the stuff in the pantry + prepare food on the side while cleaning too. Was horrid and tough work
MistahFinch@reddit
I have experience in a bunch of those jobs.
I spent 8 months between college and my first software job dishwashing and the vast majority of my coworkers got burnt out from dishwashing, or cheffing by the end of their first month. Lots struggle to make it through multiple shifts
leftloose@reddit
Were you not around in the Covid craze? You don’t need qualifications nor experience to be a software engineer lol
amesgaiztoak@reddit
For being a developer and playing with JS? Sure.
For building anything real like distributed systems, ETLs, ML, you definitely need any of that.
xland44@reddit
I dunno man, my first job as a teen was working at a job which was very similar to the Subway guys eho make your sandwhich, except it was a bagel place. Dealing with shotty berating customers and keeping up a smile all day was genuinely exhausting. Coming home smelling like rancid bagels was depressing. Finishing work at midnight and missing the last bus and walking an hour home only to wake up at 7 for highschool was exhausting. Also standing for nine hours straight was physically hard at first, I was out of shape.
I like code. I'm good at it, I have good work conditions at my company, and no drama like a guy walking in every week and shouting at you.
Was my job back in highschool ""hard"" in the sense that it requires certification and education? No, you can learn the job in a few weeks. But doing it every day for years for a terrible minimum wage of like 10$/hr in today's money? That's a helluva lot harder mentally than a cushy 9-5 job where I take a 40 minute lunch break, another 30 minute afternoon coffee break, and sit in A/C, another 15 minute bathroom break, and solve my tasks. Nobody cares how I divide my time as long as I complete my tasks and in a high quality.
dieego98@reddit
That's the exact same premise that the OP of this post. They are hard jobs, but people without inside knowledge think they aren't.
skywalkerze@reddit
If it's fair to call software development "easy" because it is physically easy, it's also fair to call dishwashing easy because it's mentally easy.
SignoreBanana@reddit
Hard jobs have poor pay. "Hard as in Skilled" jobs rarely have poor pay.
MinimumArmadillo2394@reddit
Jobs are often valued as how hard they are to replace someone. Finding a skilled SWE is difficult.
Finding a lineman who didn't take 4+ years to train is much easier
BaNyaaNyaa@reddit
We're not paid a lot because the job is hard or important, we're paid a lot because companies can make a lot of money from our labor. We're not that exceptional.
rk06@reddit
yes, we are. if we were not that exceptional, all the dev work would have already been offshore to Pakistan, bangladesh and Phillipines.
inmyprocess@reddit
Take a second longer to think about it bro.
bony_doughnut@reddit
Yea, but then why don't they just hire cheaper workers? There are tons of people who would be willing to work for, idk, anything over $100k, yet there are still plenty of SWE jobs that pay $200k, $300k, $400k+.
They're not doing it out of the goodness of their hearts, or because they're stupid and don't know how to make a profit...
SignoreBanana@reddit
Exactly this. They'd pay you nothing if they could.
SignoreBanana@reddit
Speak for yourself. If it's not hard, you're not important.
Educational_Smile131@reddit
The truth is more nuanced than software development being hard, or software making banks. It’s once again all about supply and demand. Something being difficult but hardly needed isn’t worth much. Companies always pay you as little as they can. So they pay you handsomely not exactly because software makes bank, but because good SWEs are key to making such software and demands keep outstripping supplies thanks to the outsized profits. Becoming a good SWE isn’t easy, this reflects aptly on the suppressed supply.
Contrary to what some say, good SWEs are somehow exceptional to the big tech companies, evident by the ongoing lunacy to replace SWEs with AI.
klmsa@reddit
It's an issue with management...but you're also not helping them or yourself, probably. Learning how to communicate the difficulty, or finding out how to quickly and accurately estimate work for them, as well as being able to give them alternative ideas that are maybe more within your realm of possibility, are all things you can do. Telling an executive "no, not possible" is just not an effective communication method.
Visual-Classroom9852@reddit
I’ve literally had someone ask me to build ‘something like Uber but simpler’ in 2 weeks. People seriously underestimate the complexity behind scalable systems.
Afraid_Formal5748@reddit
They see these "hackers" in the movies. Any time there is a computer specialist they are able to do everything. - they can code - the can hack into systems within seconds - they typically are typing fast - there is so much going on on all 5 screens they have
Additional those management people live inside their linkedin and news bubble. They read everyday how great AI is. That it is the magic pill solving all our problems.
They are not technical. They do not care about tech debts, limited storage, cybersecurity etc All they care is that their 500 feature requests are implemented ASAP. Of course if you ask for priority all have top prio. And of course they do not want you to understand them indepts to decide which gives you the best starting point since you might be able to find the one feature that combines them all.
uniquesnowflake8@reddit
Analogies are useful for communicating back up what makes things difficult. For example, some tasks are like assembling ikea furniture, and some are putting an entirely new floor on the house (and adding an elevator). Make up your own analogy that feels well suited though
isurujn@reddit
I heard this somewhere and this is my go-to analogy now.
Running is simple. You just have to put one foot after the next and you keep doing it. But that doesn't mean you can just get wake up one day and run a marathon. Just because something is simple, doesn't mean it's not hard.
Osr0@reddit
I've done a lot of software implementation work, and I always use the building a house analogy.
Adding in another bedroom gets increasingly more problematic: after the blue print is signed off, after the foundation is poured, after the framing is done, after electrical and dry wall are done.
"Stewart, at this point, adding that app feature is the equivalent of asking to move the house back 10 feet 24 hours before we move in to the house. Had we discussed it a year ago it would have been simple, but now it is not"
CatolicQuotes@reddit
Yeah people think code lives in the air or what not. It's called software architecture for a reason.
Osr0@reddit
PM: but I don't understand why this is such a big deal.
Me: that's why you look at spreadsheets all day while I'm doing the actual work that actually provides value.
RobertB44@reddit
There are some good analogies from other posts here. Another one I use to explain why building software for 5 people and 500000 people is very different is by asking how they would go about organizing a trip with 3 friends (which would involve booking a flight, a hotel, and public transportation at the destination), and how it would change if they were to prepare a trip for a group of 5000 people. All of a sudden it is no longer possible to get everyone on the same plane, hotel, and bus. Best case is coordinating multiple flights that leave/arrive at similar times, worst case it involves building an entire new airport.
lil_doobie@reddit
My favorite metaphor for describing why interruptions are so bad for developers:
Imagine my job requires me to pick up marbles off the floor, one by one, without any tools. These are special marbles that I can only hold while I'm actively doing my job. When you interrupt me, thus preventing me from doing my job, I must dump all the marbles back on the floor to do what you asked me to do. When I come back, I have to start all over.
That's why when I get constantly interrupted from work... I lose my marbles.
OfficeSalamander@reddit
I usually use building analogies. Something can be a shed, a small family home, a medium skyscraper, large one etc
UntestedMethod@reddit
Buildings is a good one for scale and structure... Starting with a solid foundation, following an order of implementation, different trades for specific parts, etc.
I've also used cars to communicate about complexity and more abstract ideas. Replacing an engine, performance tuning, cosmetic work, usability, safety & security, etc.
Grizzly_Andrews@reddit
This is something that I had picked up on my seniors doing early on, and I quickly learned to appreciate how valuable of a skill it is. It works very well when communicating difficulty to someone without technical or domain knowledge, however it is still a skill. That is to say it is not always easy to come up with apt analogies on the spot.
DoNotSexToThis@reddit
It's useful to remember the point isn't to teach someone something with an analogy. You are trying to get them to agree by using something they understand as a proxy for something they don't.
They already don't know what you know. The analogy doesn't need to map 1:1, so it takes some pressure off to know it only needs to make enough sense for other people to feel comfortable agreeing to your position.
Recently I was on a client call and had to set expectations that SSO wouldn't be push-button based on their requirements, and the analogy I came up with was terrible. Something about a flying car, I don't even remember. But the client understood what I meant, left the meeting satisfied, and I was later mentioned by name in kudos from the client.
Most times, people just want to do their jobs and hopefully do it well. Everyone has to make decisions to do that. They want to feel as though their decisions are good, so if you help them feel that way, you have succeeded.
bjenning04@reddit
Exactly. Do they want a grilled cheese or a soufflé? Both are perfectly fine meals, but one is way more difficult to make.
Krom2040@reddit
They think it’s easy because they’re fucking idiots, and now it’s worse because they’re constantly bombarded with bullshit about how AI can pretty much do it anyway.
vs2022-2@reddit
At the big tech companies that make loads of money they don't have non-technical leadership over engineers. There are certainly nontechnical people in high leadership roles at these companies, but generally speaking you need an engineering background for leading engineers. For this exact reason you describe
throwaway0134hdj@reddit (OP)
Lesson learned, I refuse to work anything non technical now. Where I work it’s the opposite of what you describe at big tech, the non-tech folks are prioritized over technical ppl’s. Sales, marketing, business, presenters of ideas — undoubtedly critical to the success of the software, but this is equivalent of having software developers leading sales, marketing, and business discussions.
metallaholic@reddit
Most of being a software engineer is navigating meetings and explaining to hyper business side people that may or may not but high in cocaine that promised a years worth of work in a week.
gollyned@reddit
Even software engineers who should know better think it’s easier than it is.
I multiply my estimates by 2, even after I think really hard about estimates.
Ynkwmh@reddit
Btw, it sounds like you're working with morons.
scataco@reddit
On top of that, stress makes smart people do stupid things as well.
And then there's the theater. "I'm being expected to make stuff happen, so I'm going to pressure you into saying it can be done, so I can look good." So you reply with "I always love your enthusiasm, I wish it was that easy!"
thekwoka@reddit
Basically the fall of Soviet Communism.
Everyone lies to the person above them that things are a bit better than the reality, so the people at the top think everything is going fantastically.
Altruistic_Brief_479@reddit
Works in life, engineering, and parenting. If you want accurate info, you can't shoot the messenger.
so_brave_heart@reddit
Lmao I was going to say the same thing in different terms.
The best product managers I worked with were the ones that understood the limitations and timelines of software. When they didn’t, they asked questions of the devs to find out and trusted the dev team with those answers.
I can’t help but think that managers that do the opposite are inept and don’t deserve their position. Unfortunately, it’s usually the schmoozers that get those positions and that doesn’t correlate with their ability to do that job at all.
throwaway0134hdj@reddit (OP)
A lot of the upper mgmt have symptoms of narcissism which is definitely a big part of the problem, they don’t listen to devs, act like they know better.
AzureAD@reddit
No they don’t, they know how to squeeze the most if of people.
They don’t know if something will take 1 day or 1 year, and honestly it’s not their job. They want results for the least effort and they will play games, throw random words and estimates because they’re are pushing you to keep reducing your estimate.
And once you cower, they win. To these people, work is all about wins and losses and they are skilled negotiators, politicians and that’s why they are in the leadership team.
Again it’s not on the non-tech folks to learn the art of software engineering. It’s totally upon you to provide reasonable estimates and develop the spine to hold on to those. Learn to deal with them with their language or you’ll always be whining about it non-stop
HiImWilk@reddit
It’s hard to understand the strain of mental labor. How are we all so exhausted when all we do is sit in a chair all day and type. And it sucks to be here, too. Being physically energetic, but spending the evening staring at your phone like everyone else makes me feel like I’m wasting my life.
zenware@reddit
Yes people really think this, I could count on dozens of hands how many times I’ve been asked to violate the laws of physics with a piece of software that should be “a simple task.” Realistically this is a communication/confidence issue, you should be able to communicate clearly to non-technical stakeholders in ways that aren’t condescending, what kind of requirements are needed to actually get something done, or when it’s not possible to achieve such a thing. — This sort of ask also exists in every job as far as I’m aware, e.g. “Can you photoshop this image so the person is facing towards the camera, I want to see their face in the picture instead of the back of their head.”
In an ideal world you’d also have the support of your manager, who would have once been the same kind of individual contributor you are, and then they would have at least a tenuous grasp on the technical details, and also a pretty strong ability to communicate with stakeholders.
But yeah sometimes the ask is “can you solve traveling salesman for a nationwide fleet of XX,000 service tech vehicles?” And your team has to respond “can you spend $1m on a HPC cluster for it?” And the client says “yes, we have $5m budget for that”
And sometimes the ask is “can you use static analysis to determine the runtime of this set of programs?” And the answer is “literally never will anyone be able to do that.”
throwaway0134hdj@reddit (OP)
What I don’t really understand about this field is why we have non-tech business managers telling us what to do. Could you imagine if a business manager was managing an aerospace project or managing a team of biologists/cancer researchers. Software developer is a weird field where this is somehow normalized, but in virtually every other field it wouldn’t work. I’m not calling software development fake engineering but it doesn’t seem to carry the same reverence as something like aerospace/mechanical engineering.
zenware@reddit
For a significant amount of jobs someone can just be “a good manager”, which is a totally different skillset than say “being a comic artist” or “producing tps reports” or “writing the software for a weather prediction simulator”.
If you actually require someone to both “be a good manager” and “be capable of rocket surgery”, that’s a really tall ask, it will be hard to find that person and you’ll have to pay a lot of money. So businesses are left with two options, find a rocket surgeon and hope they will be a half decent manager (this rarely works) or find an incredible manager and hope it doesn’t matter at all that they have never even heard of rocket surgery (this almost always works).
W.r.t. your aerospace comment, there are definitely aerospace project managers that have never been aerospace engineers.
The only case where it is literally required that a manager also have been the same kind of individual contributor as their direct reports, is if they are not only considered to be in charge of their team, but also directly and completely responsible for their output. Meaning, if you didn’t get your code done by Friday, your manager would have to step up and finish writing that code to make sure it was done by Friday.
Also I do think being an “Engineering Manager” for a SWE team does typically require a past of being an individual contributor, but not every company has a mature software engineering organization. It probably just comes down to that… to be honest probably most software engineers work at companies with an immature software org, with ill defined roles and leveling track, titles that cap at “Senior Engineer” while delivering on Staff or Principal Eng responsibilities.
If you want your job to be closer to how you’ve read about what software engineering jobs should be, you likely need to be at a place that you could possibly achieve a title like “Sr. Staff Software Development Engineer in Test”
Altruistic_Brief_479@reddit
To add, those with both skillsets are rare. Those with both skillsets AND want to be a manager are extremely rare. Probably < 1%.
Altruistic_Brief_479@reddit
Work in aerospace. There are non-technical PMs. They're usually good at finance, communication, and putting the people who can solve the problem in the room.
Ironically, you are unwittingly bringing up the reason this exists in the first place. You want a manager that understands what you do so you don't have to explain yourself. Most software people don't want these roles, in my experience. The reality is almost always someone in the chain doesn't understand software, even if it's just the customer. So, someone is always doing ELI5 on why something is expensive or takes a while. So the choice is you pin it on someone in software who probably chose CS so they didn't have to deal with people, or you find someone who can deal with people but doesn't understand the technical side, or you wait a few years to find the engineer who is technically skilled, good with people, AND wants to do it. Most schedules can't wait a few years.
shesprettytechnical@reddit
Dunning kruger
Prince_John@reddit
It's not though, is it. The bosses aren't making claims about their own abilities, they're saying that OP, as a professional software engineer should find it simple.
dauchande@reddit
Dunning Kruger says that the skills required to know if you are good at something are the same skills required to be good at something.
dauchande@reddit
Maybe read the first paragraph on out from Wikipedia https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
Prince_John@reddit
The one that says it gives overly positive assessments of their own ability? Which they're not doing?
throwaway0134hdj@reddit (OP)
Yeah I think it’s less DK because it has nothing to do with what they think their abilities are, which are NIL is this regard. It’s more about arrogance. They just retreat software as X deliverable - that could be fixing a pipe or creating a rocket. It’s just all treated under the same umbrella of deliverables without regard for process, breaking X down into requirements of steps. It’s just build X and get it to us by this timeline and have a good day.
Altruistic_Brief_479@reddit
Typically solvable by putting together a plan. Breaking things down into sub tasks with estimates (both total hours and length of time), and include what can be done in parallel as well as what must be done sequentially. That becomes the basis of negotiation. They now believe you thought it through some and aren't just being difficult. You can now say what you believe and can argue for more resources, scope reduction, or timeline extension.
It's purely about giving people the info they need. If you're going to be in a leadership position, you have to get used to explaining yourself. Sometimes that's explaining why an ask is too hard - they may be upset that it's harder than they thought. But it could also be that they need to understand the difficulty to properly explain it to their bosses or customers or whatever. Hanlon's Razor - don't assume malicious intent when incompetence suffices.
Apprehensive_Pea_725@reddit
For non technical people it's impossible to distinguish a good solution with a nice front end, and a bad solution with a nice front end, at least not in the short term.
Also I think many people compare with other products that are there in the internet, without considering the full journey of the other products.
General-Day-49@reddit
Make them pay you. That's really the only solution. Bill Gates did it right - sure i'll write you an OS, but i get a few bucks on EVERY machine you put it on.
It's a matter of negotiation skills. It might require finding a different job, or renegotiating your current job somehow. Unfortunately you can't possibly give enough detail about your situation to enable us to give a complete answer to this but this is the general direction. You're working for morons who are trying to get something for free, so you have to learn to manage them.
Codyhands@reddit
Welcome to my everyday life
Difficult-Field280@reddit
Because AI company CEOs who are building hype around their products so they can make more money are literally telling them it is? Or can be with help from AI. which is not true, just to be clear.
aski5@reddit
classic
BanaTibor@reddit
GTFO ASAP. Let them use AI to make their own software.
digitaljohn@reddit
“If you can’t build a prototype in a week, you’re building something too big.”
alohashalom@reddit
It's hard to know what is truly not simple, what is actually being purposefully exaggerated, and what is being conservatively estimated.
Nipredil@reddit
They don't understand the difference between easy and hard fixes. Like I built an internal tool, people love it and I take reasonable requests to extend it. People don't understand the difference between changes like adding one more possible separator to the file the app reads besides a comma or a space is a 5 minute fix and I am happy to help (and I probably messed up anyways for not building a better import). Then next day someone the idea that it would be so nice if the tool did unit conversions. It is just multiply by 10, 100, 1000, right? Sure, except that means I need to implement a way of knowing the units they use in inconsistent files that historically come in like 20 different format. I can't expect them to know this is close to impossible on our broken system. Especially because the request is reasonable if you don't deal with years of technical debt.
cocaine_zebra@reddit
It's like when Steve Jobs told Apple engineers he wanted his entire music collection in his pocket.
m1nkeh@reddit
You’ve gotta frame it way they recognise… building a house, a car, and aeroplane etc.
Final-Roof-6412@reddit
Immaterial product, then people don't see any constraint. Then no constraint, no difficulties: is it the same thing in a lot of intellectual works like art or entertainment
Content-Recipe-9476@reddit
SO RELATABLE. I feel like I spend an hour a day explaining how the "easy peasy" request that was just made is a solid 48 hours of work that will destroy our timelines.
throwaway0134hdj@reddit (OP)
For that reason, I always 2x or even 4x my estimates.
Content-Recipe-9476@reddit
I really gotta start doing this. I build in buffer, but it's like 1.25x-1.5x. Not nearly enough.
throwaway0134hdj@reddit (OP)
In this field you really have to be a bit more calculating because these managers will take advantage. Best to underpromise and over delivered, rather than the opposite.
InformalPatience7872@reddit
I think its lack of context. Code is all about translating abstract requirements to precise specifications. Without precise details, everything appears simple.
I welcome certain degree of management pushback when we as engineers talk about timelines. It helps cut through some chaff and negotiate some cuts to the roadmap as well. The thing in your particular is about not cutting stuff from the roadmap. This in my experience always creates a problem.
I would recommend a simple tactic - maybe ask if some frivolous stuff could be cut and pitch it as an efficient path towards delivering the roadmap. Has worked for me in the past but no guarantees.
Desperate-Presence22@reddit
I think it's common human behavior. Thinking it's easy when you don't have to do it yourself. When you watching the game on TV, it is easy. when you have to play yourself ... Oh you can't do even 10% of what people are doing on a field.
I do find it annoying when people talk about my job or tasks and describe it easy. I might response jokingly, if it's easy, maybe you'll do it yourself then. I try to not allow make people assumptions about my job without me. Sometimes it's happens, sometimes it too late. I need to draw a line when it is unrealistic or when maybe I can accept it and work harder ... just for the team. But if someone already promised to a client to rebuild a Gmail in 1 week and now asking me ... please please, we've already promised it. Here, I might need to draw a line and say it is impossible, and then need to renegotiate with the client.
People assume it is easy, but they can't build it themselves without you. If they need you, they need to listen to you.
If they don't listen to you, you probably can't work and should quit.
JungGPT@reddit
"Especially now with AI, everyone thinks things can just be tossed into the magical black box and have it spit out a production grade app ready for the public. Not to mention they gloss over all the other technical details that go into development like hosting, scaling, testing, security, concurrency, and a zillion other things that go into building production grade software."
This is why I quit my AI startup. My cofounder actually started raising his voice with me and telling me he needed things done and expected like huge sweeping UI changes to be done in a matter of hours, he got really crazy with control. I was done.
That's the goal by the way is for dipshit marketing guys to pretend they can build something for once in their life and they're gonna fall flat on their face. It's a bunch of people whos jobs provide no real value that want to experience what its like to provide real value.
throwaway0134hdj@reddit (OP)
Yeah I won’t flat out say AI is a scam or a fad. But until we reach AGI (genuine AI) I predict AI’s popularity to diminish in coming years and will be treated more like a neat tool rather than the end all be all it’s treated like now. This is typical hype cycle. I saw that it will be looked at as one more tool on our toolbelt because I think we have already seen 99% of what it can do already, the newer models aren’t significantly better and are plateauing. If we ar being honest with ourselves GPT is Google++ and not the revolutionary thing the media is having us to believe.
Pttrnr@reddit
"why do you think I am lying when i say 'not possible for that deadline'?"
use the L word
Immortal_Spina@reddit
They don't know because they've never done it And now with AI they think it's even easier
g_bleezy@reddit
Because it is easy, stupid easy in 2025. Devs think their shit is harder than it really is, just like everyone else.
dark180@reddit
Building a prototype with ai is easy . Building something that is clean, maintainable , secure, scalable and enhanceable is the problem . I personally think the job market is going to get hot with a bunch of come fix our code that ai wrote and we don’t know how to fix.
Final-Influence-3103@reddit
😂😂😂easy? I just started a year ago and my hair is turning white man... Im 24 Maybe doing code is a bit easy but structure engineering and how to make every piece connect together is a hell
cathline@reddit
IT's been this way forever. It's one of the reasons I moved to do more management level stuff.
I remember being told to build a search for a company 'Like Google. You should be able to do that pretty quick, like a week'. This was in the early 2000s. On a secure network. And Google had not released the code to use their search on your company site.
I try to ask lots of questions and lead them through the details. They still get upset, but they usually get more upset at how difficult it is, instead of getting upset at me.
throwaway0134hdj@reddit (OP)
Jeez that sound awful and similar… one glaringly obvious thing they never consider is the sheer infrastructure behind all these system like the compute and storage power that makes Google possible — that’s totally not in their equation.
Sounds like they expect you to make Google on your local machine… lord, the absurdity.
NothingTime9580@reddit
I have a 60 year old coworker who "manages customer relations" and thinks developers are just slow and lazy and that he could do a better, faster job at it because "he took a programming course in college" (which must have been 40 years ago lmfao)
in other words he lives at the very top of the mountain of Dunning Kruger, like a lot of people who have no idea how complex it is
ryzen98@reddit
those are mostly people who are freshers or juniors or someone who does teaching of coding and have never worked in huge real life software products for some time.
kacoef@reddit
because "you stare at monitor and make €€€"
lordTigas@reddit
If I had a dime for each time I heard someone from product saying "it's only a if" I'd have like 5 or 6 dimes
ancientweasel@reddit
I just tell them to do it. And I am serious. If AI makes it so easy do the work yourself and put in an MR.
I have literally opened a ticket with an Ahole PM on the call and assigned it to them.
thekwoka@reddit
A lot of times because they can simply describe the outward expression of the result (the ui, the functionality), so if they can describe it simply, they think it must not be that hard for someone who is a supposed expert to make it quickly.
Alternative-Item-547@reddit
I usually equate it to a financial number so they understand.
Ex: Feature X is company A’s flagship product and their market cap is 20 mil with a linkedIn presence of 45 developers so this is quite an undertaking. Given X and the 1-to-45 dev disparity, it’ll likely take N*3 months or whatever.
Glum_Past_1934@reddit
People isn’t smart
FuckTheSeagulls@reddit
"It's only 0's and 1's"!
randonumero@reddit
Because programming has a lower barrier of entry. Even before AI creating a quick and dirty script in python or even javascript in your browser was quick and easy. Lots of people can't conceptualize just how much different it is to write something enterprise grade. For example, we had an analyst create a python program that scraped data from a file and created a report saving lots of time. They asked us how long it would take to build it in the application because if he could make that script we should be able to build it into the app in 1 sprint at the most.
throwaway0134hdj@reddit (OP)
The fact that we have bootcamps lessens the whole exclusivity of the field. Not that I want to gatekeep. But you’d never hire an aerospace engineer who did a 6-month bootcamp.
randonumero@reddit
In all fairness there are tons of software engineering jobs where you're just a user of some system or technology. In those roles 6 months of hands on experience is more than enough for your first job. For example, if you're just making CRUD apps you can learn than in 6 months for a company that doesn't have tons of traffic. Or if you're doing something like customizing service now flow that doesn't take a 4 year degree.
With respect to aerospace engineering, everyone in that industry doesn't design rockets and planes. I also went to college with a guy who eventually got a job doing environmental engineering. He told me a grand total of 0% of his degree prepared him for the work and he learned more on the job in 1 year than he did in 5 years of college
bstaruk@reddit
I've never worked with or met anyone who thinks software development is easy, besides seasoned software developers.
xDannyS_@reddit
From my experience, it started with the bootcamps and youtubers selling the idea that you can go from 0 knowledge to full on proper software dev in 6 months or less. Before that programming was seen as something super difficult to others. Now everyone thinks it's something anyone can pick up easily if they just stick to it due to all the bs ads selling that idea. Now another wave of that bs is starting with vibe coding. I'm sad to say, but it looks we will have to live with that public opinion for at least another decade.
SlightAddress@reddit
A tale as old as time.. it won't ever stop I'm afraid but you just have to lay it out to them.. don't talk about time scale.. that's something most people can handle. Talk about the COSTS, which include time naturally but the financial cost. Well need 2 extra devs so that'll be like 100k, databases 10k a month etc etc etc.. fastest way to shut down the conversation or find out how serious they are (great let's do it!!) Is to talk about the $$$
Goodie__@reddit
Software development can be easy.
Give most developers a clean slate, and a reasonable timeframe, and you'll probably get something close to what you want.
But software development, accounting for everything that goes along with it.... we can't freely rewrite code. Performance. Maintenance. Working with unknown code. Onboarding developers. Business requirements that change and flex. No forward planning. The multipliers add up quickly, and it starts to slow down to a crawl.
Advanced_Lychee8630@reddit
This is a chatgpt post. Look at the "---" symbols
throwaway0134hdj@reddit (OP)
Nah not AI that’s just the way I write. Guess I have to stop using em dashes since that’s what AI loves.
Advanced_Lychee8630@reddit
You are 100% lying.
Please people write message with ChatGPT and you will see the same symbols in the text.
Barrucadu@reddit
You know LLMs use em-dashes because they're sufficiently common in the training data, right? OpenAI didn't invent them.
throwaway0134hdj@reddit (OP)
Can’t tell if you’re trolling or not. But ppl used the em dash before gpt…
Advanced_Lychee8630@reddit
You have written this post with ChatGPT. It's very clear. The format shows it.
UnFuturoExpat@reddit
No idea. A friend of mine told me something to the effect of "a 6 month programming course is not enough", as if it was some great realization. Like, duh, what did you expect?
eggZeppelin@reddit
For most people software is purely a visual thing. You see a UI on a screen, you click and it does the thing you want.
Bottom-down thinking just fills in the gap and gives you a false sense of confidence of understanding.
If someone doesn’t really understand how anything works, electronics, biology, economics etc. Then relative to their knowledge of everything else, they are experts with their superficial, surface-level understanding.
You don't know what you don't know magnified to the extreme.
marx789@reddit
Your PM should be asking you for estimates before they provide quotes. At my last company, one of the head developers liked to say, "anything is possible with enough money," which put the cap on unrealistically time-consuming requests. Time is money, there's more than one way to skin a cat, if someone's proposing something absurd, give them an estimate and a more realistic alternative.
codescapes@reddit
I think a lot of it comes down to the fact we are "spoiled" by the big tech companies having thrown so much money at making their software.
Like you open your MacBook and visit Google to search for Amazon so you can buy something. You've just interacted with countless billions of dollars worth of investment but from your perspective it was 10 seconds of tapping a keyboard and clicking.
Back in the early 2000s people were not so used to high quality tech being absolutely ubiquitous. Even in the early 2010s social media was still relatively new, people had far less of a baseline and many people were aware of what old processes were like. Even the sites themselves were mostly worse because UX standards hadn't proliferated nearly so much and they had to be designed for much lower performance machines capable of less advanced things.
Now people expect big tech quality because it's what they're used to every day on the smartphone they're addicted to. Your inability to immediately deliver boggles their mind because it's like you're saying it's hard to find sand in a desert. They're surrounded by software systems in their personal life that miraculously work so well they don't even think about how much effort went into them.
mare35@reddit
Wow this is very true.
IndependentProject26@reddit
Most people that manage others or manage work but don’t actually do the work are not competent and more or less useless if not actively destructive. Good managers exist but are rare.
0b0101011001001011@reddit
A fair share of people consider all computer work "not working'. You just sit on the computer! How is that real work??
Also people see the google front page: "it's just a logo and search button, how hard that can be?"
cwmyt@reddit
Its hard to explain what we do to others who has no experience in dev work. Heck even my family members think that I have the easiest job in the world because I sit on the desk for 8+ hours a day working from comfort of home. Majority of people think that its hard work only when its physical work. Mentally tough jobs exists it seems is a myth for majority of people.
tmetler@reddit
It sounds like the company lacks process. How does a project get approved without a planning roadmap that exposes the steps and difficulty involved in completing the project? If management is not working with the team to get that produced, they are not doing their jobs correctly. Depending on your situation, you can take the initiative to create a roadmap yourself and present it to management, and the roadmap should make it clear that the requirements require many extra steps they did not consider.
throwaway0134hdj@reddit (OP)
Definitely there isn’t much decomposition of going on things like requirements gathering, design meeting, assembling a team with proper roles, timelines, sprints. But these are non-tech people they have no clue that you actually need those things, they are totally unaware. And when you bring that up they get upset because they think that will cost them more money and make things take longer. There is no concept that big projects need to be broken down into small chunks and departed out into jira tickets, or that you need a timeline of build releases, testing, iterative refinements of the software and all the other stuff that go into software. It’s just one giant blob that - it would be equivalent to me telling you to build TikTok - all the decompositions and logistics that would go into that is enormous.
tmetler@reddit
I don't think being non technical is an excuse. You don't need to be technical to understand that building something requires a plan. A housing development manager would understand they will need blueprints and a building schedule even if they never built a thing in their life.
Ultimately, you can't get them to do something they don't want to do. You know the solution and they don't want the solution.
xgme@reddit
Why do you care though? Over the years, many people told me so. I replied back with “yep, and it pays a lot. basically free money”
Why do you care?
frank3nT@reddit
I am exactly in the same boat as you OP. I feel your pain. Problem is that when you are trying to explain something is not that easy and and requires 5x more resources and time, they think that you are challenging them and creating blockers. Also big part of the issue is that they are using LLMs to brainstorm and find new ideas.. Once our Head came and asked to build AI Agents out of nowhere.. Everyone looked each other and somehow we dodged that for now. Another time I got asked to bring a new feature (an entirely new pipeline running ETL and ingesting data in the system) "that was going to be 3 days of work and an easy win". It took 4 months with lots of long hours and pressure.... It's a huge red flag when you see non tech people managing engineers.
AdecadeGm@reddit
The Dunning-Kruger effect in action.
ButWhatIfPotato@reddit
Everything is easy if you dont have to do it.
Qinistral@reddit
Everything is easy if it seems simple.
The way to enlighten others is to communicate complexity.
Often that can be done by just going through requirements and highlighting contradictions and uncovered scenarios and asking how failures should be handled.
If it’s mostly backend, that can be harder, but just itemizing a list of features and implementation requirements can go a long ways to illustrating complexity.
boen_robot@reddit
When I try to ask how failures should be handled... "This should never fail" or "Pff, that's an edge case, we don't need to worry about it"... Nope... It always comes back to bite you when you leave it unaddressed... Sometimes as early as on launch day.
Qinistral@reddit
Word.
Documenting the agreements can goes a long way:
- Thingy breaks in this way [ Signed off to not cover ].
- Thingy breaks in that way [ Signed off to not cover ].
Making it explicit can sometimes make them get cold feet and say 'no actually you should handle that scenario'. But sometimes your job is not to make a perfect thing but to SHIP and iterate and that is okay for some phases of a product/company lifecycle.
Other times, your coworkers are just immature or it's not a good fit and you should just move on if you want to work on higher quality software with sensible product owners.
throwaway0134hdj@reddit (OP)
I think part of it not being physical plays into it too. Like you can see that a bridge or a building is complex just by looking at and there are tons of documentaries showing the complex process — what we have? The Social Network and Silcion Valley that just glorify the stupid business aspects not the raw intellectual aspect of it. I don’t think I’ve seen any genuine documentary on what coding is actually like from ppl who do it.
CommercialCurrent657@reddit
A lot of people think software development is easy because, on the surface, it looks like “just typing code.” What they don’t see is the invisible complexity logic design, debugging, scalability, performance optimization, and constant learning to keep up with new technologies.
Unlike physical work, the effort isn’t always visible. You can spend hours solving a single bug or refactoring code that users will never notice but it’s what keeps systems stable and efficient.
Another reason is that modern tools and frameworks make it look simple. Tutorials show quick results, but real-world development involves architecture, security, testing, documentation, and teamwork all of which require deep problem-solving skills and patience.
In short, it’s easy to learn some code, but building reliable, maintainable software is anything but easy.
kakarukakaru@reddit
This is why working at a company where their profit driver is not technology is shit. It is tolerable if it is an outdated backwards thinking company like banks or just the government fields as a whole but when you get these "idea people" who just need others to "put it together" in non tech companies, it is always a disaster. They don't understand their idea is as useless as dog shit in the park without an actual engineer actually designing it to make sense first.
throwaway0134hdj@reddit (OP)
Tell me about it… it’s like having that family member who wants you to build them their dream app… except it’s your managers and you can’t say no…
darkstar3333@reddit
The best skill to learn is managing expectations.
Your one guy, your not enough people to keep the lights on. To many non technical folks, we might as well be wizards/warlocks.
Ive always found asking how many people were involved in these customer deals end to end. You'll get a small number but then get into the whole sales cycles and you'll get a dozen.
"It it take twelve people to sell it, why would you think I can build it alone?"
23tux@reddit
I found this tale pretty useful over the years https://thecodelesscode.com/case/154
Fuzzy-Alfalfa4726@reddit
Company found Replit and now think development is a prompt away. Also found out that they had someone working on an app that was also including API keys directly in the prompts to Replit.
defmacro-jam@reddit
People tend to discount the value and difficulty of what they don't know or haven't experienced.
x39-@reddit
Because you can hire some Indian dude for 5 bucks on fiverr to create your "entire app", so why can't you fix the printer.
zarlo5899@reddit
Because its simple and most people think simple is same as easy
throwaway0134hdj@reddit (OP)
What gets me is they never seem to consider RBAC or why we need set policies on all our resources. It’s looked at as a blocker - up until data gets stolen... The whole tapestry that is the RBAC hierarchical of cascading chains of authentication flows of sequential dependence, like X needs to checks Y’s permission to a resource which has an interdependence on Z and so on. They don’t want to hear about it…
forbiddenknowledg3@reddit
Either they are inexperienced, or malicious.
I say the latter because they have learnt there's high upside for them (deliver this massive impossible project) with minimal downside (they can blame the devs).
Educational_Smile131@reddit
Whenever my coworkers were amazed at how seemingly easily I fixed a bug, I’d always tell them, “I’ve probably wasted more time struggling with bugs in the past than you’d ever programmed in your life”
Practice makes perfect. Together with a tad bit of talent, you’ll make everything look easy to the unknowing
iggybdawg@reddit
I think AI is making this way worse. Anyone with half a brain can vibe code an impressive demo.
But then they won't be able to scale it to twos of users that do unpredictable things, or prevent it from immediately getting hacked on the Internet, or add the next feature without breaking the first feature.
throwaway0134hdj@reddit (OP)
Some of the business folks have been using AI tools do “develop” localhost html apps. And so get upset that the dev team can’t be producing better. They create super novel stuff that they are impressed by.
YesNoMaybe@reddit
Yup, teeth then that looks great. Now and authentication, make it scalable to hundreds (maybe thousands) of users, include telemetry for debugging even things don't work exactly right, minimize storage so your AWS bill isn't $10k a week for moderate use, and handle the thousands of small things you didn't think of while telling vibe what you wanted.
And after you've done that, do it all again because sales has sold a new feature to a client that doesn't work at all with the architecture that vibe went with.
csthrowawayguy1@reddit
I think this is the funniest part. They’re like, “look I told ChatGPT to make a website and I saved it to an html file and it’s showing up in my browser, is development really this easy????”
throwaway0134hdj@reddit (OP)
I think that’s pretty much the extent of how they think. If you aren’t taught about database, scaling, security, authentication/authorization. Hell, even version control they questioned why we need that opting to have everything “lean” and “streamlined”. I know it’s trite to say your manager is an idiot but that’s the kind of stuff I have to deal with and they are very firm in their ways.
avm7878@reddit
I was once told, “Just make it like Google!” They couldn’t grasp why our team of 5 engineers couldn’t build Google in a few weeks…
otakudayo@reddit
Haha! This is too real for me. My UX designer once created a concept that was basically Google forms. When I tried to communicate to her how complex this was, she literally said, "Well, google managed to do it."
In the end, I did it, and I am actually still to this day really satisfied with the result. It's one of the few pieces of work I've done in my career that I remain proud of, as opposed to the embarrassment I usually feel over my past-self's code, lol.
mugwhyrt@reddit
You have a text field that takes some words and then you just return websites that have those words. How hard could it be? \s
zombie_girraffe@reddit
Google.com only has about 10 words and a text box on the front page, how hard could it possibly be to build that? I'm not even asking special holiday themed graphics, for Pete's sake!
CompetitiveStreak@reddit
Because they see you sitting at a desk, staring at a screen making big monies. They can't comprehend you're the foundation of the entire business and that decisions you make the entire company lives and dies on.
12_nick_12@reddit
AI, it’s like flying a plane. The computer does it all /s
WobblySlug@reddit
Sit them down on your chair and say "OK, go for it then".
qwertykeith@reddit
Without knowing all the details, this problem looks familiar so I can give you my 2c.
There is a huge amount of people out there (including many bosses) who think software developers only write code and build what they are told. The result of this attitude is that unqualified people above you will hand down instructions expecting software to pop out exactly as they specified.
They are 100% wrong. Software development is mainly about working out the right solution to someone's problem, coding comes later assuming the eventual solution even needs code in the end. In a way you could be making things worse for yourself by only saying yes or no to everything purely based on whether you can build what they ask.
It doesn't have to be that black and white. As software developers it's our responsibility to deeply dive into the reason they are asking for what they are asking for and to get to the bottom of the problem they _need_ solving. Once you have that info then you can use your expertise to design a solution that is both achievable in their budget and also solves their fundamental problem.
I guarantee if you spend some time to research, talk to a lot of stakeholders and come back to your managers with a proposal that does the job and is cheaper and quicker than their idea they will take it. Bonus points if it can be done in small testable chunks that they can check and guide along the way.
If their requirements are Google or OpenAI level then maybe there are some Google or OpenAI services you could use instead of building bespoke? Most of the time I find that wiring the right services together to make a system is a much more pragmatic way to solve problems than making the software yourself.
DeterminedQuokka@reddit
Clarke’s law: Any sufficiently advanced technology is indistinguishable from magic
If you don’t understand how it done then it must be something people can magically do. Every other time they asked they got the thing they asked for.
throwaway0134hdj@reddit (OP)
also they don’t understand process or how things need to start small, they just want the whole thing in one giant blob now. I think it’s Gall’s law that says you need to build off smaller systems that work to build bigger systems that work.
radarthreat@reddit
Who thinks it’s easy?
CampIndecision@reddit
Programming is easy. Engineering resilient, performant, scalable, maintainable systems with someone breathing down your neck about deadlines (while failing to give you proper requirements) and treating anything short of perfection as utter failure is what makes this field hard.
Distinct_School_4059@reddit
AIが簡単かわからないけど、将来動いてられるかな?smilerがつかないからだ。?softwereを、更新を、入れ替える。dev が、動いているかな?
PhilosophyTiger@reddit
It would be easy if it weren't for all the time we waste working around dumb decisions we made in the past when we didn't know better.
It does become easier the more time we spend undoing the dumb things we did in the past when we didn't know better
gomihako_@reddit
Plenty of technical stakeholders also have the "its easy. skill issue" toxic mentality.
Leverkaas2516@reddit
I've never experienced this in 40 years of software work. This sounds like a case of a startup environment putting pressure on an inexperienced dev to work harder.
If anyone ever tried to write a check that the dev team can't cash, I'd tell them in no uncertain terms that it's their problem, not mine.
codyswann@reddit
This isn’t unique to software. Most people think any job they don’t do is easy.
Darkitz@reddit
Have you heard the story of how many people/men think they could land a plane?
eggrattle@reddit
This is when a good PO and/or delivery lead is worth their weight in gold. Unfortunately sounds like you are all those roles.
It's therefore an opportunity to work on your communication skills.
If they still can't wrap their head around it, communicate, document and when the inevitable conversation happens "why is this delayed" you pull out the previous emails detailing where and when you explained it ask, and unreasonable timeframe.
You are the expert, be one.
MsonC118@reddit
My answer to these types is always the same. I usually encourage them to try it themselves. I genuinely am not afraid of these types, because I remember the days when I was this ignorant lol.
My most impactful work was only a few lines of code, but took me a week to figure out. Those few lines of code delivered 8 figures in value to my employer and allowed us to grow 400% in headcount. Whenever I hear someone talk about "I can do X lines of code," it's usually very telling.
IntroductionTotal767@reddit
Its the most learnable discipline w a lucrative income. People mistake that for if being easy, period. Being a SWE is easier than being a doctor, lawyer, journeyman or similarly salaried position, but its not actually easy easy. Thats where the misunderstandings and failures crop up. Its one of the few six figure jobs you can teach yourself w no academic or financial intervention from others, but the secret is you actually DO have to master it before getting out there. People mistake low barrier to entry w sustainable ease
DaRubyRacer@reddit
Normal people don't think software development is easy, they respect it. Managers don't care if it's easy or not, because that's not their job. Their job is to pressure you into getting as much work done as humanly possibly, and then some.
DanielDimov@reddit
Software development is easy.
Quality software development is hard.
newrandreddit2@reddit
Frankly shocked at these replies. It is easy, it's the cushiest job I can imagine and I'm really glad to be in the industry.
morgo_mpx@reddit
Software development is easy, but it’s tedious and time-consuming to avoid foot guns
YetMoreSpaceDust@reddit
I think that for the most part, people think of software development as being sort of like speaking a foreign language or playing a musical instrument: takes a while to learn, but once you "get it" you can do it effortlessly. They see programming computers as akin to translating vague business descriptions into programs as if translating English into Spanish or translating sheet music into a piano performance.
davwad2@reddit
I take comments from folk like that with a huge grain of salt. They're welcome to take a tour of the code at any time.
They lack context for what it takes to get things done. I've got a bit of a petty streak in me, so I have to restrain myself from throwing their words back at them at every chance.
Global-Resident-647@reddit
Most people think everything is easy.
That is why we have no appreciation for the watermanagement, science etc
As well as people not believing in science.
"oh that is easy" = I don't know anything about it.
Realjayvince@reddit
No one that ACTUALLY does this for a living thinks it’s easy.
The ones that see people on the internet saying they’ll graduate with a comp sci degree and earn 100k a year are the ones that think it’s easy
morosis1982@reddit
The way to combat this is to lay it out.
If they ask you to build something, you start with the brief, ask some clarifying questions, build a mudmap of a potential design and ascribe effort to each piece.
Then you get them to write out all the user stories and interactions - they are the domain experts supposedly.
Then you grill them on the half arsed stories with no detail such that you have a full spec for a single feature. Then you show them the board that describes all the other features that are yet to be specced.
Then you give each one a size and show how long they take. They've also definitely accounted for time to do QA haven't they?
johnpeters42@reddit
"Here's a ChatGPT window. If it's so easy, you do it."
kagato87@reddit
Because they have no idea what they're talking about.
Anything as a solo dev is challenging, even things that are actually easy, because you can't properly review your own work and it's easy to logic yourself into a corner when there's a simple solution right there staring at you...
Spell out some of the complexities. Or better yet, ask them "what's my budget and how long will it take to get you or hr to get me some candidates? Adding two seniors to my team should be enough to deliver that in under three years."
When people won't take "no" for an answer, set a price high enough that actually would work (full Scotty estimate here for sure).
"Hey, how do I get your job? It seems like it should be really easy."
bwainfweeze@reddit
Among other things I swung a wrench for a bit in college and the difference in skill between being able to finish a task and being able to make a profit off of the task was very eye opening. I wonder how many people really appreciate that before they start their careers. A sample size of one or two doesn’t make one very wise.
bwainfweeze@reddit
For the same reason everyone thinks writing requirements properly is going to take a third as long as it always does. And why people are always so surprised by how much money lawyers make.
Humans think they are explaining themselves when they have explained nothing. They know what they want, and the moment they’ve convinced themselves that you do too, they prioritize other things. I suspect it’s also because negotiation feels like an argument.
And most days we aren’t coaxing the stupid computer into doing what we want, so much as we are having an argument with it about what we want.
jambalaya004@reddit
This reminds me of the time my in laws thought since I worked from home and sat at a desk all day, that I could freely take the day off to golf. Their reasoning was that I type all day, and it doesn’t take long to type things.
Sorry op, my thoughts go out to you.
olzk@reddit
> I am always sort of at a loss as to how to even respond
ez. Just tell them if it’s easy for them, they can do it themselves
Hace_x@reddit
Run Forrest, run!
Nutasaurus-Rex@reddit
My CEO used to be like this. Until he tried to vibe code an MVP of a new platform he wanted me to build and he crashed and burned. I think it really humbled him
Responsible_Boat8860@reddit
You sound like an overachiever doing everything at break neck speeds. Working like that will make this the new norm and expectations and will contribute to burnout. I suggest you slow things down and start giving more generous estimations. If things are too complicated or complex, start pushing back on bad ideas.
FluffySmiles@reddit
True, but then you also have devs telling stakeholders that it's going to take a couple of months to implement what is effecgtively a vectorised search in a postgres database.
Pendulum swings both ways, you know.
RedditNotFreeSpeech@reddit
Shit's easy syndrome. It's a serious condition and I haven't heard of any cure.
Any-Neat5158@reddit
The average person is blissfully unaware what most of these positions really are. Think about it. Most people lump everything under "oh... they're in IT". A blanket term used to described dozens and dozens of different roles and responsibilities.
My own sister in law actually, dead seriously, asked me this question once after making the comment that I don't actually have a job.
"What do you even do? How often does the internet even break?"
This is a woman who has heard, on several occasions, that I'm a senior software engineer.
I wasn't sure if I should be flattered that she thought I was responsible for the entire internet, or bewildered that she really truly understood even that much less about the whole thing than even an average person not in the field.
fued@reddit
Because no one breaks it down for them, get requirements and build out a list of user stories and tasks and ask them which bits they wanna cut, and suddenly they realise what the issue is
-shrug-@reddit
For family: they come to me with the hardest problem they have that they can’t even imagine solving and I give them a solution because it’s like “can you make it so my phone doesn’t show me when I get new emails if it’s after 6pm?” So if the hardest things they have are easy, what else could make my job hard?
throwaway0134hdj@reddit (OP)
“It’s like Tinder but for pets”
-shrug-@reddit
So you want me to implement an interface for the dog to use?
throwaway0134hdj@reddit (OP)
“It should be able to read the animals mind, cmon bud, we aren’t talking rocket science here!”
-shrug-@reddit
For PMs: same, but I also tell them that tiny easy requests like “move that button a few pixels” are flat out impossible 😂
chillermane@reddit
Honestly I think it’s easier than a lot of experienced people think it is. What I’ve seen in my career is that software only becomes hard because someone did something to make it hard - either a convoluted design, premature optimization, lack of discipline in the codebase.
Using microservices for no reason, using well known antipatterns within frame works, deciding to build something with very complex behavior that no one really needed.
The truth is that 95% of software is just straightforward stuff with a small amount of novel problem solving. As long as your fundamentals are decent you can make it pretty far for nearly all use cases.
Maybe a hot take - but usually when it’s hard it’s because we made it hard not because it had to be that way
throwaway0134hdj@reddit (OP)
No I get that, but we aren’t talking about simple asks. I was asked to build a tool that predict the stock market using AI with near perfect accuracy.
whyisitsooohard@reddit
Well, that’s not a hard task, it’s literally impossible. But other than non existent super ai software part would be very easy
throwaway0134hdj@reddit (OP)
And I wish I could say that was the worse. We are talking about things that are statistically non-probabilistic or deterministic. Like people aren’t using basic logic and just saying whatever comes to mind. It’s maddening hearing what they ask for, manager agreeing to it, and then it’s on my plate to figure the thing out.
shelledroot@reddit
Complexity can increase time, but easy doesn't automatically mean fast.
Early-Surround7413@reddit
Agreed. But you're getting downvoted of course, lol. Because devs have been fed a steady stream of bullshit how they're doing God's work and how dare you question their brilliance. It's such a circle jerk.
RandyHoward@reddit
It's not that hard, but a load balancer isn't the solution to all scale problems either.
sonstone@reddit
AI has amplified this, but even before that people would do a code academy tutorial and then extrapolate that all coding is that easy.
bgeeky@reddit
Concepts can be easy to understand but implementing can be “hard” in the same way that redesigning a bathroom layout is “not simple”. To be fair we are not talking about landing a rover on mars level of difficulty. I think there is always a way to explain to a lay person in a context they can understand with more depth. Software development isn’t hard on the larger scale of difficulty. People aren’t idiots just because they don’t get it right away.
throwaway0134hdj@reddit (OP)
No it isn’t rocket science but there are some things that just aren’t feasible with the tech we have. Like getting access to streams of live data — predicting stock market with near perfect accuracy. You have entire research departments dedicated to this stuff and they are expect that from me and few inexperienced devs. It’s the overpromising and therefore overwhelming feeling of hearing them say “yeah we can do xyz” without even checking in on the devs on the feasibility.
bobsbitchtitz@reddit
I'm guessing you're new to this? This is very common and I doubt they think it's easy more so they don't give a shit and are driven by A) their targets B) their bonus and C) promotions
throwaway0134hdj@reddit (OP)
Boss is a narcissist and very low on the empathy side but very high the unrealistic demanding side.
AlexFromOmaha@reddit
I think I've told upwards of 100 people that they should learn to code for personal reasons. The first thing out of their mouth is usually something like "but that's hard and that's why programmers get paid so much," to which I usually reply something like, "It is hard, but the code is the easy part. I learned to code when I was literally 6. My dumbass kids learned to code in third grade. Surely you're smarter than a brainrotted third grader."
This is basically the inverse of that. Anyone can code if they care enough. I hope that all the vibe coders of the world do learn some Python and Javascript along the way and contribute to a culture where we all use our computers as the fully programmable machines that they are. That doesn't mean the rest of the work keeping the infrastructure afloat stops existing. It doesn't mean the data they want exists in a decent format. Maybe the data does exist, but the UX is what's going to kill the project.
I find that a lot of people are pretty comfortable with those constraints, though. If they keep insisting it's easy, stop and consider if they're right. Even nontechnical staff might know a lot about how easy what you think you can't do is to approximate or retrieve. Just keep asking them for what you need until the two of you agree on LOE.
throwaway0134hdj@reddit (OP)
I feel like a big part of the mentality I describe stems from laziness and impatience. A lot of managers are trying to impress clients and want instant gratification. Like they apps all day long and think “well how hard can it be”? They think coder — but don’t separate out all the roles like frontend, backend, devops, IT, QA — all the same. So you get odd situations where one person is asked to build a Google clone because some narcissist boss promised it to the client.
yourparadigm@reddit
Product managers have inferiority complexes and overcompensate.
chaitanyathengdi@reddit
Sounds like you are working for the wrong people.
serious-catzor@reddit
Don't say it's impossible. Put it in real numbers. Crrate a timeplan with all work that is required and put numbers on them. Explain what can be done easily and what is hard. Present alternatives such as doing only a subset of the request or other solutions and what the difference is in time and result.
Before you actually do it, propose that you take a day or a few to do it so they sign off on it in case you need time.
Usually when you put it in excel, managers listen😎 because then you're speaking their language.
mugwhyrt@reddit
Something I've learned is there's a (rough) inverse relationship between how hard something actually is to implement in software development and how easy non-technical people think it will be. I think it's partly because the kinds of things that are easy for humans are hard for computers and vice-versa. A non-technical person might think, how hard could it be to list all records of type A that meet conditions X, Y, and Z. But you as the technical person understand that "record type A" doesn't really exist on the back end, it's a combination of separate tables and trying to filter for conditions X, Y, and Z at the same time while avoiding duplicates or false-positives/negatives is a whole thing. The inverse would be assuming it will be hard to implement some known formula to be applied to a given field from a single table. That's usually very easy to do, but non-technical people might assume it's going to be hard because the formula itself is complex and calculations are hard for humans to do. I've even seen non-technical people be wary of asking for a simple change to a label in the front end. I'm glad they were wary and open to the answer that it would be hard, but from a software dev's perspective it's kind of funny because obviously it's easy to just change a piece of display text (and if it's hard you've screwed up somewhere up the line).
Non-technical people don't learn how to think like a computer, which is what software engineers/developers have to do.
The other issue, and I've said this a million times and I'll say it a million times more, is that it actually is very easy to write code. What is hard is writing code that doesn't blow up down the line in some unforeseen and/or expensive way and that meets the nit picky needs of the business. A lot of non-technical people are now seeing LLM-generated programs that seem impressive if you don't have proper context for how that thing was trained and how easy it is to have a program that works before you start introducing more real world requirements. I remember the LLM demos from a bit back where they'd ask it to generate a Pong clone or something similar. So many people thought it was amazing because it would just generate code for this working arcade game in seconds. But that's a silly example because first, there's a million pong clones out there and the AI is just regurgitating some version of that known code. Second, Pong is not that really that complex (especially now that we have libraries that make graphics display and user input straightforward), and it exists independent of the real world and preexisting code. It doesn't need to map to data representing real world users, states, and business practices, and doesn't need to integrate with an existing code base. So it's easy to make something that works in a vacuum. And third, oftentimes the request made to the programmer is not as straightforward as "Pong clone". They might want some process X implemented, without understanding that really it's not the process that they want but the outcome Z. Being able to discern the difference between what someone is asking for and what they actually want is something that requires technical expertise, general familiarity with the business/industry and existing processes, and how to communicate with humans in way that doesn't just take everything they say at face value.
Once you get past all those caveats, the code itself might still be pretty simple and straightforward to write. It's just that non-technical people don't see all the intellectual labor that goes into refining and determining those requirements before you sit down to the write the code. And they also don't see the necessary labor of testing that code from a million different angles no matter how sure you are that it'll work and you understand what needed to be done.
throwaway0134hdj@reddit (OP)
For this reason I always act like the simple things are harder to do - as to hedge against future asks that are inflated. That works until another dev gets wind of it and tries to usurp me.
WeekendCautious3377@reddit
Dunning Kruger. Same reason why a 5 year old asks why we can't get to grandma's faster. If we just gas the paddle the whole time, we'd get there twice as fast. Every non-engineer thinks we can nail some 2x4s together and build a bridge.
throwaway0134hdj@reddit (OP)
What blows my mind is how at least my managers are basically that, children.
psycorah__@reddit
This is what oversaturation & politicisation of a field does.
paerius@reddit
Because people think software dev = coding, and anyone can start coding.
koreth@reddit
People think lots of jobs they don't know how to do must be easy, because they only see the end results and the mistakes.
I don't see non-programmers spouting nonsense about programming being simple as fundamentally different from people who've never tried running a large organization spouting nonsense about replacing CEOs with ChatGPT.
thomas_grimjaw@reddit
Apart from what everyone else already said, laymen overestimate the roles of LLMs and think our job now has been fully automated and we don't do shit anymore.
xXxdethl0rdxXx@reddit
“Thing I don’t understand? Pssh, how hard could it be?” Is not unique to non-engineers, and guess what—we do it all the time to other people.
moxxon@reddit
I've banned Product/Management from saying anything analagous to "You just have to do X" when discussing changes at some companies.
IdealBlueMan@reddit
When I walk into the office, I leave the words just and only at the door. It’s unkind and even demeaning to hand a task to someone and say, “this’ll just take you five minutes.”
moxxon@reddit
It's always the people that aren't doing the work using that language.
It's actually not an issue where I am not, but some of these places...
Western_Objective209@reddit
I think a lot of non-technical people get a "it's not possible" message from those who are technical, and it turns out it really meant "I don't want to do it" or "someone else could figure it out", and they become jaded. It's not limited to tech; like I see economists or stats folks do the same thing, describing things as impossible that are just ideas they don't like.
Now a lot of times, the ideas are genuinely bad, and should be discouraged, but it's pretty rare that things are legitimately impossible.
PileOGunz@reddit
If a developer says it’s impossible it usually means it would be so difficult and time consuming you wouldn’t even entertain it and they’d rather not spend an hour explaining to you why this superficially simple task is in-fact difficult.
Broomstick73@reddit
Because “it’s all 1’s and 0’s! How hard can that be?”
Regular_Zombie@reddit
There are lots of good arguments already presented. When I encounter this in the workplace I either ignore it or invite them to pick up some tickets to speed the project along.
_lazyLambda@reddit
I honestly think when cracking the whip (asking for more) its easier and leads to more output when you practice ignorance. Ive worked at companies with insane turnover where they just demand the sky out of everyone. Surely people are putting in more hours than paid for, burning out, then getting replaced
forgottenHedgehog@reddit
The same reason why developers think every role around them is easy or worthless. Ignorance.
throwaway0134hdj@reddit (OP)
I don’t look at a doctor and think that’s simple. Or a civil/mech/aerospace engineer. For some reason the field of software development is looked at with a totally different lens.
forgottenHedgehog@reddit
The barrier to entry has been pretty much non-existant for many years.
throwaway0134hdj@reddit (OP)
Why don’t we have licenses in this industry? And a union. There appears to be zero vetting in this industry. No other industry do I see bootcamps for (6 months to a Google SWE job). Makes it saturated and also makes it seem easy.
forgottenHedgehog@reddit
I don't see licensing as valuable myself, there's a ton of people with degrees and certificates who quite frankly are useless. I don't see why licensing would be any different.
tinmanjk@reddit
QA is difficult, Scrum Mastering too
0verlordMegatron@reddit
It’s usually blue collar workers who think any type of job working at desk and computers is easy work.
uber_neutrino@reddit
Maybe work for people that aren't idiots?
Otherwise you'll need to explain to them what it would take to build what they are looking for. Give them the kind of detail where they started to understand. Personally though life is too short...
TheOnceAndFutureDoug@reddit
When people don't know what it takes to do something and the people they interact with who can do it make it look trivial they often assume that's because, to some degree, it is.
In my experience the people who are least likely to do this are the people who also do something highly technical or otherwise requiring a high degree of skill. They know that the ease by which you do that thing is indicative of the work you did to get good at it, not the ease of doing the thing.
Stock_Cook9549@reddit
Cuz you dont need to swing a hammer or be on a roof all day in the hot sun to do it. A/C and work from home.
webby-debby-404@reddit
They're not people, they're managers. A lot of them are narcissistic and blow up their ego to protect it from the consequences they fear when it comes to light they don't know anything about the matter they are leading.
jcradio@reddit
It's an age old problem. There are two words I don't allow in software. Quick and easy.
Lgamezp@reddit
Disastrous-Double880@reddit
Because you're massively massively overpaid
Nofanta@reddit
I did it for almost 30 years. I’d consider it easy. I think nearly anyone could be taught to do it. The first generation of software developers were basically secretaries. It didn’t get any more difficult, it just exploded in popularity and paid really well for a while so it attracted better educated people.
FuckedUpImagery@reddit
It is easy, whats not easy is working with other people on a huge project that has 20 years of technical debt.
Today theres so much hand holding and babying id be surprised if a baby couldnt write code these days.
claytonjr@reddit
I remember the old "my code is compiling" excuse to get up, drink coffee, and chat up others. This is probably why others think it's easy.
DualActiveBridgeLLC@reddit
Devaluing labor is a trait of society since forever. It helps to build hierarchies that justify taking the value of the labor instead of giving it to the person who is skilled. Combined with ignorance on how to perform the labor and you get modern software developers being treated like an idiot can do what we do.
My favorite example is the 'idea guys'. The people that think they deserve the majority of the value of a project because they came up with an idea rather than the people that made the idea a reality.
throwaway0134hdj@reddit (OP)
That’s exactly what I am dealing with. They say I am an “ideas only” guy and say I leave the rest up the smart guys like you all.
DualActiveBridgeLLC@reddit
I would go super-professional and fall back to formal software development. What you are trying to do is show them that software development is a profession, a profession they don't understand. If they give you an "idea" tell them to make requirements.. When they make requirements incorrectly, tell them "these are unactionable" and that you will help them and then do a great work breakdown. When they want a status update tell them story points. If they get confused tell them this is agile software development. Bury them in in real development language. I hate doing this shit, but sometimes you have to make them look like they don't know what they are talking about because they don't. Bonus points if you keep pointing to modern software development techniques and how your organization is doing kiddie shit.
throwaway0134hdj@reddit (OP)
It’s hard to not feel that the business folks simple look down of developers - like we are just code monkeys and nothing more. Which is crazy to me, they think what they do is superior. I am not saying that they couldn’t learn it, I think it’s more of an interest/passion thing rather than talent, anyone could learn this. But they think what they do is special and irreplaceable or they have some special communication/sales ability that is unreachable and a god given gift. It’s tough because I am on the introverted side and just like to code and work on interesting problems while all they do is talk.
marzer8789@reddit
That's the whole situation, OP. People are fucking dumbasses, basically.
bjenning04@reddit
Instead of telling them no, break down the task with estimates (in member weeks/months) for them so they can see the complexity in black and white. Then they’re the ones saying yes or no, and which features to compromise on for the sake of time. In my experience, this approach works much better than just saying yes/no to a whole idea or project.
DowntownLizard@reddit
List out in detail all the things they just asked you to do from a technical perspective and roughly how long those would take if possible. Seems like that would help bridge their understanding. Could even get into shallow details of day to day if they really arent getting it
ninetofivedev@reddit
I’d argue most people don’t.
QuantumCloud87@reddit
It especially gets on my nerves when you tell them it’s not simple and they complain about a lack of information. Then you tell them why it’s not easy and they complain they don’t understand and it’s all gibberish to them.
bloudraak@reddit
I look at it from a complexity lens. There’s accidental and “necessary” complicity. Most applications I’ve worked on in my life were solving simple problems, in that there is no inherent complexity in what the business is trying to achieve.
Yet when we implement it, we introduce so much accidental complexity that it becomes hard.
TiredDev1927@reddit
Agreed. I am so sick of my product managers and leaders. Things I do:
We all know “estimates” are a bad faith ask. If they ask me to benchmark a user story, my answer is always “one day” with a smile. If it takes me a day, a week, a month? That’s not my problem. It’s their job to balance the stakeholders, and work takes as long as it takes.
If they insist on a deadline? I’ll meet it, happily! Does that mean I’m going to break a bunch of stuff when I merge, or that I’ll ignore half the ticket? Absolutely, but again, not my problem. They want to squeeze me, they live with the results?
They want my “opinion” on a ticket? Again, not my problem. They want to be the boss, they get to. I’m just going to do what I’m told. Did they accidentally phrase something in a way that it’s infeasible, or I’ll break the code? Sucks for them, that’s what they get.
Fundamentally, you just have to manage up in these situations. I just let them stew in the consequences of their misunderstanding.
That-Horror-6280@reddit
People tend to think that any job in which you stay at an office all day and at home (which is a plus) is easy
My whole people think my job is easy cause i am "at the air conditioning all day", for them that automatically makes a job easier lol
Djelimon@reddit
Because once we put a word to something, we think it's simple. That's how we think as a species.
Turning on a lightbulb is easy once the infrastructure is in place, so we think it's simple because that part is someone else's problem.
Embarrassed_Quit_450@reddit
Dunning-Kruger.
SD-Buckeye@reddit
Coming from HW/Electrical & Computer engineering I would say its a lot easier. But I wouldn’t really call software development easy for people coming from a non technical background. Depends all on what direction you are coming from.
amesgaiztoak@reddit
Tech influencers and social media
Deranged40@reddit
https://www.stilldrinking.org/programming-sucks
This is over a decade old now. But I still go back to read this whole blog post from time to time. This isn't just a blogger, this is a true wordsmith who wrote this. It's "uncomfortably accurate" at times.
GronklyTheSnerd@reddit
When I started my last job, I sent that, and some excerpts from The Mythical Man Month to my new boss. He was super reasonable after that. Lasted about two years, so I guess it wears off and needs to be reapplied.
JustPlainRude@reddit
You are being difficult. Provide a time/personnel estimate commensurate with the request. Saying something is impossible isn't helpful to their understanding.
Ab_Initio_416@reddit
Dunning–Kruger effect
kalexmills@reddit
This is literally why we have Engineering Managers. The people managing engineers need to know what it takes because they've been part of doing it before.
BEagle1984-@reddit
Because software development IS easy nowadays. Every 14 years old can download a framework, link two libraries and build a functioning software. Even more now with AI.
Software engineering is harder. Software design and architecture are harder. Developing with quality attributes in mind, coding for maintainability, integrating quality practices in the workflow, etc.
NorCalAthlete@reddit
How much is your engineering lead - or you, in lack of one - involved in requirement documentation and planning?
throwaway0134hdj@reddit (OP)
It’s run by business managers. Engineers arrive after they’ve finalized stuff. We often run into situations with the client where we don’t have proper tools or access to data. Or like I said, the managers overpromised what we could deliver within a timeframe - a lot of the devs end up working absurdly long hours.
NorCalAthlete@reddit
Your lead / architect / SOMEONE should be involved in fleshing out at least high level requirements before it gets shoved onto the dev team to actually start building. Is there no sign off process / intake process in place?
Darkmeir@reddit
Who thinks SWE is easy? Clowns. When has engineering been easy? Engineering and medicine are among the hardest fields
maxip89@reddit
build 70% is very easy.
build the rest is very very hard.
People start and see how easy the 70% is.
private_final_static@reddit
Bro its just an app like facebook but for clowns, just copy paste it or something. Should take you a weekend
DeadlyVapour@reddit
Two videos that sum up why programming is difficult.
https://youtu.be/FN2RM-CHkuI?si=880EYXDR0uJ2UAO_
And
https://youtu.be/l3nPJ-yK-LU?si=pjD6mHKfNm651P_h
If numbers string and dates are already this hard...think about what everything else is like.
If making a sandwich is this hard, think about how hard everything else is.
toronto-gopnik@reddit
Same reason think that if they can cook a nice meal then they're ready to be a Michelin star chef - poor grasp of scale
lokaaarrr@reddit
Always try to work for companies run by engineers
throwaway0134hdj@reddit (OP)
Yep that’s the way…
pacman2081@reddit
Assuming non-technical managers are intelligent, it is not difficult to educate the majority of them. The real problem arises when some software organizations are lazy and take advantage of the non-technical managers. Then the non-technical managers realize they have been taken for a ride. Then the problems arise.
tomqmasters@reddit
Anybody who sets their mind to it for a couple of years could learn to do at least one of many software development jobs. It's not always rocket science.
Alternative_Work_916@reddit
"I'm the only person you know capable of doing this."
Immediately ends any conversation about how I spend all day at home doing nothing.
checkin_em_out@reddit
If it were easy, they’d call it you mom
natescode@reddit
Because code is text. A monkey or AI can write text. There writing code must be easy.
pund_@reddit
I also had technical bosses saying "it's simple" but usually it wasn't .. Easy to say things are simple if you don't have to execute on them.
throwaway0134hdj@reddit (OP)
Exactly, they aren’t doing any of the work. They say they are “ideas only” type guy.
National-Butterfly44@reddit
Change job. I never do work for anyone who says ”it should be easy” Especially non-technical.
who_you_are@reddit
It looks like they use their eyes only and don't think what so ever with the logic behind.
The most stupid example would be filling up your tax return. For them, it is just to add one button that would do everything for you...
Not even thinking that taxes are a pain in the ass by itself, then the code...
throwaway0134hdj@reddit (OP)
Yeah anything that has to do with tax calculations/geography and time is always a PITA.
hangfromthisone@reddit
As a dev is pretty straightforward to feel in your skin what is to face the unknown constantly, you get used to it, mold to navigate wild unexplored realities.
Is that package still maintained? Will someone 2 years from now be able to expand/replace this? What will happen when they realize that new feature is a breaking change? Shit what will I do when some bad actor tries to break the app or abuse the system? Will I get called with my feet in the calm shore of a blue sea contemplating a peaceful yet overwhelming sunset and existential bliss of knowing I'm just a funny mix of atoms shaped asittle more thatb smart oh so aware chemical reaction and the cleaning lady unplugged the wrong router so half the client's salesman can't sell? Who you gonna call?
throwsFatalException@reddit
If it is so easy, then ask them to show you how. I am sure you will get quizzical looks and backpedaling.
Forward_Original_926@reddit
Non technical people have always had a pentiant for thinking code is easy to write. Nowadays with AI this bias has had a rocket shoved up its arse and it’s currently orbiting Saturn!
im-a-guy-like-me@reddit
Desensitization. Bad tech fails, so people only interact with good tech (for the most part). If every piece of software they interact with can do X, then X must be easy.
shill_420@reddit
well... if that doesn't look good to the person signing your checks, maybe they shouldn't be the one doing that...
Gunny2862@reddit
For most people, it's a black box where stuff happens that they don't understand. Some people just assume the more you type your keyboard the more work actually happens.
ghost_jamm@reddit
Obviously a good manager should seek to understand what it is they’re asking of their employees and push back against unreasonable requests, but absent that, it kind of falls to you. Write up a technical document showing what is required to implement the feature or app they’re requesting and outline in detail how long each step would take and why their request and/or timeline isn’t feasible. Maybe it doesn’t work but then you have a paper trail showing that you advised them it wasn’t feasible and they plowed ahead anyway. The blame at least shifts from you to them.
throwaway0134hdj@reddit (OP)
They is a clear lack of accountability, responsibility, and technical expertise. A lot of kicking the can down the road, passing the buck, and tossing people under the bus.
It’s majority business people asking the world from a few developers with not a long to experience under their belt.
ghost_jamm@reddit
That’s what I’m saying. Starting writing up documentation. Maybe the managers don’t listen but at least you’re covering your own ass.
2053_Traveler@reddit
Yes, but people do this to all professions. Politicians, doctors, executives all have had others think “It’s should be so simple” or “wow they’re so dumb.”
As another commenter said, a lot of it comes down to communication. Being able to bridge the gap with metaphors can help.
whyisitsooohard@reddit
Because in reality 90% software projects are stupid easy? In fact it's usually so easy that we invent ways to make it harder, overengineer, do things that are not needed
gdvs@reddit
Everybody became virology expert when COVID happened. It's not exclusive to our field.
To some extent, it's our job to communicate what it really means to build something. But if they really believe they have all the knowledge, there's nothing you can do.
RunItDownOnForWhat@reddit
First time?
jimRacer642@reddit
Very simple, tell him exactly what u just told us.
That's the part a lot of devs don't get, it's OK to push back.
That's when managers build muscle memory of when to hold back.
If they always hear yes, they never get a perception of reality.
SnugglyCoderGuy@reddit
Ignorance of something makes things look easy. Once one digs in, they discover the difficulty.
shelledroot@reddit
I'm often dealing with the same.
This is about shareholder management.
What I do is clearly give honest assessments, then convert those hours into opportunity and/or development costs.
If they fight you on it, that's fine,say this is your estimate if you have to execute on it.
It's your job to do what's in the best interest of the business, which sometimes means something isn't feasible.
When they still push it through, it's their lunch, you've clearly signaled something isn't possible, CYA.
People love to shift blame of mismanagement onto software development, you need to have a backbone, not just for yourself, but to keep business interests aligned. Which feels hard to do when you are the only one doing it. They don't understand our world, so give them numbers they can understand.
red__what@reddit
Everything is easy till YOU have to do it
standduppanda@reddit
Because vibe coding and a total lack of knowledge about how software development works. And often little to no motivation to find out.
PhishPhox@reddit
Because to non devs, all you do is sit and type on a computer all day lol
Nix7drummer88@reddit
I think it's a combination of things:
- They likely have seen someone build something very quickly in the past, and just assume it always works that way now. They also conveniently didn't stick around to see how that quick fix worked out in the long term.
- Like you already said, they don't understand the complexity. I've watched a director praise team lead A for delivering something in a month while team lead B was struggling to even get the project off the ground. The director couldn't understand that team lead A's simple CRUD app has MUCH less complexity and thus will get off the ground faster than team lead B's cutting edge signal analysis software.
- Knowledge work is still difficult for a lot of people to quantify.
throwaway_0x90@reddit
Tell them to write a simple app, webapp or mobile, and all it needs to do is:
If they can do that, then tell them to put it on github and go apply for a job in Software Development - they should tell you how that went.
Sheldor5@reddit
Dunning-Kruger-Effect
it's easy to judge if you are dumb and have absolutely no idea what you are talking about
Ynkwmh@reddit
You can refer your clients to me.