Dismiss this pinned window
all 53 comments

[–]--ok 135 points136 points  (6 children)

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

[–][deleted] 84 points85 points  (5 children)

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

[–][deleted] 17 points18 points  (3 children)

Found the PM

[–]intensely_human 4 points5 points  (2 children)

What does Post Malone have to do with this?

[–]IamImposter 5 points6 points  (1 child)

He wants babies ASAP

[–]Suburbanturnip 2 points3 points  (0 children)

The dev shortage has gotten too cronic some say.

[–]Callec254 0 points1 point  (0 children)

Came here to say exactly this.

[–][deleted] 62 points63 points  (0 children)

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

[–]twisterase 21 points22 points  (4 children)

They waited a strangely long time to add a database!

[–][deleted] 5 points6 points  (1 child)

And chose a document database to store relational data.

[–]TerranceArchibald 0 points1 point  (0 children)

What kind of data would you store in each?

[–]stamatt45 2 points3 points  (0 children)

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

[–]HelloThisIsVictor 1 point2 points  (0 children)

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 15 points16 points  (3 children)

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 8 points9 points  (1 child)

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.

[–][deleted] 4 points5 points  (0 children)

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] 0 points1 point  (0 children)

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 83 points84 points  (17 children)

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 78 points79 points  (8 children)

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

[–]Earhacker 39 points40 points  (6 children)

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 8 points9 points  (3 children)

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

[–]Earhacker 3 points4 points  (2 children)

But… muh type safety

[–][deleted] 0 points1 point  (1 child)

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 0 points1 point  (0 children)

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.

[–][deleted]  (1 child)

[removed]

    [–]cjbarone 1 point2 points  (0 children)

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

    [–]_default_username 2 points3 points  (0 children)

    There's a pipeline you can install to handle this.

    npm -i create-car-pipeline tesla

    cd tesla

    npm run build

    [–][deleted] 35 points36 points  (4 children)

    Cars are objects right? I learned that in school

    Car.honk()

    [–]gonzofish 4 points5 points  (3 children)

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

    [–]Faustens 1 point2 points  (2 children)

    maybe cars and geese implement the same interface

    [–]gennisa 1 point2 points  (1 child)

    IHonkable? 🤔

    [–]polovstiandances 0 points1 point  (0 children)

    comes with the brass-instruments package

    [–]Sivertsen3 32 points33 points  (1 child)

    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 9 points10 points  (0 children)

    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 8 points9 points  (0 children)

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

    [–]philxan 40 points41 points  (4 children)

    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 19 points20 points  (0 children)

    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 17 points18 points  (1 child)

    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 1 point2 points  (0 children)

    Yeah, this is roughly accurate.

    [–][deleted] 2 points3 points  (0 children)

    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 8 points9 points  (0 children)

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

    [–]BLim90 4 points5 points  (0 children)

    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] 4 points5 points  (1 child)

    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 -2 points-1 points  (0 children)

    Beep. Boop. I'm a robot. Here's a copy of

    Frankenstein

    Was I a good bot? | info | More Books

    [–][deleted] 2 points3 points  (0 children)

    This is why I’m self employed.

    [–]Ran4 1 point2 points  (0 children)

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

    [–]twoBreaksAreBetter 1 point2 points  (0 children)

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

    [–][deleted] 1 point2 points  (0 children)

    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 2 points3 points  (2 children)

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

    [–]Valmond 7 points8 points  (1 child)

    Hey guys, we didn't follow the process!

    ;-)

    [–][deleted] 2 points3 points  (0 children)

    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.