We Got Singles
If your first thought as you read the title was that we have decided to branch out into online dating, you needn’t worry. We are staying put and sticking to what we know and love. Our relationship with coding gets stronger by the day. We are tying the knot between trainees and clients. Okay, enough of the Valentine’s cliches. Sorry, we couldn’t help ourselves.
A dating application as a group project however, has proven to be an incredibly effective way for our trainees to apply the skills they have gained from our 12-week immersive course. It not only enables them to actually build something real, but it helps to prepare them for the way in which an agile software team runs in the workplace. The project is a week long and it’s the first time throughout the course that trainees are placed into groups larger than a pair. This means that in addition to having to consider coding best practices, they have to work alongside their colleagues without encroaching on what others are doing. This is a skill in itself and one we know they will need moving forwards.
Having run this assignment eight times, we know the components that make it work. Those who we have placed in roles following completion of the project say that it was the turning point for them and the moment that they realised they could actually become a web developer. So what makes ‘We Got Singles’ such a core part of our immersive web development course?
Well firstly, the workflow we set up runs in exactly the same way as a real life software house. This means that trainees have to use and adapt to agile software techniques being used in leading web development teams.
Making good use of pair programming, effectively managing projects through Pivotal Tracker, and estimating and planning efficiently using techniques like Story Poker, are just a few examples of what we expect trainees to do. We want to make sure that they learn the ropes for each and every stage of the process. Testing is also an integral part of this and we get them to apply software development processes such as Test Driven Development (TDD) which is quickly being adopted by agile software development teams in the industry.
In order to work effectively as a team, they need to go beyond the basic git commands they learned in their groundwork. They must develop a workflow using master, development and topic branches. This opens the possibilities of merge conflicts in their code; a scary prospect for new developers but one that is easily handled once they have experienced it a couple of times.
Before any of their changes are accepted, they must ensure that their development and topic branches are updated, run their tests and send a pull request. As team leader, the instructor has often pointed out areas for improvement before a PR was fully merged, just like in a real team. This extra scrutiny is a good early test for our trainees as they prepare for working in a real software environment.
Getting to grips with the right tools for managing and implementing software projects is a significant part of this assignment. Platforms like GitHub and Bitbucket are just two that trainees aren’t just encouraged to know, but made to use throughout the course so that they become second nature.
So how do we know that we are getting it right? On average the developers are turning out 9.66 user story points each weekly iteration, that’s roughly a feature each day and completed points have ranged from 27 to 52 in a week. This is proof for us that the course is working and that the project is successful at drawing out the right skills, at the right time.
In their groups, the trainees planned out their iteration and used Pivotal Tracker to allocate tasks:
To give you an idea of the workflow that the trainees have been exposed to, you can read the commit history of some completed iterations here:
The care and passion we put into our courses sit right at the heart of We Got Coders. We want those we train to reach out for their dream job and know they have a strong chance of getting it. This project encompasses that ethos and we are proud of the way in which it challenges our trainees and provides them with a platform to demonstrate what they know - to themselves as well as others.