21

Beginners be like, "First rule of programming, If it works don't touch it". But experts will be like "Why does it work?". That's why they are called experts.

Comments
  • 0
    You have 1 day left to merge some code which expert says will not work, but it actually works. Then he asks why it works? Then hes done for the day, all other devs approve your MR and code expert can go fuck himself with his rabbitholes.
  • 4
    @AnxiousADHDGuy i think you’ve summed up a lot of what’s wrong with programming nowadays.
    A lot of times things work… until they don’t. Does the code pass all the tests? Does it take into account every possible scenario? These are questions a more seasoned developer can help tackle. And if a true expert raises a red flag about some code, in my opinion only an arrogant/overconfident junior would be capable of brushing the red flag under the carpet
  • 10
    @AnxiousADHDGuy except sometime the code then fails spectacularly in some edge case it did not handle but that was not tested due to time constraints.

    I have seen enough code that work out of pure luck or that only work with just a dozen users active but stop working at any significant load.

    Its not always enough that it works, sometimes it needs to work well under all circumstances.
  • 1
    @black-kite from my experience, if you as an expert want to go into rabbitholes on something then please put in some effort on investigating. In this case he was just raising questions and we kept bending back and forth to explain to him that solution is good enough. He did zero testing himself and left all of that to us. To be honest that thing was so trivial that investing any more time in it would have been a total waste. There is no need to get philosophical when we have much bigger fish to fry.

    @Voxera Yeah keep talking about hypotheticals, in our case 2 other seniors confirmed that there are 3 ways of tackling the problem and mine is good. "Expert" preferred one way and was just putting sticks in our wheels at that point. I tested for memory leaks, solution worked great and seniors agreed so code got merged. Nobody died in the process, all is fine.
  • 5
    @AnxiousADHDGuy then I would question the label expert ;), sounds more like a wisecrack or wannabe.
  • 1
  • 2
    Expert, 1 day later:
    "It doesn't work anymore..."
  • 5
    Fix it until it breaks
  • 3
    Depends on the expert....

    Option 1: It is a CYA approach. if it works, no one remembers. It it fails, he can tell you: "See? I told you it will not work!"
    Option 2: He has no idea, and does not care. He just wants the other devs to make absolutly sure the solution is good.
    Option 3: He does know. He expects you to fail, so you will learn a lesson (in case this is done one on one) or, and this is much worse - as part of a political move (talks to everyone about the fail, and makes sure they know it is other dev fault).

    1 is standard. 2 is just annouying. 3 is smart in the first option, and makavelian in the other.

    However - some experts will go for option 4: "lets dive in and understand whats going on! grab a snorkel and lets goooooooooooo!"
    Avoid option 4 at all costs. You find yourself working at 2am for no reason.
  • 5
    "Dont touch it" mentality in general leads to spaghetti code very quickly. This mentality also usually reflects a very poor ecosystem, no tests so you dont know what breaks and when or why or how, when going to refactor.
Add Comment