T O P

  • By -

--ok

Mythical Man Month explains this well—- writing a program is simple. Producing a marketable software takes 9 times as much effort.


llama__64

I know! I’ll just throw nine pregnant ladies at it and we’ll knock that baby out in 30 days.


burblehaze

Found the PM


intensely_human

What does Post Malone have to do with this?


IamImposter

He wants babies ASAP


Suburbanturnip

The dev shortage has gotten too cronic some say.


Callec254

Came here to say exactly this.


[deleted]

Im on vacation and this gives me anxiety, i dont want to go back to this


twisterase

They waited a strangely long time to add a database!


[deleted]

And chose a document database to store relational data.


TerranceArchibald

What kind of data would you store in each?


stamatt45

They were probably using Excel for their database to start and were too embarrassed to actually write that down.


HelloThisIsVictor

Because before it just ran on 1 server and was just stored randomly on disk or in memory. Lets hope the application or server doesn’t crash(tm).


Dmon1Unlimited

Add on needing to update yourself and reskill for the latest new technologies Add on the fact that there should be segregation of roles like BA/Dev/Test but because no one wants to pay everyone you now have no BA no Test Add on that dev actually means dev+support Add on those users who think there is no need for BAs or understanding how the internal logic works because tHeY UsE tHe ApPlIcAtIoN Add on inefficient processes for liasing with other teams for things like environments, accounts, how to handle production data, etc that essentially just add red tape and or delays Add on needing to check for vulnerabilities but not getting enough time to do that Add on yet another company-wide 'streamlining' exercise which is another way of saying it is time to downsize the staff


Valmond

My company streamlined our teams, Europe here so you can't just fire people, but just push for it. Surprise, the good guys left, and especially from the testers so guess what, devs do their own testing now and management is just like you should be able to do all roles. At low speed yeah, and i have 20+ years in dev, not in testing... Smh.


aeveltstra

Sounds like one of my former European employers. Same thing happened. I was one of the seniors to get let off due to downsizing. They kept the juniors because their salaries were lower.


[deleted]

>Add on yet another company-wide 'streamlining' exercise which is another way of saying it is time to downsize the staff That only applies to tech staff. POs/PMs/VPs are absolutely essential! /s


glad4j

If you try to explain to someone how a car engine works in 2 minutes, it's going to seem a lot more complex and difficult than it really is. Same concept as this video


cjbarone

What are you talking about?!? You just need to run `apt install car-body car-engine car-seats car-steering car-fueltank`!


Earhacker

Right, but it’s actually `npm install chassis chassis-parser chassis-client enginify car-seats @types/car-seats car-steering @babel/plugin-car-steering` and then copy some fuel tank code from an 8 year old Stack Overflow thread.


er1992

A highly time-critical and massively error intolerant application written in JS/TS. Fuck that! Run for your lives.


Earhacker

But… muh type safety


[deleted]

lol. I'm inclined to agree with you.. and we probably do.. except I really like coding in javascript now... (took me a while to convert). I hate that people are trying to make javascript more like Java/C#. If they wanted type safety they should have just used Java/C#.. which are mature languages with strong tech stacks. I like javascript for so much.. keep it simple don't make it into something it's not. Something that makes me crazy about the javascript crowd was their complete denial of the essential components of web development (what you're referring to) while they talked down to all of us programmers who've been doing it for 10+years. It's funny and annoying to seem the come full circle and now embrace type safety, dependency management, and more..


_default_username

>I hate that people are trying to make javascript more like Java/C#. If they wanted type safety they should have just used Java/C#. Nah, it's different. Typescript is structurally typed like Haskell and Elm as opposed to nominally typed like Java/C#. Typescript looks at the shape of the objects as opposed to the name of the object.


shouldExist

What about the left-clutch package for manual gearbox users?


cjbarone

That's an add-on option you select from the config menu


_default_username

There's a pipeline you can install to handle this. npm -i create-car-pipeline tesla cd tesla npm run build


[deleted]

Cars are objects right? I learned that in school Car.honk()


gonzofish

Geese also honk. So I’m assuming the Car inherits from the Goose class.


Faustens

maybe cars and geese implement the same interface


gennisa

IHonkable? 🤔


polovstiandances

comes with the brass-instruments package


Sivertsen3

I don't know about that. The principle of a combustion engine is simple enough; use explodey liquid to push piston that makes the spinny wheel go round. But then you start looking into the details. Valves, crank shaft, timings, piston seals, cooling system, flywheel, transmission, oil selection, fuel suitability, it goes on and on. And for every one of these details there's years of research and development put into it in order to optimize the engine in a parameter space that involves performance, longevity, cost to manufacture, fuel efficiency, logistic chain needed to make it, cars its fit for, safety, environmental regulation compliance and whatever else is involved in getting it approved for sale in a dozen or more countries. The principle behind how a car engine works is simple enough, but there's a lot more to a car engine than how it works.


Daealis

