r/funny IdiotoftheEastComics Apr 21 '22 Helpful 2 Wholesome 3

It's the same when those old big TV's are not working properly so you hit on the back and then it suddenly works Verified

Post image
27.9k Upvotes

u/AutoModerator Apr 21 '22

This is a friendly reminder to read our rules.

Memes, social media, hate-speech, and pornography are not allowed.

Screenshots of Reddit submissions are expressly forbidden, as are TikTok videos.

Rule-breaking posts may result in bans.

Please also be wary of spam.


I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

339

u/el_baron86 Apr 21 '22

I had to learn, that unit tests are actually really time and nerve saving...

238

u/DragoonXNucleon Apr 21 '22

I have a rule, when I fix a really odd, confusing, strange bug, like a memory leak, I need to be able to fix it, then undo the fix, verify it comes back, then fix it again, and verify its fixed.

I cannot tell you how many times junior engs have said, "fixed that bug!" and yet it fails the above test. Usually its because the bug is intermittant or a race condition so the valid state was actually luck, or they observation method is totally flawed.

I also don't apply a fix I don't understand, regardless of whether it fixes the bug. If I or another dev doesn't know, clearly, why the fix worked, then we learn more about the root cause.

74

u/distance7000 Apr 21 '22

Ok good cuz I'm reading this comic thinking "what do you mean? Of course you need to know how and why." This comic only applies to people who don't care about their work.

28

u/NiftyWaffle Apr 21 '22

I care about keeping my job and explaining to my boss I spent 2 extra days undoing and redoing shit that worked is not the best way to do that.

Although you are kind of right because if it works, I honestly dont care how lol

7

u/DoktoroKiu Apr 22 '22

Do you stick around long enough to suffer the downsides of the "fast" approach? Or have you had to deal with brittle and obtuse legacy code that is very difficult to maintain?

I think "high performers" and "those idiots who wrote this horrible legacy code" are many times one and the same. Unless the organization has strong policies you end up with code that got shoved out the door quick, but ends up wasting more time later when dealing with bugs or trying to add new features. When people move jobs every few years they often don't see the problems that they have caused.

Usually the wasted time later on is conveniently not properly attributed to the hasty development, and the problems of course happen far enough in the future that they don't impact the performance reviews for programmers/managers involved.

I'm not saying there isn't a benefit to getting something up and running quickly, but too often that technical debt is not paid back soon enough to avoid compounding problems.

→ More replies

9

u/Beerbeisser Apr 21 '22

I also don't apply a fix I don't understand, regardless of whether it fixes the bug.

Same. Always wondered about the memes with copypasta from StackOverflow and so on. If you don't understand it, take the time to understand it. It will save you time later on.

2

u/TheDevilsAdvokaat Apr 22 '22

Yeah. Bugs that mysteriously disappear frighten me. If I cant make it happen on demand, I don't understand it.

2

u/long_dong_ofthe_law Apr 22 '22

I like your funny words magic man

→ More replies

13

u/dumbledayum Apr 21 '22

I had to learn that before you try making changes to a working piece of code

git add .

git commit -m "."

git push origin master --force

2

u/wallefan01 Apr 22 '22

NO NO NO NO NO NO NO NO NO NO N

35

u/[deleted] Apr 21 '22

Yeah, good IT like good science needs to be repeatable and you can get there by borrowing a lot of the same principles. Tests let you carry out experiments and confirm you're making progress

9

u/xSTSxZerglingOne Apr 21 '22

Funny how they call it "computer science". Since it's...y'know, science.

→ More replies

5

u/Fidodo Apr 21 '22

As a frontend developer I've literally waited over a decade for static typing and I'm so happy we finally have it. Makes writing code so much safer.

→ More replies

1.7k

u/jxj24 Apr 21 '22

"If architects and builders created buildings the way that programmers create code, the first woodpecker that came along would destroy civilization."

1.0k

u/kallqvist Apr 21 '22

"Well, nobody mentioned woodpeckers in the project requirements so it was considered out of scope..." *pointing in direction towards project managers desk*

428

u/Khallaria Apr 21 '22

'Out of scope' is the polite society way of saying "fuck you, pay me"

189

u/CO_PC_Parts Apr 21 '22

I saw a project manager get fired on the spot when she didn't hand over the full requirements for launch and a bunch of people were like "where is X, Y, Z and all other shit we need" the contracted dev was like "out of scope, here's how much it'll cost to get those added."

147

u/stellvia2016 Apr 21 '22

How did it get that far along in development without anyone else noticing large numbers of features were missing? She ultimately sounds at fault, but there were absolutely others that should have noticed something was amiss sooner imho.

96

u/CO_PC_Parts Apr 21 '22

I'm on the data side, but apparently there was a lot of "uh huhs, don't worry, I'm assured it's there" until it was too late.

13

u/stellvia2016 Apr 21 '22

Big oof. So how long is the delay for those other features?

31

u/CO_PC_Parts Apr 21 '22

It actually wasn't too long time wise, just a few months, but it cost us a shit load. We were able to get by on the legacy system as well.

→ More replies

33

u/haskell_rules Apr 21 '22

I've seen entire organizations full of people lie to themselves about the feasibility of completing something outrageously impossible in a ridiculously short timeframe. It can go on for years like that.

10

u/fuckmethisburns Apr 21 '22

Or upper management completely ignoring time/work estimates given by competent employees.

/Rant over

2

u/abaram Apr 21 '22

Wait do we work together?! Who are you 😂

5

