this post was submitted on 05 Aug 2023
14 points (85.0% liked)

Programming

17662 readers
223 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

The other day I asked for an analysis or at least an UML diagram since we are having quite some troubles and my boss looked disgusted at me for asking such a question. I’m not a professional backend developer, so I don’t know how it works professionally

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (1 children)

EDIT: writing it out, I swear, makes no sense at all

Oh I'm not the one who designed the DB, I just implement the endpoints and stuff for this particular project (my role is that of a FE dev).

I asked cause:

  • they were saying that between me and my coworker, who actively work on the project, and the DB designer, the communication is poor. Which is obviously true since we were handed out the DB with an oral, confused, explanation for a complex DB so we have to ask a lot of questions or ask for very small fixes (sometimes a column is missing etc, nothing that important though);
  • they didn't foresee how interconnected the part 1 and part 2 were. Let me explain how stupid this is: the data from part 1 are mostly read only, which are provided from part2. We knew about this from day one, but it was never added to the visual design [which to this day is still in the making, so it's incomplete]... and neither to the DB.
  • when they actually went to work on part 2 - months later we had the green light to work on the project - they had this sudden realisation: the data are interconnected, we have to rework part 1! (which would have been completely avoidable)
[–] atheken 2 points 1 year ago (1 children)

I understand the predicament you are in, but I don’t know that you’ll get very far with your current approach.

The actual artifact you need from your collaboration is the list of API endpoints and the structure of what the request and response payload will look like for each one. This doesn’t need to be UML, it can literally be a text doc.

By asking for something highly structured that the other people may not know how to make, or do not have the tools to make, you’re putting them in a position where they have to acknowledge that they don’t know how to do something, or causing them to do work that they don’t value. Once you’ve had success on a team and developed trust/respect, you can push for adding process/tooling, but if you’re new to a team, you really have to work with what you’ve got.

Either of you could write a simple doc outlining the API and then collaborate on that (it’s also much easier to actually comment/collaborate on than a diagram, anyway).

[–] [email protected] 1 points 1 year ago (1 children)

I think you misunderstood, I'm the one implementing the API and writing the queries - alongside a coworker that doesn't have BE experience. I'm not the one who made the DB though, neither is he, and the design is not very reliable

[–] atheken 1 points 1 year ago

You said you were in the role of the “front end dev”. I presumed a structure of an API (usually implemented by a “backend dev”), and a UI (usually implemented by a “front end dev”).

My advice still stands:

You need to clarify the interface where each of your responsibilities are handed off.

If you are implementing the API, you can still produce the same document and then you need to get the other people that need to use it to verify that they can build what they’re doing from that. This means they will need to map the data from the API into the UI elements they need to provide. It also means that someone will need to see how that data will be sourced from the database, and identify anything that is not available in the database.