Group Projects Are My Villain Origin Story
i need to vent about group projects. this is a safe space, right?
the setup
four people. one project. eight weeks. how hard could it be?
spoiler: very hard.
the team archetypes
you know them. you've been on teams with them. maybe you've been them.
the ghost shows up to the first meeting. contributes to the initial brainstorm. then... vanishes. responds to messages three days late with "sorry i was busy". their contribution at the end is always mysteriously smaller than everyone else's.
the bulldozer has strong opinions about everything. doesn't listen to other ideas. will redo your work because it wasn't "done right" (according to them). exhausting but at least they do things.
the yes person agrees with everything. "yeah that sounds great!" has no actual opinions. you can never tell if they understand what they're agreeing to. probably doesn't.
the martyr takes on way too much. then complains about taking on too much. refuses to delegate. slightly passive-aggressive about it.
i've identified that i tend to be a bulldozer-martyr hybrid and i'm working on it.
what went wrong
oh, where to start.
- we didn't define responsibilities clearly enough
- our code styles were completely different (tabs vs spaces: civil war)
- we used google docs for code review (why????)
- communication was inconsistent at best
- one person dropped the course three weeks in and didn't tell us
the final product worked but the process was... rough.
what i learned (the hard way)
1. set expectations early who does what. when it's due. what "done" means. write it down. everyone agrees. no ambiguity.
2. define communication what platform. how often. acceptable response time. this sounds overkill until you're chasing someone for three days about a two-line change.
3. version control is essential "final_v2_actually_final_REAL.py" is not a versioning system. use git. even if it's painful at first. especially if it's painful at first.
4. have hard conversations early if someone isn't contributing, address it week 2, not week 7. uncomfortable? yes. necessary? absolutely.
5. assume good intent (until proven otherwise) most people aren't trying to screw over the team. they're just overwhelmed/confused/dealing with their own stuff. start with empathy.
the silver lining
despite everything, we passed. we actually got a decent grade. and i learned more about collaboration from this disaster than i would have from a smooth project.
working with people is a skill. i am acquiring this skill. slowly. painfully.
practical tips for future me
- use github from day one
- meet weekly, even briefly
- give feedback kindly but directly
- know when to escalate to the tutor
- pick your battles
final thought
solo coding is peaceful. collaborative coding is chaos.
but most real software is built by teams. so i better figure this out.
only three more group projects before i graduate. i can do this. probably.