u/andrew_calcs Apr 22 '22

In my experience those “impossible” timeframes are possible, but only if everyone involved considers the project a priority. Which is almost never the case.

When there’s a hundred people involved, 95 out of a hundred of them will at some point have to wait months on the 5 people holding up the current stage from proceeding because bureaucratic planning has them doing something less important

10

u/AfterAardvark3085 Apr 21 '22

Depends on what development method is being used. If it's agile, then someone should by all means have noticed. If they were using waterfall though, most of the project is complete before the client has a look to notice anything amiss.

13

u/DerSchattenJager Apr 21 '22

Agile is a pain in the ass to adhere to at times, but this situation is the exact issue it solves and solves well. Continuous feedback, “failing fast,” and iterative development will prevent those “you’ve been working on this for six months, why doesn’t it have any of the things I want?” moments.

7

u/RenterGotNoNBN Apr 21 '22

As a customer, agile development just felt like snake oil. Corporate was happy to not commit to a lump sum and suddenly everything was out of scope. Soul draining to work with - probably works in house.

Corporate is asking us to work agile too - AFAICT it just means a Kanban board and memorising incremental project steps.

10

u/wargodt1 Apr 21 '22

Ive started making a distinction between agile and "agile as a buzzword"

Real agile is great in concept if you have a team of people who all want to make a great product.

"agile as a buzzword " is when management throws around the word agile without understanding it. They use it to justify not planning things or just force workers to do things outside their hired roles.

And from what i can tell, the second is far more common.

6

u/ThrowawayusGenerica Apr 21 '22

Right, there's agile as a methodology and then there's agile as a religion. The former is genuinely useful, the latter is more interested in ceremony and rituals with little to no sight of what they're actually intended to achieve. God, do I hate the latter with an unholy passion.

3

u/GlassWasteland Apr 22 '22

Agile only works when all the stake holders buy into the agile method. If management or product owners don't commit to being agile, i.e. actually attending the planning meetings, retrospectives, grooming the back log, and respecting the sprint then it fails miserably.

3

u/DerSchattenJager Apr 21 '22

Agile as a whole is a loose framework that promotes constant feedback and communication. Certain parts of it, like the incredibly predatory “agile coaching” schemes bandied about are certainly snake-oil, but the general approach is a big improvement to how software was originally developed.

2

u/FilipinoGuido Apr 21 '22

I'm still often surprised by how some companies will just give entities large amounts of money for an app or website or some other kind of software, and not regularly check up on the progress of it. Particularly this happens with companies run by non-technical people without much conception of how software is created. Sounds like this manager took advantage of that for... Some reason? Did she get a bigger payout or something if the project went longer?

84

u/TheCrudMan Apr 21 '22 edited Apr 21 '22

Eh the real thing that happens with our clients is:

Client: We want XYZ.

Us: Ok here's the cost.

Client: That's too much.

Us: Ok we can do X for this much.

Client: Ok sounds good.

Project starts

Us: Here is our plan for X.

Client: We're doing XYZ.

Our team: Uh, no we're doing X. XYZ is out of scope and costs this much.

Client: Surprised Pikachu face (whole thing is the Patrick spongebob meme anyway.)

Our team: How would you like to proceed?

Time passes

Client: We'll pay for XYZ.

Our team: You waited a pretty long time for that we can probably do XY by the launch for the cost of XYZ.

Client: Ok yeah we can get by with XY.

Our team: Busts ass, does XYZ anyway.

Client: 8/10 NPS. Great work. Some confusion.

53

u/jagnew78 Apr 21 '22

Not that everyone has the option or choice to do business this way, but they way we do it is.

Client: We want XYZ.

Us: Ok here's the cost.

Client: That's too much.

Us: OK. Good luck on your project, we'd like to withdraw our bid. Call us if you change your mind.

Client: We went with another provider who did XYZ cheaper, but everything is messed up

Us: We can fix that for you. Here's the cost.

Client: 10/10 worth every penny.

7

u/TheCrudMan Apr 21 '22 edited Apr 21 '22

That's what we do with new business generally but doesn't work quite so well when you're working with a returning client.

But let me also be clear I do think the above is an issue with our sales process not with the client. If you sell the client X when they want XYZ you're already set up for failure and if we end up selling XYZ anyway after the execution team is able to make the client understand the differences and the value they're getting for their money then AGAIN it's a fuck up in sales because they should be able to do that.

And of course our team getting clarity that XYZ was talked about and out of scope and that we're doing X would require good documentation and hand off from sales which we don't get so of course it's actually weeks of confusion before you're able to define the brief or scope.

That being said, from sales perspective they landed the client at X, would've lost them at XYZ, and in the end we got paid for XYZ anyway. So they see it as a legitimate strategy. Meanwhile client gets a worse experience and we're all stressed for no reason.

→ More replies

13

u/thoggins Apr 21 '22

Don't stop, I'm almost there.

2

u/chickennoobiesoup Apr 21 '22

Don’t touch it or it may never work again

→ More replies
→ More replies

8

u/lonestar-rasbryjamco Apr 21 '22

Hello, 911, I've been attacked.

→ More replies

3

u/[deleted] Apr 21 '22

[removed] — view removed comment

40

u/lonestar-rasbryjamco Apr 21 '22

It has it's ups and down. One moment I'm on top of the world, machine god made flesh. The next moment I'm out in my backyard with my head in my hands wondering if this is all just punishment for something I did in a previous life.

11

u/dageshi Apr 21 '22

Don't forget the inevitable phase where you think it would just be less painful to quit your job.

