Disclaimer: this article is satire, and aspects of team culture, such as the supposedly tyrannical team lead, and behaviour have been dramatised.
BREAKING NEWS. Our team has secured an exclusive tell-all interview with a member on the Notangles (https://notangles.csesoc.app) team. The interviewee’s identity, as well as those of the members referred to, will be kept confidential (*) to protect them from the NDA signed during onboarding.
The sun streamed through the multi-framed window, castling a soft light, a halo almost, upon the head of the interviewee. They sank into the dark green suede, the reporter on the zesty retro leather.
So, tell me about Notan-
Last morning at 3am, I was finally about to sleep. I clasped my hands and rested my tired wrists on my torso, my back slightly arched and uncomfortable.
Letting out a deep sigh, one might’ve thought I had just participated in a marathon, or was at the gym having a mad sesh. No. I had simply been working on Notangles (https://notangles.csesoc.app) for the past 5 hours, sitting in call with Murray-Johnson* nagging at me on every minor issue. "Remove those useless spaces." So many bugs to fix, yet Murray-Johnson was hyperfocused on some itty bitty spaces.
Their voice reverberated through my head, “Fix those up now,” stern and heartless, unsympathetic, unyielding; sending chills through my spine.
I do hope for the day that the words of that cold, cutting voice will eventually leave.
I hate to admit it, but I think about Notangles more often than I would like to…
I was able to fall asleep, or so I had thought.
Rather, I was awake in the realms of my dreamworld, teleported back into the same old chair, the same old Notangles voice chat with Murray-Johnson in it. I was so confused, I thought I had fallen asleep. In the comfort of my bed. Why was I back here? I freaked out, covered in sweat.
"Oh, you're back?" It was that VOICE, that TONE again. Annoying and condescending, Murray-Johnson’s.
I wanted to leave the voice chat. I had tried to get up from my chair, but I couldn’t. I was glued to it. An unknown force tied me down like a prisoner. I could not escape this life. I could not escape Notangles. It was ingrained in my head like a life purpose. If not Notangles, then what?
The interviewee looked at me beseechingly, hands gripping the edge of the sofa, feet digging into the plush, voluminous rug that encompassed the floor.
The next hour, even in dreamworld, felt like an eternity. Those fingers of mine, they typed by themselves. They were stuck to the keyboard like gum on a pavement. I worked and worked, through one ticket, to another. I wanted a break, but it didn’t matter what I wanted, I could feel Murray-Johnson judging on the other side of the screen. Even though he said nothing, his presence was overbearing, looming over me like Ryuk in Death Noteⓣ.
I couldn’t take it anymore, I was going crazy, I screamed, “LEAVE ME ALONE.”
And somehow, I woke up in my bed, like my real bed, freed from my eternal turmoil.
I felt tears streaming down my face. My heart was racing.
But, it had only been a dream.
You would think it had ended with that. Because shortly after I opened my eyes, my phone chimed, a clear ding. It had only been an hour since I’d gone to sleep, you know.
My eyes flickered down to the notifications, and there it sat there,
“Murray-Johnson has assigned the ticket feature/NTGL-420 to you.”
I can’t… I can’t do it anymore.
What’s the point of living when I am a prisoner in my own life?
Thank you for sharing. This team lead of yours, they sound quite brutal. And the team culture, quite toxic.
I tried to change things, I really did. But he wasn’t having any of it.
The toxic overwork culture prompted me to drive internal bonding. I didn’t want Notangles to be a team where we communicated only through pull requests and standups. Thus, I encouraged the group to go out once in a while and bond over things that aren’t just “Have you finally fixed that one bug?” “Where are your features?” “Why does it take you so long to complete your feature?” “What the fuck is this piece of code?” “I’m disappointed in you.”
However, one of my team leads, yes, Murray-Johnson, has prevented my efforts to mitigate this culture by being absolutely negative about any sort of team bonding suggestions that I bring up.
Moreover, Murray-Johnson’s short stature, hunched back and nagging attitude very much reminds me of my late grandparent, who used to whip me when I was younger just because I left 1 grain of rice in my bowl. Whenever I see Murray-Johnson, I feel a rush of trauma washing over me, resulting in me shivering in fear and anxiety. Murray-Johnson triggers all my past issues. Murray-Johnson causes me to go to therapy and wondering why I will never be a good enough member, never a good enough daughter.
Why can’t Murray-Johnson just go get milk and never come back. Why do they have to come back?!
Oh, that’s really great. Great to hear. OKAYY so getting into a Flagship Project (some listed under "Student Resources" at https://www.csesoc.unsw.edu.au/), we should be looking forward to collaborating with like minded individuals and work towards a common goal. Who would you pair-program with, and why?
Gemima* for sure, we work too well together, two peas in a pod. In the beginning, I didn’t know much nor did I have a lot of confidence in my abilities. Because we were both relatively new to the Notangles codebase, if we struggled, we struggled together. Apes together strong.
A fly swirled through the room then landed on a corner of the coffee table, a #000000 pixel on the eggshell white coffee table top.
Wow, that's so wholesome. Would you be able to tell us about a problem you guys solved together?
A problem that we came across while working on clashes was that we weren’t grouping the clashing classes properly.
Initially, our plan was to loop through all the classes and if there’s a class that overlaps with another class, timewise, we create a “clash group” for it. Following that logic, for every class, we check if it clashes with any of the currently existing clash groups. If it clashes, add it to the corresponding clash group. If it doesn’t, create a new clash group for the non-clashing class. Afterwards, clash groups that have only 1 class each will be discarded, as effectively, that class is not clashing with any other classes.
However, the list of classes weren’t in order and this was problematic. For example, if you had classes at 9am-11am, 12pm-2pm, and 10am-1pm in that order, the code we wrote thought that the first class was not clashing with the second class. So, the first class will be in its own clash group, and the second class will be in its own clash group as well. By the time we loop through to the third class, it thinks it clashes with the first class, but won’t think that it clashes with the second one. However, all three of them should be in one single clash group. It took us a while to realise the problem because it wasn’t obvious at first, until we saw that clashes weren’t displaying properly.
How did you debug this?
We basically did a bunch of print statements and realised that in order for our logic to work, we needed to sort the classes by days, then time. Drawing it all out, we were able to visualise the problem and solve it in the end. There were times when we were stuck, but luckily Murray-Johnson came to the rescue (i.e. scolded us then helped us).
Other than the technical aspect, we would go on voice call together, liveshare the code and talk through our ideas. I found it very helpful when Gemima guided me through her thought processes and how she would approach a problem. We were willing to draw things out if needed, drafted code in the chat and it was a comfortable space to ask questions if we were confused.
Yeah, we’re pretty cute.
Where’s the lie? On that note, who is the best coder on your team? >:)
I think it’s definitely Murray-Johnson, which would make sense because he’s one of the leads.
I believe that you’re not lying.
Yeah. I hate to admit it but sometimes I wonder how it’s possible that so much knowledge can fit into such a tiny man :brain_emoji:.
But all jokes aside, sometimes I run into problems which I don’t really know how to solve. In these times, I turn to Murray-Johnson and ask him about it and BAM dude just knows how to solve it apparently. Maybe the reason why I think that Murray-Johnson is really smart/knowledgeable is because I am not an expert on js/ts/react etc, so seeing Murray-Johnson debug stuff miraculously and just knowing so much is pretty admirable actually. Honestly, I think it’s just because Murray-Johnson is old (at the time of the interview, it has been confirmed that Murray-Johnson is a fourth year, and the interviewee is a second year). It’s expected that he would be wise, y'know.
All in all, I think everyone in the team has their own strengths and are learning along the way, just like me. So, everyone is the best coder because they invest in self-learning and development which they then bring to the project :D. It’s very admirable all around <3
This growth culture is really encouraging to see in our budding dev community, driven by interest and passion. But, it is still a task, something that needs to be done. What is the relationship between Notangles and your time?
I try to invest 3-5 hours per week into Notangles. It also depends on the ticket that I am currently working on. If I find it really interesting, I’m happy to spend hours and hours at a time trying to get it done.
I really love Notangles, however, it can get hard at times because I have other commitments, such as work, study and other societies. When I got stuck, I found it difficult to ask for help because I felt like I should just know it instead. That demotivated me quite a bit, and made me reluctant to give time to Notangles. However, after some time and effort investment, I got used to its frontend and the codebase. It is easy to get carried away and spend a good chunk of time on a ticket.
At this point, I would like to note that the interviewee glanced at her trilling phone, which displayed “Murray-Johnson.” She shook her head vehemently and flipped the phone over, screen side down.
It definitely sounds like you seriously committed yourself to Notangles and was able to get a lot out of it because of your attitude and passion for coding, but most importantly the productive support you received from CSESoc Projects.
I take Notangles seriously and I really appreciate the opportunity to learn frontend and teamwork skills. Murray-Johnson, the Notangles team and surrounding Projects community provided so many opportunities for growth, and they have been super patient along the way. For that, I am eternally grateful.
If I experience moments of weakness where I feel demotivated or insecure about my capabilities (i.e. impostor syndrome), I remind myself of the support I've received and try my best to push through and overcome it!
That’s beautiful, like IU, like this room. And with that, I think we’ve had a good enough look into what it’s like to be a part of Projects, or even to be in a team of devoted developers. Constructive criticisms mellowed out with support, feedback and growth of both soft and hard skills, this is what went on behind the scenes of the Notangles team of 2022.
Contributors: Angella Pham, Rachel Ahn