/makers_progress

Links to weekly challenges to document progress throughout Makers bootcamp

Makers - Coding Progress

I've now graduated from the 12 week Makers bootcamp. Here are my updated focus points on my way to securing exciting employment opportunities.

Plans for post Makers continued learning:

  • Focus on Node.js and React
  • Experiment with GraphQL
  • Improve vanilla JS with exercism.io and codewars
  • 99 Bottles Ruby refactoring
  • Start side project - Calling all Superheroes - a React Native project
  • Start MOOC on CS and Machine Learning
  • Go crazy with meetups

While part of the July 2018 cohort at Makers bootcamp, I thought it would be useful to document the key progress points through the 12 weeks.

Week 11 & 12

Final project fortnight!

I started the project working in the backend team. We opted to build our RESTful api on a combination of Node.js, Express and MongoDB. All decisions were based on a desire to consolidate existing knowledge and gain experience in common tech stacks. We were a little nervous about the choice of noSQL DB but were very keen to understand the differences and potential constraints of this approach. When not actively researching the challenges we were working in a driver-navigator pairing style. We managed to host our initial Users and Games api by the target (Wednesday).

We then moved on to accessing the Slack event and web apis to bring in users and to post match results to our Slack channel. Final Project at paddlr.live
Video of our presentation (starting around 30 mins) from Makers July 2018

Week 10

Tech test week! Such fun. I started with the Game of Life which is just my kind of puzzle. Unfortunately I didn't have chance to finish it as the coaches chose different challenges for the week. I will be coming back to this one when I've graduated and have visions of glorious animations and perpetual life forms. Game of Life - TBC

The first required test was the Bank test. Fairly dull in context but it was a great way to challenge my understanding of class encapsulation and other basics of OOP. We had a code review which I failed! The shame.... My resubmission was notably improved though. Bank Tech Test

I finished the week attempting to get to grips with React which I used as my frontend framework to interact with a chitter RESTful api. I found React surprisingly exciting but have loads to learn before I can claim to be happy with my efforts. Chitter Front-end

Week 8 & 9

By the end of week 8 all Makers developers can:

  • use high-quality processes to build a project in a team

In-week team engineering project - A Facebook Clone

This was an enjoyable two week experience. It started with novelty of Rails which overwhelmed us with its voluminous structure. I don't think we maintained group motivation levels particularly well and it showed in the number of features we were ultimately able to implement. It's been an invaluable preparation for the final project where we must maintain momentum!

Weekend Solo Challenge - An Instagram Clone

I enjoyed doing this challenge. Having spent 4 days with Acebook and Rails, I was much more open to the magic of Rails and just let rip. Devise proved to be a total joy and I spent Sunday converting our DIY authentication efforts (in the group Acebook challenge) to utilise the power of Devise.

Week 7

By the end of week 7 all developers can:

  • Build a front-end app in Javascript
  • Work competently in Javascript
  • Reason about asynchronous behaviour in Javascript

In-week Pairing project - Notes App

We were focussing on vanilla javascript this week so started by recreating our own testing framework. Mine doesn't quite rival Jasmine but I learned quite a lot of fundamental syntax by experimenting with a number of testing methods.

Weekend Solo Challenge - News Summary App

This is the project where I grasped the concept of the MVC Model View Controller structure and felt I used it appropriately to structure my newsfeed app.

Week 6

By the end of the week 6 developers can build tested, easy-to-change software in a team using these processes:

  • Break down projects into tasks and allocate them to pairs
  • Build to a specificiation (rather than challenges)
  • Run stand-ups and retrospectives
  • Use a branch/PR/merge git workflow
  • Give and receive meaningful code review

In-week Group project - AirBnB Clone

This was an opportunity for us to work in a team of 4, using a stack of our choice (all completely new - JS, node, express, PG - tested with Jasmine and Cypress). There were multiple technical challenges for us to overcome such as testing asynchronous calls to a database, automating database setup with Jake, amongst many others, but there was also the fascinating challenge of working with new people. Practising communication using an Agile framework and dealing with areas of conflict as they arose.

Weekend Solo Challenge - Bowling Scorer

This was a particularly tricky challenge as the logic behind ten pin bowling is deceptively complex. I initially went down the route of manintaing a frame and roll history that worked very well until I had to handle the final frame scoring. At that point my code expanded to about double the original lines and I decided there must be a more efficient route. Enter Uncle Bob and the bowling kata. Two solutions are presented in the repo.

Week 5

By the end of week 5 all developers can:

  • Test drive a simple front-end web app with Javascript
  • Follow an effective process for learning a new language

In-week Pairing project - Thermostat

Weekend Solo Challenge - Bowling Scorer

See week 6 for updates

Week 4

By the end of week 4 all developers can:

  • Build a simple web app with a database
  • Follow an effective debugging process for database applications
  • Explain the basics of how databases work (e.g. tables, SQL, basic relationships)

In-week Pairing project - Bookmark Manager

Weekend Solo Challenge - Chitter (a Twitter clone)

Week 3

By the end of week 3 all developers can:

  • Build a simple web app
  • Follow an effective debugging process for web applications
  • Explain the basics of how the web works (e.g. request/response, HTTP, HTML, CSS)
  • Explain the MVC pattern

In-week Pairing project - Battle Multiplayer Web Game

Weekend Solo Challenge - Rock, Paper, Scissors Web Game

Week 2

By the end of week 2 all developers can:

  • Use all of week 1's skills (don't underestimate the importance of this)
  • Break one class into two classes that work together, while maintaining test coverage
  • Unit test classes in isolation using mocking
  • Explain some basic OO principles and tie them to high level concerns (e.g. ease of change) .
  • Review another person's code and give them meaningful feedback

Weekly Pairing Project - Oyster Card

Weekend Solo Challenge - Takeaway Challenge

Week 1

By the end of week 1 all developers can:

  • Test-drive a simple program using objects and methods
  • Pair using the driver-navigator style
  • Follow an effective debugging process
  • Describe some basic OO principles like encapsulation, SRP

Weekly Pairing Project - Boris Bikes

Weekend Solo Challenge - Airport Challenge