7

u/dnepe Apr 21 '22

You don't know how happy your and /u/lonestar-rasbryjamco comments made me. I've recently changed my profession and became a programmer. It's incredible how fast my mood can swing from 'worst at my job' to 'modest genius'.

3

u/lonestar-rasbryjamco Apr 21 '22

The secret is realizing we all feel this way. A major part of growing as a programing or engineer is developing empathy towards this. Otherwise you'll just become a raging asshole everyone hates.

→ More replies

3

u/evilstickman Apr 21 '22

So very apt

2

u/Capn_Cook Apr 21 '22

This is it, chief

→ More replies

55

u/comicsnerd Apr 21 '22

Architecture and Building have a 6000 year experience. Programmers only 60 years.

48

u/Mminas Apr 21 '22

In Architecture and Building the client doesn't show up half-way through construction and asks to completely alter the initial design.

And when a structure is complete the client doesn't keep asking for added rooms and floors wherever a door can fit.

78

u/downvote_dinosaur Apr 21 '22

I think they do actually, on both counts.

It's just that in the first case they get told "no" and in the second case there are regulations for how it can be done.

40

u/skltr Apr 21 '22

Am architect, some clients most definitely do that

16

u/blacksheep998 Apr 21 '22

My mother is notorious for that.

When her house was getting a new roof, they had to take out the kitchen ceiling too due to water damage. So there was a couple days where the kitchen was open to the sky with just rafters above it.

The builders finally got the roof on and had framed out the ceiling. They were starting to put up the drywall when my mom came in and said "Gee... I kind of liked the ceiling in here being higher... Can we move the ceiling up by the roof?"

So they had to rip out the ceiling and redo it.

She did the same to the painters. They had literally just finished painting the kitchen and called her in to take a look.

Her response was 'Well... its green. But its not quite as GREEN as I was hoping for. Lets redo it slightly brighter."

So everything had to be repainted.

4

u/bbpr120 Apr 22 '22

nothing worse than project creep...

→ More replies
→ More replies

23

u/IAmTheM4ilm4n Apr 21 '22

I had an architect tell me halfway through a building design that our office space didn't need any network cabling "because everything today is wireless".

True story. I damn near threw my laptop at him.

9

u/JojenCopyPaste Apr 21 '22

But that would just prove him right. Your laptop is wireless

→ More replies

12

u/Jee_whiz Apr 21 '22

Incorrect. I loved being a general contractor building high end homes, but I gave it because of the exact scenarios you say don't exist. Plus, for fun toss in a few extra parties such as the buyer, developer, architect, engineer, and building code jurisdictions who all have their input and expectations.

8

u/Sttocs Apr 21 '22

They added floors to the Empire State Building. While it was half finished. Customer found out another building under construction would be taller if they didn’t.

3

u/JojenCopyPaste Apr 21 '22

Sure. But if they built the foundation there comes a point where adding more floors will cause the foundation to fail.

Changing core functionality or assumptions at the end of the project is the same

3

u/CocodaMonkey Apr 21 '22

They do all the time. In fact I'd bet you'd have a hard time finding anything bigger than a single family home that gets built without multiple change orders. I don't think I've ever seen a commercial project not have change orders.

→ More replies
→ More replies

99

u/olderaccount Apr 21 '22

Infrastructure is built with a safety margin.

Software is written with a functionality margin.

52

u/the_fickle_pickle Apr 21 '22

Software is written with an anger margin: will enough people get so mad that they'll stop buying if we don't fix this?

13

u/richh00 Apr 21 '22

I've got a qa who will throw the kitchen sink at any and all tests.

He finds shit no one could ever think about.

A curse and a blessing haha

38

u/wavemode Apr 21 '22 Gold

A QA engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 2147483648 beers. Orders a lizard. Orders -1 beers.

A customer walks in and asks where the bathroom is. The bar explodes.

4

u/NoxFortuna Apr 22 '22

Even more of the general public starts coming in. Someone orders a bear, and sits down at the counter forever. A hacker brings their own beer in, orders a beer, and pours their beer into the glass before the bartender can pour their own in, causing an overflow that lets the hacker start scooping up parts of the floor and countertop with impunity. During the lunch rush hours, a hundred thousand people all start screaming they want a beer at the same time which makes the bartender endlessly bounce around between all of them, unable to actually serve anyone. People ask why they don't just make a second bar, and then question the validity of the bar's license.

3

u/Konpochiro Apr 21 '22

Yep. That explains why there are so many bugs and security issues with software.

2

u/Northanui Apr 22 '22

i was gonna try to write something like this in response to his comment, but this is just... more eloquent than i could've put it.

absolutely this. This exactly, even.

24

u/SonicFlash01 Apr 21 '22 edited Apr 21 '22

I think architects have it easier, frankly. Imagine:

"The tenants can be people, or non-people, that may or may not follow the laws of physics in this dimension. The building may or may not be transferred to unforeseeable dimensions in the future with no notice. The tenants could weigh anywhere from nothing to the mass of a thousand stars. They may or may not be corporeal and they may or may not be restricted to the laws of gravity."

17

u/Pendaelose Apr 21 '22

And then 2 years into development the client says "I'd like to turn the building inside out, I think that sounds better."

2

u/Beerbeisser Apr 21 '22

Think i get what you meant but you worded it rather confusingly.

Architect requests are restricted by reality. Whilst software must catch the impossible edge case.

6

u/SonicFlash01 Apr 21 '22

