• 2 Posts
  • 1.87K Comments
Joined 2 years ago
cake
Cake day: July 3rd, 2023

help-circle

  • Product owners say, "We want to change the site so users see a list of all the other users on their team with access to this project "

    Okay. Do some thinking. Going to need the backend to return that information to the front end. Decide what URL that should be under (api/v1/projects/users, maybe?).

    Now we make the backend actually do that. Create a new file for this endpoint. Update the routes file so that url points to this file. Write the handler class.

    Does this endpoint take any particular input? We know who the caller is for free from the framework. We only want to return info about one project or all projects? Make that decision. Update URL if needed.

    Write the code to get the other users on the projects in question. Maybe that’s SQL, but might also be ORM (code from a framework that generates SQL based on objects). Decide what information we actually need. Package that up and send it back. The specifics depend on language and framework.

    Write automated tests for this. Make sure it works for

    • 401 not logged in
    • 403 asking about a project I don’t have permission for
    • 404 asking about a user with no projects, or a project that doesn’t exist
    • someone with 1 project
    • someone with 2 projects
    • someone with 10000 projects
    • also consider what happens for 0, 1, 2, 10000 users on the project.

    Realize this needs to paginate. Go back and change the handler code to do that.

    Realize due to some quirk of how permissions work, someone can be on the project twice. Talk with the team about if we should just decide that here, or try to fix the root problem. Probably the former.

    Add deduplication code, then, and test cases.

    Open this up for code review.

    Start the front end work.

    Make a dummy page first and update your API calling code to know about this new route, assuming you don’t have that auto magically set up somehow. Make sure it calls it and gets a response.

    Realize that staff users technically have access to every project in the system. Ask product if that’s how they want that to behave. If no, figure out what you all want that to do instead.

    Do a bunch of react work to make the page pretty, put the response in the right UI elements with links to the right place. Realize the response you’re sending back makes building the links annoying because you didn’t send some part of it, so you’d need to make another request to the backend for every link. That sucks. Update the backend to include the user’s team-id that is for some stupid reason still in the URL. Comment on code review.

    And now I’m tired of writing.

    Edit: I hit submit before I was done. Finished now. Edit: fix typo



  • Some months ago I was giving a coworker shit for not doing much of anything. No protests. No volunteering. No donations. Just works his mid six figure job, plays video games, and dates his works-at-google girlfriend. He admitted maybe he could do more. I said I could nag him the next time a big protest happened. He said sure.

    Well, I messaged him with a quote from that conversation. He was like “oh it’s Saturday?” And then no further responses until I followed up a day later. He’s not going to do anything.

    The other guys from that group also don’t do anything.

    Something about rich white straight (-passing) men comfortably just keeping their heads down and not even doing a half assed minimum bothers me.

    But I guess there’s nothing to be done. I’ll be doing my best.





  • Other people have good answers already. Chiefly to ask questions and talk through your reasoning.

    But also I’ve noticed the difficulty of interview questions varies wildly. Some places would give dynamic programming problems I’m terrible at. Others would give trivial "find the largest number in this array of integers, in python. Don’t worry about efficiency. " problems.



  • I think there’s a certain kind of user who doesn’t really learn concepts, but rote actions. They click the start menu and then excel to open excel, but they don’t really understand that the start menu is an application launcher and Excel is an application that can be opened in other ways. It’s very one dimensional.

    Then when something changes, like the application launcher is moved, they freak out. They don’t have a mental model.

    That’s how my mother is, anyway. It’s all magic with no underlying coherent anything. Not sure how to fix that, because it usually comes up when they’re mad or scared, and that’s not a time anyone will learn.



  • Fruit has been one of my indulges during unemployment. I’d never buy a bag of chips for myself but I will eat a bag of oranges (over the course of several days). Grapes are good, too. Strawberries when they’re on sale. Bananas are okay. Blueberries are good. One of the little groceries was selling pints of cherry tomatoes (not a fruit by most standards) for $1. Ate the whole thing that night.