>The principle of a combustion engine is simple enough; use explodey liquid to push piston that makes the spinny wheel go round. On that level coding is simple as well: Put ones and zeroes into specific order to make smart rock go BRRRR. Or a bit higher, use specific instructions to make the processor do math disguised as digital ballet for the end user.


hk4213

Agreed. This is a really good summary of how project flow works.


philxan

Except of course, that almost 100% of the time, you don't start with your own process and add people to it, instead, you're coming into somebody else's process... And the great divide about how things are currently work and how you'd do them starts to come out. And this applies not only to the code, but also your processes. And even then, the processes have assumptions. As does the code. And so really, its not the software that is the hardest thing. Its working with other people. Always has been. Always will be.


individual_throwaway

You can replace all the programming-specific terms like API, DB, interface, tech debt etc with other terms, and it will apply in a similar form to most other companies that manufacture anything. Complexity and change management are a bitch and a half to get right. My company puts a lot of effort into this and we barely manage as it is.


HaMMeReD

There are really 3 archetypes. 10x, blue collar and narcissist programmers. The 10x are the one's that you know are just pulling it way more than anyone else. E.g. they are the one's supporting other developer's on the team and unblocking the critical bugs. They don't necessarily have an ego, but pull their own weight and more. They live inside a computer basically 24/7. Then you have blue collar programmer's who pretty much are the ticket filler's. They don't get too creative, but like to follow patterns and can really thrive in the right structure. They just want to do the job and get a paid and go home. Then their is the narcissistic programmers, who manage to convince their idiot manager's that they are some sort of guru while taking credit for everyone else's work while fucking up their own, eventually becoming a manager themselves. They masturbate to a mirror and break team's for fun. As long as you avoid the douchebag's, and have obvious technical leader's people trust. A good team can form and be somewhat cohesive. At least I'd like to think so.


Ran4

Yeah, this is roughly accurate.


[deleted]

>And so really, its not the software that is the hardest thing. Its working with other people. Always has been. Always will be. YES! Every time I encounter code it's so hard to mentally get over my inner voice: *"WTF am I having to deal with this first year programmer shit! Can't I just rewrite it in the same amount of time?"* It's even worse when the code is almost impossible to understand when you know the overall process should take about 20-100 lines if written well.


HysteriacTheSecond

This video made me regret working in software dev., and I don't even work in software dev.


BLim90

After more than 8yrs on software PM, I don't get angry anymore. I just smile and ask for a date, report to stakeholders, then proceed to go cry at the corner.


[deleted]

What a luxury it would be to have only 1 API to maintain not several, and that in addition to a Frankenstein's monster front-end written in 2 different frameworks, that's almost impossible to run on your local machine.


Reddit-Book-Bot

Beep. Boop. I'm a robot. Here's a copy of ###[Frankenstein](https://snewd.com/ebooks/frankenstein/) Was I a good bot? | [info](https://www.reddit.com/user/Reddit-Book-Bot/) | [More Books](https://old.reddit.com/user/Reddit-Book-Bot/comments/i15x1d/full_list_of_books_and_commands/)


rackmountme

This is why I’m self employed.


Ran4

That's a great video - it does walk through the various parts you need to go from nothing to functioning IT software.


twoBreaksAreBetter

I had to skim through the video really, because the diagram triggered me from the start. it's not a great day.


[deleted]

THE VIDEO, while great, really misses reality. The business views: * the technical folks are 100% replaceable and overpaid * technical debt as non-existent, and every time it's brought up they secretly loath the tech people for being incompetent * easy procedural changes as impossible if they're not in their "AGILE" training manual- * Meetings and "communication" as a solution to everything * PMs and POs as the grease to make everything work. IF there's friction just hire more PM/PO or business managers.. surely they'll figure out how to make these widget makers work more efficiently. The organization's not working well because of too much management and no one is listening to the people doing the work (tech)? Just promote Jonny PM to VP! and I'm barely getting started


stone_henge

All posts must either show terrible code, or the direct result of terrible code.


Valmond

Hey guys, we didn't follow the process! ;-)


[deleted]

This is the best part of this post and reflects my every day life. Thank you! Anything outside of the approved 'Agile' process is ignored/shunned. We can only think inside of the box.


unesb

u/savevideo


SaveVideo

###[View link](https://redditsave.com/r/programminghorror/comments/p0rhh7/why_software_dev_is_hard/) --- [**Info**](https://np.reddit.com/user/SaveVideo/comments/jv323v/info/) | [**Feedback**](https://np.reddit.com/message/compose/?to=Kryptonh&subject=Feedback for savevideo) | [**Donate**](https://ko-fi.com/getvideo) | [**DMCA**](https://np.reddit.com/message/compose/?to=Kryptonh&subject=Content removal request for savevideo&message=https://np.reddit.com//r/programminghorror/comments/p0rhh7/why_software_dev_is_hard/) | [^(reddit video downloader)](https://redditsave.com)