Northcoders Bootcamp: Week 12–14… IT’S THE FINAL PROJECT!

Jason Eastwood
8 min readJun 21, 2021

THIS IS THE ONE I’VE BEEN WAITING FOR THROUGHOUT THIS ENTIRE JOURNEY AHHH!
So after a week of finalising our first full-stack project last week, we hit the final sprint. The mammoth of all sprints. A 3 week long group project where we’re tasked to essentially just ‘make something’. It’s true when I say almost all of us (particularly myself) were super nervous over seeing who we might get paired with for the final few weeks. This was a big momentous occasion as in a few short weeks we’d be presenting this to tutors, students, and any alumni, hiring partners and general audience members tuned into the live broadcast of our group presentations. It was daunting but exciting!

The first couple of days consisted of a bunch of short lectures explaining the group project phase, along with good etiquette for working in our groups, and explaining any and all requirements. The idea of the group project phase is to quickly build something, whether it be for the web, iOS or Android, utilising at least two new technologies which hadn’t been covered on the course. A pretty daunting task in itself considering we’d just spent 3 months learning Javascript and a handful of other technologies, how were we supposed to learn more new ones in a fraction of the time?! Well, we’d been prepared for this! Like soldiers going into war!

The lectures also explained the concept of planning. Making use of a kanban board would turn out to be essential and honestly a bit of a lifesaver throughout the project. We were also introduced to the concept of spiking and RATS. Spiking essentially being the practice of trying out and testing potential technologies ahead of making a decision. We also had to figure out what the MVP would be for our project, the Minimum Viable Product, and RATS would come into this. Risk Assumption Tests. RATS put the focus on learning and overcoming any major stumbling blocks that could derail a project.

When the teams were eventually revealed, it was a very exciting moment! Luckily I was very happy with my team and very excited to work with these people. I had only worked with 1 of the 3 others before this moment, but I’d heard great things and so we were all super excited to get going as soon as we could! Quickly establishing what our general feel was for everything, potential app ideas, technologies, good practices, what we were prepared to do and what we weren’t. We were all on similar wave lengths and this felt amazing to experience. Within 24 hours we had to conceptualise 3 potential ideas and pitch these to the tutors for feedback. Were we nervous? Nah! We had great ideas, almost too great! Too massive for the short build time? Keep reading to find out!

After developing three strong pitches for varying app ideas and varying levels of feedback from the tutors, we whittled down our choice of apps down to one, My-Tinerary. My-Tinerary is essentially a single app to record all your travel plans in one place. Long gone are those strenuous Google docs or text chains between friends about when to get to the airport, that would be solved! Next came the tech stack decisions.

A few days of spiking allowed us to settle on React with Ionic for the front end framework, and Firebase on the backend. We had high hopes of utilising a bunch of Firebase’s additional functions such as its chat and user authentication to flesh out the app and avoid having to cram in extra tech which might be less compatible. We had initially thought about React Native for our front-end however after a nudge from a tutor that this was a particularly popular tech choice for groups, we thought we’d mix it up for something different. Let’s just say it made for an interesting journey.

Spiking was a great experience as it allowed us to put into practice skills we’d picked up at Northcoders in how to quickly read and understand the tech docs, and quickly plot out rough ideas of what we wished to use each tech for, get a feel for it and make decisions. It was a really interesting process for each of us to play around and report back to the others. Already there were signs that we were one united team working toward the end goal. I had feared maybe we’d trip up a little over some of our other ideas being ditched or outvoted when it came to suggestions and concepts but thankfully we had all realised it not personal, it’s just code.

After this initial three days of spiking, we were feeling pretty confident and determined to absolutely smash the build which would commence after the weekend. We had a clear vision and spent the final few hours of Friday designing the hell out of the app on Figma.

Monday morning came, the stand-ups commenced for real. A stand-up is essentially a quick meeting no more than 5–10 minutes long in which each person would update their team on: what they had been working on, what they would be working on, and any problems they foresaw. We rotated the hosting of these between ourselves throughout the subsequent two weeks and had tutors check-in with us on them for the first few days for constructive feedback. Honestly we pretty much nailed them from Day 1, but they allowed us to plan out the day so seamlessly that we hit the ground running.

