• Hector_McG
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      il y a 1 an

      Pinning the client down to deciding what they actually want/ need from the software. Preferably before you’ve delivered it, not afterwards.

      • derpgon
        link
        fedilink
        arrow-up
        3
        ·
        il y a 1 an

        You don’t want the client to choose, he doesn’t want to choose either. Just tell him one is better than the other. Preferably the one that’s easier to transform to the other one if he changes his mind.

  • AtegonOPMA
    link
    fedilink
    English
    arrow-up
    6
    ·
    il y a 1 an

    2: Learning new technologies

    • TheLinuxGuy
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      il y a 1 an

      It’s incredibly difficult task to master/learn an old technology or an old concept that aren’t documented well. For an example, parser algorithms are very well known for being too verbose and unnecessarily over-complicated in documentation, if you ask anyone you know in the programming community, for the next 100 people, they wouldn’t know how to implement LALR parser or Earley parser even if they graduate from university with a computer science degree.

      One of the way I use to learn a concept is writing a full manual of it in LaTeX in a way that I am explaining every single aspect of it to a layman and how it can be implemented in every way as well as providing examples in C code forms. It’s a bit interesting that you sometime learn better by trying to teach it to a made up audience when writing a manual.

      Example page from a book I’m current writing in rough draft:

      spoiler

  • neil
    link
    fedilink
    arrow-up
    5
    ·
    il y a 1 an

    PMs and business support people with alcohol abuse disorder

  • sizeoftheuniverse
    link
    fedilink
    arrow-up
    4
    ·
    il y a 1 an

    Having to deal with hype cycles. You have to play along even if deep inside you know it’s stupid.

    • exapsy
      link
      fedilink
      arrow-up
      3
      ·
      il y a 1 an

      not if you have invested in making it scaleable. but if you’ve inherited already one from another dev then you’re probably fucked. we barely cared back then about scaleability.

      • flamboyantkoala
        link
        fedilink
        arrow-up
        2
        ·
        il y a 1 an

        It’s usually the domain knowledge that gets lost over the years that causes maintenance problems not the code or tech.

        Why things are done this way gets lost. The decisions that led to it. The hard earned knowledge by the original dev team.

        New team comes in and everything they do breaks something else because they don’t understand the up and downstream of their project.

  • I Cast Fist
    link
    fedilink
    English
    arrow-up
    2
    ·
    il y a 1 an

    Figuring out why my perfectly fine code isn’t working as expected

  • Phoenix
    link
    fedilink
    arrow-up
    1
    ·
    il y a 1 an

    Commenting.

    I suck at it documentation. I always forget to do it, and then I forget what the code actually does, later. Then I spend a few hours analysing my own dogshit code before scrapping the whole thing.