• jjjalljs@ttrpg.network
    link
    fedilink
    arrow-up
    71
    ·
    5 months ago

    Kind of off topic but some people are really bad at writing jira tickets.

    “Show the user a list of projects [eof]”

    Ok but like, only their projects, right? Do they need to be ordered? Searchable? Paginated? Only active ones or soft deleted ones, too? Do you just need the name or do you need metadata too?

    Somehow product doesn’t love my stance of “if it’s not on the ticket or in a sop, the behavior is undefined and you get what you get” stance.

    • RegalPotoo@lemmy.world
      link
      fedilink
      English
      arrow-up
      15
      ·
      5 months ago

      Dealing with this at the moment - in an org that’s been pretty lax at writing anything down about what and why as far as internal software goes, trying (with support from C-suite) to get people to actually write up any amount of detail in their requests is like pulling teeth.

      I tend to take that position as well; if it’s not defined, I get to define it. If I ask for feedback or review and get silence, that means you approve.

    • xthexder@l.sw0.com
      link
      fedilink
      arrow-up
      8
      ·
      5 months ago

      If it’s someone else’s job to design things, then that’s a pretty terrible specification. But depending on your role, it’s common enough for there to be one person who designs and builds a feature like “User projects dashboard”, and the job is to decide what’s important based on the product. Especially with smaller companies.

    • dejected_warp_core@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      5 months ago

      The problem is that requirements refinement has been unceremoniously dumped in your lap. The failure here is organizational; maybe you have a design person involved, maybe devs are expected to do this. Either way, your job now also includes communications.

      One strategy I’ve used is to draw a low-fi example of what they’re going to get - Figma is great at this these days. Then I add it to the issue and push the whole thing back for early approval in order to suss out these finer points.

      Not to come off as misanthropic here, but many people are hot garbage at describing what’s in their head. Most of the time, it’s all abstract concepts up there until you start asking the real questions. They really do need a whole-ass conversation to sharpen that mental image. Or in this case, what they want that feature to look like. Incidentally, this is also the reason why therapy is a thing, and why it takes people years to make sense of themselves, and that outcome is usually far more crucial than anything we’re doing at the keyboard.

    • suction@lemmy.world
      link
      fedilink
      arrow-up
      3
      arrow-down
      2
      ·
      5 months ago

      If you think it’s fine to show a list of a variable length without it being sortable, searchable, and pagineable, that’d be on you.

  • ☆ Yσɠƚԋσʂ ☆@lemmy.ml
    link
    fedilink
    arrow-up
    43
    arrow-down
    2
    ·
    5 months ago

    The amount of human ingenuity that’s wasted on shit like figuring out how to make more intrusive ads, that could’ve instead been used to advance humanity is one of the biggest tragedies of capitalism.

  • Semi-Hemi-Lemmygod@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    5 months ago

    I was a gifted kid who realized that when I applied myself all I got was more and harder work that I also didn’t want to do. Being successful academically felt like a punishment.

    So I don’t mind at all that I’m filling out Jira tickets. It’s easy work and I have other things to enjoy.

  • antidote101@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    5 months ago

    I failed maths, but I’m great at logic, which I consider to be the more important proficiency for programming.

      • TopRamenBinLaden@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        5 months ago

        I did well in data structures and algorithms in uni, but I have never had those topics come up in my 4 years of being a software developer. I’m in web development, FWIW.

        So you don’t really have to know that stuff, depending on what kind of software engineering that you get into.

        • kaffiene@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          5 months ago

          I’ve done Telephony, Games and I’m currently working in a high performance context. 99% of the time, you don’t need to be thinking about Big O

        • Buddahriffic@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          5 months ago

          I think part of it is going through all those sorting methods to show quick sort is the best so that a) students who run into new sorts are better equipped to determine it most likely isn’t better than quick sort and b) to show the process used to determine quick sort is better than the rest in case you have some other algorithm options you want to pick the best of.

          And yeah, depending on what you do, some tasks never involve any of that, or when they do, they get offloaded onto a library or something that gives the solution to that step directly.

          But, for example, if you have a collection, the question of array vs linked list vs tree is still relevant, even if you’re just choosing a provided construct that is built on top of one of those. Each has their strengths and weaknesses depending on how the data is added, removed, and accessed.

          And with how slow things are these days despite how much better the hardware is, I think there’s a lot of successful software engineers and programmers who should be using that stuff from school more than they are.

      • kaffiene@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        5 months ago

        There’s a lot of software engineering that doesn’t require understanding Big O

        • Buddahriffic@lemmy.world
          link
          fedilink
          arrow-up
          6
          ·
          5 months ago

          Also big O analysis IMO should just be the starting point of maximizing efficiency. Those coefficients that just get dropped can have a huge impact. For example, any algorithm written in JavaScript or visual basic will be of the same order as that same algorithm written in C/C++ or rust, but will likely perform much slower. And the exact manner of implementation could even result in the C version being slower than the VB one.

          And on the other hand, I wouldn’t call a lot of big O analysis very advanced math. You might get a tighter bound with advanced math on some algorithms, but you can get a rough estimate just by multiplying and adding loops together. The harder question would be something like “does this early exit optimization result in an O(x³) algorithm becoming an O(log(x)*x²)?”

          • Zangoose@lemmy.one
            link
            fedilink
            arrow-up
            3
            ·
            5 months ago

            Another big thing that doesn’t get covered by big O analysis is the potential for parallelization and multi threading, because the difference created by multi threading only amounts to one of those dropped coefficients.

            And yet, especially for the workloads being run on a server with 32-128 cores, being able to run algorithms in parallel will make a huge difference to performance.

          • kaffiene@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            5 months ago

            I think the tldr; of what you said is that even when you have a theoretical handle on the growth function, you still need to actually benchmark anyway