I'm a relatively new dev who is part of a team building a invoice management and payment system for our company. We don't have a project manager as we use this methodology called Scrum and in theory the team is supposed to "self organize." But the team doesn't organize at all. We are handed these vague features to work on, we work on them, and then we mash them together in a merge and go get handed more features.
In practice what happens a lot is that nobody knows what is going on with lots of things. I don't know what other developers are doing and they don't know what I am doing. I know no SQL besides select and now am building the entire database system thing for transaction history with bits of code copied off W3 schools but am developing it alone when it is a core part of the system. It is not as if this company is a low paid one which hires random people. I'm the only person here to never work at either Amazon or Uber which is intimidating in itself. The skill seemingly exists but they just go and do their work and nothing happens as a team.
There have been numerous features I don't understand and when that has happened it seems that I can build whatever and our testers will say "I think its ok. See if they complain." I can ask the other devs and they will just tell me that they often don't understand what or why they are doing so they just code to the very short spec and let testing figure it out and testing passes it off to the business analyst who often doesn't know who passes it to the product owner who passes it to some client who passes it to their expert in X.
You will often never hear back on clarifying questions but the sprint still needs to be finished so you do whatever and pass it into master. Plenty of features are 80% finished and never get done.
I feel like I am just building little widgets and tossing them into a pile behind me. Maybe this is how development works?.
The only thing we do with any sense of organization or regularity is the Scrum stuff.
How does one grow/achieve anything in this environment?
this methodology called Scrum
. Scrum is a well known established methodology. What you describe sounds like you in fact do not follow this methodology.Retro
means retrospective meeting that takes place at the end of the sprint and allows to reflect on the team performance.