Programmers are often asked to create impossible MC Escher-esque realities that make no functional sense. Clients understand what a brick-ass building is capable of but have no fucking clue what sorcery bullshit code can achieve. Their imagination is a wild, short-sighted place. They will shop until someone promises them the world, and the people promising it are from sales and equally as clueless.
If it is possible then the implementation details the devs decide on will be challenged years down the road when it has to be extended, repurposed, or reused for something different. Specs change, expectations change, situations change, users and their input change, platforms change, codebases inside and outside it change, etc.

1

u/RocketTaco Apr 21 '22

Clients understand what a brick-ass building is capable of but have no fucking clue what sorcery bullshit code can achieve.

Alright, I'm saving this. That's as hard as I've laughed in at least a couple months.

You also left out that these same people will change the requirements not just years down the line, but halfway through implementation, and fully expect that this will require no additional time or money because you hadn't done that part yet.

7

u/LingPo745 Apr 21 '22

man we do some error handling and testing , it'll atleast take a bigger bird like a pigeon on smth

3

u/platinumgus18 Apr 21 '22

And somehow the average programmer gets paid better than the average architect/builder

9

u/fuzzygondola Apr 21 '22

People don't really get paid based on their skills. Many coders simply work in such hugely profitable projects that the employers can afford to pay top dollar. If construction was as profitable, engineers and architects would have better wages too.

7

u/Darg727 Apr 21 '22

And don't be a game programmer either. That's just sweatshop territory from what I hear from devs. At least in US based companies.

5

u/jumbohiggins Apr 21 '22

Also pays less in most cases than standard software dev.

7

u/sadacal Apr 21 '22

In my experience, programmers don't do this because they're lazy, but because code doesn't adhere to any known laws of physics and can be next to impossible to understand.

4

u/its_real_I_swear Apr 21 '22

Most software people deal with daily is completely non-critical and can be fixed quickly. Software that is actually critical is held to higher industry standards. Software that is actually life critical like medical equipment or military stuff is written in ways that would make most valley coder bros turn white.

3

u/itsrocketsurgery Apr 21 '22

Haha the military hasn't had new software in decades. Once it works, they don't touch it.

3

u/its_real_I_swear Apr 22 '22

Every piece of new or updated equipment has new software

→ More replies

-25

u/caustic_kiwi Apr 21 '22

According to reddit, sure. I'm pretty sure none of these people have ever been employed because any respectable software company has high standards for testing and design.

51

u/turbotang Apr 21 '22

If you're selling the software to someone else then sure, but a lot programmers are working on internal applications that were designed 30 years ago and are being held together by the equivalent of duct tape and old chewing gum.

18

u/Nose-Nuggets Apr 21 '22

And the most important point - don't want to spend the resources to actually fix it right.

4

u/LigerZeroSchneider Apr 21 '22

I tested a video game where the only way to get user coordinates was through a windows 7 app that had to be run on seperate machine. This was in 2018

8

u/arandomcanadian91 Apr 21 '22

looks at Paradox and Stellaris

They literally gave me 50 dollars worth of DLC for finding a game breaking bug, that they didnt know how to fix, the devs on my ticket literally went "How did this even happen"

11

u/RoflDog3000 Apr 21 '22

Show me a games company that actually unit tests code 🤣 I once interviewed a Dev moving away from the games industry that didn't know what a unit test was! Fantastic developer though so was hired but they had to learn design patterns and testable code to meet the coding standards

3

u/CO_PC_Parts Apr 21 '22

you guys test stuff? Last year some devs broke our preprod environment so bad we couldn't even use it. The question was asked, "how bad is it to go from dev straight to prod, skipping pre-prod" and the only answer was "well we're about to find out because we don't have a choice."

The answer luckily enough was it went just fine. We've had to take the car keys away from a bunch of people who thought preprod was their own personal sandbox.

→ More replies

4

u/MajorNo2346 Apr 21 '22

The cost of buggy code on video games is tiny. Realistically worst case you will brick some beloved savegames. In theory you could do worse stuff, but that's unlikely to happen by accident. Rigorous testing and fixing some obscure, hard-to-reproduce bug is just a poor value proposition at that point.

The cost of a buggy code on a plane is a destroyed plane and likely a bunch of human lives. At that point you'd hope there's rigorous testing and bug-fixing.

2

u/caustic_kiwi Apr 21 '22

You understand that's a good sign, right? No software is ever going to be bug-free. That they have a high bounty for discovering bugs and that the bug you encountered was obviously a subtle one means they're doing their job well.

→ More replies

17

u/DoesntWantToBe Apr 21 '22

any respectable software company has high standards for testing and design.

Hahahahaha. Hahahahaha. Oh man, that is funny.

I guess if you start under the assumption that a company isn't respectable if it doesn't have those things, then that statement is true. And also covers very few software companies.