After splitting into pairs: one focusing on Firebase and one focusing on Ionic React, we began building. After a couple of days we had really thrown a lot of work at the app already and had a wireframe built, and Firebase connectivity was a little quick off the ground but we eventually got it working after sticking with it a little longer. Thankfully having one another to bounce off of and refer to for help meant we could soldier through and accomplish things that otherwise we may have been defeated by had we been on our own.

As the week progressed, I must admit the prolonged Zoom sessions was taking its toll on me and our schedule began to slip a little as we realised we’d probably been overly ambitious with what could be accomplished each day. By Day 4 of the build, the stress began to show and a number of us (including myself) began to show slight signs of fatigue. Thankfully, with a few hours of solo working I picked myself up, and the team was super supportive whenever any one of us had an off day. It was a great vibe and honestly something I hope to remember for a long time.

We had the core functionality of the app working by close of play on Friday, leaving us approximately 3.5 days left to finish coding. We did have a huge user authentication issue though. I think building almost back to front as we did meant we couldn’t fully utilise Firebase’s functionality properly, and so what did we do? We built our own! Sure it wasn’t the most robust but it worked for what we wanted to demonstrate. The breakthrough was amazing, but it did mean other desired extras (we referred to these as baubles, as in baubles you add as decoration to a tree. The MVP would be the tree).

As the clock ran down on our build time, our MVP came together and so we focused most of our remaining time on ironing out bugs, neatening up our code and styling the hell out of things! We found a fun few animations to give a little more of a dynamic feel to the app. Our spirits were high with what we’d accomplished and though it was falling short of our expectations, I think we all learned just how much can be accomplished by a team of 4 in essentially 8 days.

We made it a group rule to do no coding on the project outside of 8:30am — 5pm (I broke this rule twice to just do a couple of hours extra to neaten up a few layout bits because I couldn’t sleep without doing them) whereas other groups spent a good few hours extra almost every night getting their work done. We were happy knowing what we’d build in the timeframe.

As Day 9 hit and the coding had to stop, we had one more thing to then focus on… a presentation! Each group had to prepare an 8 minute presentation to showcase their app to the world on Friday PM. We had roughly 24 hours to throw together a video demo, a presentation and rehearse our speaking parts. THIS WAS THE REAL CHALLENGE. My anxiety over the project phase was nothing in comparison to that of the presentation. I was quietly confident to begin with practicing over Zoom. BUT THEN THE REAL STANDING IN FRONT OF PEOPLE ARRIVED! This literally shook me to my core.

After a number of practices and rewrites, we finally got there and the actual presentation went great. There will be video evidence of this but it’s not quite put up on the Northcoders YouTube channel yet so I can’t link it if you’re reading this. Every team smashed it and having all the positive affirmation from one another was amazing. Everyone online and in the room wanted each of us to succeed, and so we did. The positive energy was radiating and it really cemented the friendships and bond we had in our cohort of students, now friends. I can only imagine this is somewhat comparable to soldiers on a mission together. A unique but wholesome and amazing bonding experience.

To round up, the whole group project phase was the greatest experience potentially of the whole course. Coming together with friends to build something in such a short amount of time. The reassurance, camaraderie and closeness we had developed was an immense feeling. It allowed each of us (particularly myself) to learn a lot about code and new technologies, but also a lot about myself and my soft skills. I wasn’t aware how much of a tendency I had to interrupt others until I caught myself doing it in the first few days of the course. I wasn’t aware how focussed and driven I could be on an idea. I didn’t know just how visual my mind worked when compared with that of others. I didn’t know how high concept I could think of ideas which then might be slowed down by my actual ability to code.

But this period gave me a great opportunity for self-reflection and growth. Each of us said the same. We learned how to be better communicators, compromisers, how to comfort and reassure one another, how to step up, when to focus, when to not take things personally, and when to listen. These are all vital skills as humans let alone software developers, and I think this may be one of the secrets to Northcoders, but more on that in my next article.

The project phase was one hell of a journey. Definitely stressful (my mind has never been so pre-occupied on an evening for that entire 2 weeks), and definitely a great learning experience. My team were an absolute pleasure to work with. I had the best time. Was is stressful? Yes. Was it enlightening? Yes. Would I change it? Never.

--

--

Jason Eastwood

A young, aspiring Software Developer taking a leap into the unknown and documenting the journey, among other things!