Mug with motivational message in front of monitor with code, by Tudor Baciu

What was it like?

This week has been the BEST WEEK EVER.

We had our second group project, and all of the students were feeling quite run down after the challenges of last week. Apparently, only four or five people had completed the weekend challenge (we could choose either making a page that displays the news from an API or do our Twitter clone, but on JavaScript this time). It was unsurprising that most students had decided to take the weekend off to rest and recover in order to be some form of human for the group project.

On Monday, first thing in the morning, they let us know our groups, and I couldn’t be any happier. What were the odds of being put in a group with almost all the people I wanted to work with? I wanted to jump and laugh and hug everybody!

This week, I considered for a while going into the office, as I felt like groups that had been going to the office for the previous group project had done better and had more fun, but due to train strikes and personal difficulties, I decided to stay home, and so did all the people in my group. Looking back, I realised it doesn’t matter that much wether you work from home or from the office during the group projects, and I am glad I had both experiences to compare.

After knowing about our group distribution, we had a video call to discuss a few important matters. The first one was how to call our group; it had to be an animal name, just because. Someone suggested that alpacas were great, and someone else mentioned owls. We decided to be the “Owlpacas”, and straight away went to generate a couple of pictures to match the theme:

Picture of an owlpaca

We also decided on our schedules, on that we would have two stand-ups, one in the morning and one after lunch, and a retro in the evening before we left. We would try to pair as much as possible, but it was totally ok if someone felt like working on their own for a bit. We also decided that our safe-word in case someone was feeling overwhelmed, was going to be an animal noise of some sort. The most important part, though, was to have fun and take care of each other.

I forked the project (a clone of Facebook, Acebook, which had already a few features implemented), and we all started having a look at it. There were quite a few technologies used that were completely new to us. To be honest, when I first read through it I understood the same as if I were looking at a tome of Chiense law. MongoDB, Mongoose, Express, React, Cypress… How could we get to know all of those and implement new features in only a couple of weeks?

Dog over four cans of drink

The truth is, it didn’t really mattered that much, I was still very happy that I had a supportive and fun group to work with, and that feeling of comfort and safety is what helped us thrive. We were all on the same boat, none of us had a frikin’ clue of what was going on and that was ok, we felt way less alone on it than we had felt the previous week.

We spent the full first two days just drawing diagrams and trying to get our heads around how things were working. We watched tons of videos from (Web Dev Simplified)[https://www.youtube.com/c/webdevsimplified], trying to understand how all the different components and technologies functioned, what the syntax meant and how the heck it made sense. Kyle, the guy that made those great videos, soon became boht a god and a meme between us.

We made the initial diagram all together, trying to see how the elements of the back end connected with each other. The following day, we divided ourselves in pairs and carried on trying to deepen our understanding. I paired with my best friend from the course and, after some good progress, we ended up procrastinating and drawing some stuff on the diagram, including some copy-pasted Kyle faces. I think I spent a whole hour laughing out laud.

Our lord and saviour, Kyle from WebDevSimplified

On the second day, one of the members of our group, who seemed to have been struggling to find some confidence and sense of self-worth due to not fully understanding what the program was doing, dropped out of a call and didn’t come back until the day after. I was a bit worried as they had been in a pair of three with us and wasn’t sure if I had done or said something to upset them. On the stand-up of the following day, they apologised for vanishing and explained how he felt like they weren’t really understanding things well enough and felt uncomfortable moving on with things given that. We applauded how brave it was to be open about their feelings like that, and the rest of the group had a bit of time to express our support and offer a safe space for not knowing stuff and growing together. That was one of the best learning experiences of the week, and I think we all did well in communicating and managing the situation appropriately and with empathy and kindness.

By the end of the third day, we started to overcome the initial shock to the system and to get a better understanding and we started getting through the tickets and making some promising progress. We felt amazing, everything was going so well we could barely believe it. After the last hellish week, this was like being in heaven.

On the last two days, we made a lot of progress. Some of us figured out how to upload pictures to the cloud from the app and display them on the page, some others worked on adding the user’s name to the posts, others on input validation or comments. They were all very challenging features for us, but we did very well and asked for help when needed.

Dog meme with programming messages

After sharing quite a lot of memes and fun, we decided we were going to give the site a special theme, something that would make people laugh at the demo-day, and ended-up deciding to go with “Grumblebook”, as a fun outlet for our software devs frustrations. People would Agree or Disagree with posts instead of like them, and all the error messages and submit buttons would be tailored accordingly. It sounded awesome and really helped making the process even more fun and interesting.

We did all the stand-ups and retros, which we didn’t do during my last group project, and to be honest, I haven’t missed at all being on-site, as I feel in contact with all my group and not at all isolated, which is great.

This week has been great fun, and I am looking forward to the next one and to see our final result!

Dog on computer with message 'I don't know what I am doing'

What did I learn?

Soooooo many things!

This week I learnt some more about what working as a group meant (and, how having a group you work and get along well with can make your life so much easier. I learnt how we can best support each other and overcome communicating issues.

I have also learnt a lot about noSQL databases like MongoDb, that is so similar but so different from using Postgres. We have had to read a lot about react and how to test it, and I have learnt to love its versatility.

We have realised how important dedicating time to understand and research a new technology you are working with is. It is not wasted time to not touch the code for a couple of days and just taking notes and making diagrams.

How important it is to share knowledge. It is very easy to concentrate on a particular feature and not know how to do the rest, so we are trying to make everyone aware of what the process of getting there involved.

I can’t believe we only have a month left, it’s going so fast. In only a month we will be out there trying to find our dream job!

Coding program with react logo