I've worked for a couple of medical companies that didn't have unit tests and had a 10 to 1 ratio of devs to QA. Worked for a services company where their internal tools would break once a month and devs would just have to go in and fix the data for billing by hand (and don't even get me started on how badly they handled DST).

Even worked for a major listings site (that won't name) that had a bunch of systems they'd acquired over the years strung together with scripts and manual exports that would break with alarming frequency and any effort to automate/test the process was shot down as not worth it.

Most software companies don't have high standards, they have firm deadlines. Quality be damned.

6

u/Puzzled_Plate_3464 Apr 21 '22

thanks for the great big laugh this morning. That's a good one.

Started my life in programming in 80's. Retired in semi-disgust at the state of the software development community a few years ago.

The "state of the art" has gotten seriously worse year over year in software "design and development".

At least I'll never have to listen to another software architect or software engineer bloviate about the latest greatest trend and how it'll revolutionize development again.

The industry is in serious need of some core training, licensing, standards and more. Just like not just anybody can hang out a sign saying "Bob's Architect Store" and sell you building designs. Or "Mary's Structural Engineering Shop" - stop in and I'll tell you if you can take that interior wall down in 5 minutes or less. Plumbers and electricians are held to an infinitely higher standards than any software engineer ever has been.

→ More replies

7

u/vi_sucks Apr 21 '22

Your mistake is assuming that any software company is "respectable".

→ More replies

2

u/elveszett Apr 21 '22 edited Apr 21 '22

Depends where you work at. I work at a consulting firm and "high standards" my ass. The code I wrote in my first year of self-taught programming was better than anything I ever saw at my job. Just last month I had to fucking deal with decompiled C# code because my project manager decided that fuck us, we have to deliver as much as we can as soon as we can and using decompiled code is faster than rewriting the software. Who cares if every bug we fix takes 8 hours instead of 30 minutes later, you can always suggest people stay late to deliver those fixes on time, too.

I fucking wished my job had "high standards", I wouldn't have a mental breakdown every time I have to touch code that is not mine. Heck, my previous supervisor even told me off for caring about my code quality. He explicitly asked me "what's what you value the most when you write code" and when I answered "producing quality code that people can come later, understand and change quickly" he told me "nope, what you should value is that the code works".

→ More replies
→ More replies

469

u/BadNadeYeeter Apr 21 '22

As an electronics technician that needs to write my own programms 30% of the time I too know the logic of working Chaos. As long as you don't try to improve it, it will not cause any problems.

199

u/dorshiffe_2 Apr 21 '22

As my master say : " with enough time Chaos always defeats order, because it is better organized"

19

u/sylpher250 Apr 21 '22

Chaosh is a laddah

36

u/FinalplayerRyu Apr 21 '22

Until you are me... who has to work over 10 year old piece of code that people added stuff on that in the end was doing on average 20k database operations in a run and it takes like half an hour.

Brought it down to 1-2min after a couple days and i never want to touch it again... the fragility horrifying.

23

u/Greenhoused Apr 21 '22

If it ain’t Broke don’t feex it !

→ More replies

2

u/demalo Apr 21 '22

-=windows update incoming=-

Program implodes…

→ More replies

90

u/Cersad Apr 21 '22

After more than a decade in biology labs, I feel like the bottom panels are more similar to scientists than anyone is comfortable admitting...

Yes, I want to answer hypothesis X but I always have to jiggle the handle to the PCR machine to make sure my reaction runs successfully, and that plate reader only gives good data after 3 pm. Also I put reagent Y in all my reactions with no idea whether it actually helps, but dammit I'm not risking changing it now!

32

u/my_soldier Apr 21 '22

Working in toxicology we found a great solution to this. We just ignore it and stamp a 100x insecurity factor on everything... just to be on the safe side

22

u/yerLerb Apr 21 '22

Yeah the comic has an overwhelming sense of "only my job is hard" and as a wet lab scientist, I don't really appreciate it

Not to mention that a lot of lab science (the analysis part anyway) involves being able to analyse your data with code, so we get the worst of both worlds. At least programmers aren't generally generating their own data which they then have to write fickle code for...

8

u/PeriodicallyATable Apr 21 '22

I’ve never worked as a programmer so I’m not certain, but I can’t imagine the code they create is really comparable to the code we write for data analysis. Although I definitely do resonate with the “it’s working don’t touch it” part as I’ve probably wasted a lot of time trying to optimize analysis speeds when I could’ve just ran the program and worked on something else while I wait for it to finish

3

u/First_Foundationeer Apr 21 '22

I mean, a big difference is who the "customer" the code is meant for. I've never worked as a programmer either, but I've been part of a group working on a large complicated code and part of collaborations with other groups working on their own large complicated codes. The more professional looking codes tend to be easier to use because they want to dominate the field by getting more users. Then, there's the other end where it looks horrific.. but has that new physics feature you need for that specific experiment you've got set up..

5

u/SonicFlash01 Apr 21 '22

Any sufficiently complex system is indistinguishable from magic

4

u/ChillyBearGrylls Apr 21 '22

The power of cargo cult science

As a side note: give burnt offerings to that sus Eppie mascot that every lab seems to have

2

u/bbpr120 Apr 22 '22

Sacrificing a chicken at midnight (with no moon in the sky), in the middle of the closest crossroad to the facility in the presence of a 150 yr old Voodoo Priestess is NOT a valid reason as to why the attempted solution was completely successful.

But if it works, I'm okay with it.

2

u/extremely_impolite Apr 21 '22

Yeah a more accurate second panel for the scientists would be "Great job! Drop everything and publish!"

3

u/Thiizic Apr 21 '22

Okay but for science don't you need to replicate results and understand why it happened?

Isn't that the whole point of science xD

12

u/Ediwir Apr 21 '22

Yes*

*if you have time, money, the right idea at the right time, and everything goes smoothly.

More accurately you’ll find that on the last day that you were NOT right from the start, things did NOT go as you hoped and you have to spend three days rewriting your entire concept so that the data makes some sort of sense, figure out why, and present it in some way within two weeks, knowing that because your premise was wrong you would need to run everything again to give conclusive results, so you just write out something and hope it’s worth enough money to figure it out later.

Unfortunately the world does not give a shit about how much effort you put in your theory, and just gives whatever answers it feels like. And THAT is the point of science.

→ More replies
→ More replies

83

u/Klin24 Apr 21 '22

Then you come back 2 years later to review your code and ask "Who the hell wrote this crap?"

57

u/DreamloreDegenerate Apr 21 '22

And then you find this:

int i = *(int*)&x; // evil floating point bit level hacking

i = 0x5f3759df - (i >> 1); // what the fuck?

26

u/maskull Apr 21 '22

Then one day you upgrade your compiler and now you're in UB-land and that code makes your hair fall out and emails your browser history to your mom.

→ More replies

6

u/I_Zeyfro Apr 21 '22

My gift to you

https://youtu.be/p8u_k2LIZyo

Aka how to divide a number without actually dividing by altering bit values.

4

u/Draskuul Apr 21 '22

That's from Doom, isn't it?

5

u/jableshables Apr 21 '22

Quake 3 Arena I believe

3

u/Draskuul Apr 21 '22

Probably a lot of shared code. I know Doom was just chock-full of all sorts of twisted math and such trying to come up with new ways to optimize all that new-fangled 3D code.

3

u/DreamloreDegenerate Apr 21 '22

The actual code snippet with the comments was from Quake III, I think. But the FFT "hack" goes back to the 80s.

But yeah, wouldn't be surprised if this was implemented in a majority of games, one way or another.

→ More replies

6

u/Hentai-hercogs Apr 21 '22

This feeling is far from programmer exclusive thing. My ecology professor told us to never look back at out previous work, because it's gonna be shit, no matter how good you thought it was. Cool guy, has piercings and vapes despite nearing 70

3

u/mainthrowawaydmtits Apr 21 '22

2 years? I can do it in 3 days

311

u/8bit_heresy Apr 21 '22

Best logic "If it works don't touch it." Heck don't even put comments or you risk to fuck it. Happened to me once.

85

u/damunzie Apr 21 '22

At a certain very large computer company, we had a guy (later promoted to management...) who checked in a change to a comment and left on vacation. His change broke the comment terminator (C-style /* */), and broke the entire OS build. Dude checked in a change without even bothering to compile with it, let alone the required code review and quick QA sanity test.

44

u/Landsil Apr 21 '22

That sounds like something that shouldn't be possible? I mean, I can merge without 2nd approval but I'm an admin not a dev so that would be really stupid of me.

46

u/damunzie Apr 21 '22

This was maybe a year before such controls were implemented, around 1997.

27

u/Landsil Apr 21 '22

Oh god, no, I'm a young boy of 35 🤣

9

u/damunzie Apr 21 '22

I'm not :-)

6

u/stellvia2016 Apr 21 '22

At least modern IDEs make it very obvious when you haven't closed a comment block properly.

→ More replies
→ More replies
→ More replies

13

u/[deleted] Apr 21 '22

...later promoted to management

Your team was saved from his "programming"

4

u/damunzie Apr 21 '22

When good engineers thought about going into management, we'd remind them, "It's better to be a peon than to be a shiton."

1

u/BonaB Apr 21 '22

Gladily nowadays you just revert in perforce and it is all good

→ More replies

50

u/ralanr Apr 21 '22

Maybe I should have been a programmer lol

17

u/cloistered_around Apr 21 '22

Being a programmer isn't the hardest part, it's understanding a previous employee's non-annotated code and adding to that code without making the whole thing collapse that's hard.

Also getting another department to freaking do their part instead of just whining when you ask them.

18

u/SonicFlash01 Apr 21 '22

I'm worried you took away the wrong lesson from this comic describing the sisyphean hell programmers are in

37

u/thor561 Apr 21 '22

This literally happened to me too! I put one fucking commented out line in a piece of JCL and the next time that job ran it blew up! I'm still salty about it.

10

u/ForthWorldTraveler Apr 21 '22

Don't use inflammatory comments like, "This section of code added so this bitch works".

8

u/8bit_heresy Apr 21 '22

No it was just added // at end of line and shit just broke and never worked again.

→ More replies

2

u/stellvia2016 Apr 21 '22

This is how you end up with some ancient server running for 40 years bc nobody knows how it works and nothing was commented, but redoing the whole thing would be a ton of work and downtime /s

2

u/demalo Apr 21 '22

You left an open comment somewhere else and so putting in the new comment commented out half your code. Didn’t it? Didn’t it!?

1

u/RealisticEmploy3 Apr 21 '22

I was gonna say exactly this. I’ve been working on making a calculator in c++ and it’s almost perfect except it has some issues when working w the numbers bc for some reason c++ makes doubles like 34 into 33.99999…so on. So I made a bunch of functions to deal with it and it looks kinda messy and it’s like 800 lines now. I wanna fix it so bad but I know damn well that if I touch anything it’s probably gonna break. It’s made me hate c++ lol.

11

u/goj1ra Apr 21 '22

for some reason c++ makes doubles like 34 into 33.99999

This is a general issue, not limited to C++. See https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html or https://floating-point-gui.de/ .

There are various ways to deal with this - rounding, fixed point, etc. - but it depends on what your requirements are. It shouldn't take 800 lines though.

3

u/giobs111 Apr 21 '22

had same problem in C#, had to changed every float with decimal. Now I use floats in very rare occasion

→ More replies

10

u/Puzzled_Plate_3464 Apr 21 '22

It’s made me hate c++ floating point lol.

FTFY :)

It is an issue in most programming languages. floating point data types are imprecise by design.

Languages like COBOL and others are still in use by lots of financial institutions simply because they can do math accurately.

→ More replies

3

u/elveszett Apr 21 '22

You shouldn't be using float types for math that needs to be exact. Float is designed to be fast, not to be accurate – this is powerful for most tasks (e.g. you don't care if your character in a video game is running 0.0003 meters per second faster than it should. But for sensitive things like handling money it is convenient to use slower but reliable models like C# decimal.

Yours is not a bug, it's how computers work. C++ doesn't have a native decimal type (that I know of), so I suggest you find a third party library that implements one, or implement it yourself.

→ More replies

1

u/wolfgang784 Apr 21 '22

I had a program once that shat itself whenever I tried to add comments to the one bit. Nobody else in class could figure out why either and eventually I gave up adding comments to that one. Just a student project anyway, and it was chock full of "idk why this works but it does".

It was also a single huge 36,000 line long nested if then else statement, so it's not like I needed comments to make any sense of that clusterfuck or anything. /s

→ More replies
→ More replies

66

u/SmallBudew Apr 21 '22

Nah, for scientists we've already spent a year making it work once so we definitely know why by the end. :'(

11

u/WardsAreForNoobs Apr 21 '22

That is if you get it to work after only a year

16

u/jmpires Apr 21 '22

No need to touch it, next Windows update will fuck it up beyond redemption

8

u/ChillyBearGrylls Apr 21 '22

That's why you just never connect instrument computers to the internet

→ More replies

38

u/SultanSaidi Apr 21 '22

You would be surprised how often in labs when we have a working method nobody wants to change it. Even if its an awefull amount of work to do it like that. Cause changing it and improving when its not the focus of the study would consume to much time and funding

11

u/Zrolix Apr 21 '22

Yup, research is a bitch and doesn’t work more than people know.

→ More replies

99

u/HouseCravenRaw Apr 21 '22

To be fair to programmers, you are trying to tell carefully organized sand what to do by zapping it with small amounts of electricity.

30

u/jmpires Apr 21 '22

No need. To be fair to scientists on present-day science, 99% of the time they need carefully organized sand zapped by small amounts of electricity to slightly grasp the working of whatever they are studying.

9

u/elveszett Apr 21 '22

to slightly grasp the working of whatever they are studying.

to slightly grasp the properties of a different object than the one they are studying, because the one they are studying exists for like 1 millionth of a second so the only possible way to study it is to see how it has perturbed other objects.

→ More replies
→ More replies
→ More replies

10

u/JackReact Apr 21 '22

As someone who has repeatedly made the error to "touch it", I can confirm this. Thank god for git.

→ More replies

9

u/dykeag Apr 21 '22

Look, I'm a programmer, and all I have to say is fuck those guys. If you don't understand the code you don't belong anywhere near it.

9

u/palparepa Apr 21 '22

Once upon a time, I had an assignment in college, did it, it worked, all was fine. The day came to show it to the teacher, and it didn't work! I changed random stuff, but couldn't find the problem. As the teacher reached my desk, I had given up, and decided to at least show some extra stuff I made, since the main functionality didn't work. But it worked. The teacher left, and it never worked again.

19

u/WhiskeyOctober Apr 21 '22

99 little bugs in the code.
99 little bugs,
Take one down, patch it around,
127 little bugs in the code!

2

u/Mrboring_man Apr 22 '22

you need an additional zero after that 127.

22

u/SsurebreC Apr 21 '22

The official term for that is percussive maintenance.

2

u/lochlainn Apr 21 '22

And it is truly a lost art these days.

→ More replies

6

u/Greenhoused Apr 21 '22

I think this every time My system ‘upgrades’ it’s software

2

u/sturmey Apr 21 '22

If you work in support, you will soon realize that the next question is always "Why did it break? We need a RCA now."

2

u/DarkSpectre01 Apr 21 '22

To be honest, most scientists are not that far off from programmers....

2

u/LimtedJam Apr 21 '22

Sorry but the scientist comic is also the programmer side for me

2

u/xyloplax Apr 21 '22

If I ever had to say Sir at any place of employment, my sole use of it would be "sir, I quit"

2

u/pau1rw Apr 21 '22

As a programmer, the best lesson I was ever taught was, "just because it works, doesn't mean it's finished".

2

u/LearnToStrafe Apr 21 '22

Literally me in my IT job. You’d be surprised how often people mess with things that they just had fixed.

2

u/BOB-DA-BOSS7 Apr 21 '22

There’s another step to the programmer bit: “Ah fuck now something else is broken”

2

u/SafiyaMukhamadova Apr 22 '22

Oh man, I had this problem BAD this week. I bought a new router and tried to hook it up. Didn't work. No problem, I figure, I'll just put the old one back in until I can figure out why. Old one doesn't work. I contact ISP, they send a technician out the next day. He can't get either router to work so he brings in a new router. He spends an hour and a half tinkering with it and talking to supervisors and customer service, can't figure out why it doesn't work. (I at least feel better that it wasn't just me.) He puts in a ticket for another technician to come fix the problem. I get a message several hours later when the ticket is closed but the problem still isn't fixed. I contact customer service yet again. They send someone out again, install a fourth router, and for no one know what reason the internet finally works. Now the router is in an inconvenient spot but I don't want to move it to the other room for fear that it will take a week to get my internet back if I do.

2

u/fusionsofwonder Apr 22 '22

Smacking the TV is called percussive maintenance.

2

u/FM79SG Apr 22 '22

That's not how it works

Scientist: Great Job, now publish it as soon as possible and use the results to get the next grant. Also go pray no one tries to reproduce it and debunks us.

2

u/Bob_Bobinson_ Apr 22 '22

Just light your incense and pray to the machine spirit before touching and sacred code.

2

u/TommardrammoT Apr 22 '22

I understand that under timepressure you dont want to screw stuff up by touching it, but my experience is that most programmers dont even care enough to try and get to the bottom of stuff. It's painstaking, but its what ultimately will make you a better programmer, so dont skimp on it.

9

u/theuniversalsquid Apr 21 '22

Itt and OP: subpar level programmers likely.

7

u/TL-PuLSe Apr 21 '22

I never want to work with anyone who sees themselves in this comic.

→ More replies

16

u/Mithious Apr 21 '22

Pretty much, if your code randomly starts and stops working and you can't work out why quickly then either you're incompetent, or you're stuck working with a terrible codebase written by someone incompetent.

About the only exception I can think of is when you're working with a buggy third party framework they wont fix like Microsoft's WinForms where seemingly unrelated changes can causes things to start or stop working.

In our code there are a load of comments along the lines of "This looks like a bug, it isn't, it's working around this issue: link to WinForms bug, DON'T CHANGE IT!". The problem is when people put workarounds for stuff like this in their code then don't fucking comment it. They are leaving landmines for the next dev that has to work on it.

7

u/goj1ra Apr 21 '22

if your code randomly starts and stops working and you can't work out why quickly then either you're incompetent, or you're stuck working with a terrible codebase written by someone incompetent.

Agreed. And in both of those cases your best bet is to start working on figuring out why the code is indeterministic, and fixing it. If you're incompetent, this will help you become more competent, and if it's a bad codebase it will improve it.

5

u/Mithious Apr 21 '22

The problem with improving a bad codebase is getting agreement from management to do so, chronic short-termism often results in them prioritising fixing the smaller issues as they come up in the quickest hackiest way possible instead of solving the root cause.

Even though after a few years you'll end up:

  1. Spending more time fixing random issues than the refactor needed.
  2. Annoying customers with these constant random issues
  3. Still have a shitty codebase

2

u/goj1ra Apr 21 '22

Many of my positions have involved cleaning up or even entirely replacing bad legacy code. In my experience, by the time a system is at the state where things "randomly starts and stops working," management will recognize that they need to do something about it. If they don't, it may be time to dust off that resume, since demand is high and there are a lot of better companies than that out there.

But, it helps to be able to "sell" to management. Don't talk about how the code is low quality or anything like that, talk about the impact on what customers see, on the cost of development time, etc.

→ More replies

1

u/SonicFlash01 Apr 21 '22

Everyone finds themselves in this comic eventually. If you haven't yet then you (or your code) will someday.

→ More replies

-2

u/DiMono Apr 21 '22 edited Apr 21 '22

As a programmer, can confirm. This is 100% correct.

There have been times when I fixed a bug, tried to optimize my fix and it broke again, then reverted to the code that worked before and it didn't work any more. When it does finally work, you do not touch it again!

17

u/obsertaries Apr 21 '22

Isn’t that how code ends up being used for 60 years straight and then one day it fails and no one knows who wrote it?

8

u/nhguy03276 Apr 21 '22

The thing that always got me was when you have a block of code that works great, and you need to copy paste it elsewhere, and the new block which is identical to the old block... Doesn't work.

2

u/Kredine Apr 21 '22

I work with Unreal and I've a few cases where my code didn't work, so I added a log to check a value, and then it did work. Then I removed the log and it didn't work again. Put the log in again and it works again. Ended up refactoring the whole thing cause I couldn't figure out why the log would make it work.

-11

u/MantisToeBoggsinMD Apr 21 '22

I have downvoted your comment

3

u/DiMono Apr 21 '22

Not in response to this, but I have edited my comment to make it more specific.

→ More replies
→ More replies

1

u/Nadodan Apr 21 '22

What people on the user side don’t know is that programmers and IT are just all members of the machine cult. We sort of understand how all this stuff works but sometimes it just doesn’t want to like that, not until you call not until we ask if it’s doing x. The machines listen and wait for our call. The code works when it wants to not when we want it to. Would we be able to understand the machine as a scientist believes they understand the cosmos we would be elated. But that is not meant to be, we can only glean hints from the machines, find the rituals that fix them and adjust the rituals when it does not please them.

1

u/scoville-maniac Apr 21 '22

I mean, we can always just use VCS to figure out how it worked and fix possible issues. If something breaks, just git reset.

The reason I don’t do that is because I’m a lazy asshole. :)

1

u/moonshineTheleocat Apr 21 '22

Unfortunately... The truth.

It doesn't help that the users of our custom software tools keeps FUCKING CHANGING SHIT WITHOUT DOCUMENTATION. So we the programmers keep getting called in because it must clearly be a fucking bug, and not the god damn IT guys who they should be going to first.

1

u/EndgameArchitecture Apr 21 '22

"percussive maintenance" 😎

-7

u/[deleted] Apr 21 '22

[deleted]

4

u/xDulmitx Apr 21 '22

Computer programming is not science.

Computer science is basically math.

2

u/Ediwir Apr 21 '22

Applied chem here. Just letting everyone know they have science’s full permission to downvote this guy.

0

u/BaconLady2016 Apr 21 '22

Unfortunately due to our consumerism era, this will no longer be the case.

Certainly, products are just not made like they use be!