Dev Academy students build in-house teaching software!

Enspiral Dev Academy trains beginners into work-ready junior developers through 9–18 weeks of remote study and a 9 week intensive in-class bootcamp in Auckland or Wellington, New Zealand.

Don Smith, Teaching Lead

Enspiral Dev Academy’s teachers have wanted to build their own Learning Management System for a long time. Previously we’d used a variety of different tools to issue student assignments and manage student progress. We identified a number of opportunities with our current tools and we wanted something more elegant, more integrated, more Dev Academy.

When Auckland’s Harakeke cohort was in week 7 and 8 of their bootcamp, their challenge was to build a multi-day project as a team. Don Smith, the lead teacher, noted the difficulty of coming up with a 4 day challenge for 16 people to work on — it would have to be big. The cohort and teachers suggested a number of options for projects they could work on, including a generic e-commerce platform, and an event management and rating solution. Don also mentioned that he’d only just started work on the codebase for a Learning Management System, and that this might make an interesting project.

The students jumped at the chance.

Dev Academy’s Harakeke cohort working and learning from the Auckland campus

When Don began building the Learning Management System (LMS) he intentionally chose all the same tools that the students were familiar with, because Dev Academy only teaches industry-relevant tools and best practices. The backend of the LMS exposes a web API layer using Node.js and Express.js with PostgreSQL for data storage and JWTs for authentication. The frontend is React/Redux and uses Jest, Enzyme and Codecept for unit and end-to-end tests.

To maximise team efficiency, Don created 4 feature teams around the 4 highest priority user stories. These were:

  1. As a student, staff member, or employer, I can register and be approved by an administrator, so that I can log in and access the features appropriate for my role.
  2. As a Phase 0 student, I can issue my own assignments, so than I can maintain momentum without needing to rely on Dev Academy staff.
  3. As a student, I can take evaluations on a variety of programming topics, so that I can gauge how my learning is progressing and where I need to apply more focus and energy.
  4. As a student, I can create a professional profile (i.e. a mini LinkedIn profile), so that employers can see my interests, experience, personality and work preferences.

Each feature team took a single user story and each student joined the team that most resonated with the impact they wanted to have on the project.

The Harakeke students were really excited by the opportunity to give back, and leapt into the work. Working from Don’s code base was a learning experience, because, while it used the same technologies the students had learned, the quality was higher than than they were accustomed to. For example, the code base was well factored and testable with no duplication.

The students faced many challenges, working with new libraries and frameworks, and things that ‘just didn’t make sense’ until they did. They had learned how to issue JSON Web Tokens when they covered authentication in class, but the LMS also uses 3rd party OAuth with GitHub, and learning the best way to integrate these took time. Two of the feature teams also designed several many-to-many relationships in the data model that wasn’t intuitive to work with at first.

At the end of the second day, Don asked the students if they wanted to continue with the Learning Management System, or switch to a different project.

Dev Academy’s Harakeke cohort working and learning from the Auckland campus

Without exception, all 16 students voted to continue working on the tool. The teachers were touched by their dedication to their work. Don notes,

“I’m just overwhelmed by the generosity of this group of humans. I was clear from the beginning about how uncomfortable I was about suggesting the students work on an internal Enspiral Dev Academy project. But I knew they would learn heaps and the project would have enough substance in its scope. The way they each took ownership of their features and poured their energy into the success of the project is a real testament to their character as individuals and team members.”

By the end of the 4th day, each team made an enormous amount of meaningful progress on bringing the tool to life. And thus, MEDALS, the Meaningful Enspiral Dev Academy Learning System, an anagram for the EDA LMS, was born.

The staff and students are absolutely thrilled with the tool. Rohan Wakefield, Dev Academy’s co-founder, notes,

“Dev Academy has been so impressed with the contributions of Harakeke. We’re blown away to have a tool built by our students for future students to use. What could be better than that?”

It shows that the skills students learn on bootcamp have real and immediate practical application — only 7 weeks into the course. The students will be able to use this project as part of their portfolio of work to show potential employers what they can do. They graduate with real life work experience and a tool that helps future students under their belt. Ka rawe Harakeke!

If you’d like to learn the skills to begin your journey into technology, and open the door to creative, well-paid work that you can do from anywhere in the world, Join Dev Academy today. Start the preparation phase through remote learning, before entering the in-class bootcamp in Auckland or Wellington. Graduate only 9 weeks later with the skills to become a junior web developer and craft the future. Apply now.