Bootcamp journal - the backend module

Bootcamp journal - the backend module

I'm Jen and I’m in my mid-30’s, making a career change into tech. I'm on Manchester Codes’ Software Engineering FastTrack course - a part-time, 24-week bootcamp based in Manchester, UK.

The Backend Module

For the past few weeks, while the snow has been falling outside my window, I’ve been steadily working through the backend module of my bootcamp course. If you read the last blog post in this series, you’ll know that I embarked upon this module with practically zero prior knowledge of backend development and all the terminology was new to me. I don’t mind saying that it was a little bewildering. However, fast-forward nearly 6 weeks and I’m pleased to say that I now get it. Moreover, I have loved it. It’s been a steep learning curve, but with lots of coding and building I have:

  • Built two RESTful APIs to perform CRUD operations on a database
  • Implemented MySQL databases to sit behind those APIs
  • Learned how to use Docker to run those databases in containers during development
  • Learned how to use Express, the Node.js backend framework
  • Learned how to use Sequelize ORM to connect to the databases
  • Fully tested those APIs using Mocha, Chai and Supertest
  • Used Postman to interact with my APIs
  • Learned a couple of bonus technologies such as dotenv and Nodemon
  • Deployed one of the APIs using Heroku, so it’s available as a live demo

You can see one of the APIs in action if you’re curious - visit my GitHub repo and go straight to the README, which tells you a bit more about the project and provides some links to interact with the API and the MySQL database that sits behind it. (Full disclosure: There’s no fancy visual front end, because that’s not what this project is about 🙂)

What I’ve learned

I don’t know about you, but when I’m learning something new, I like to make sure I’ve really understood something before moving on. I want to know and be able to explain exactly what every line of code I’m writing does, and its part in the project as a whole.

At the outset of this course, I initially worried that the fast-paced nature of bootcamp wouldn’t allow for that. I’m pleased to say that that view was wrong. Particularly during this module, I’ve learned the theory, built something, delved into the documentation, then built it again from scratch to really reinforce that new knowledge.

Sure, there have been lots of bugs to tackle throughout the build, but through solving each one methodically, googling, getting support from my cohort buddies and asking lots of questions, each one has been a learning experience (although with a fair amount of frustration and swearing, it’s true 😂). I suspect my tutors are fed up of all my “but what does this bit of code do exactly” questions, but thanks to their patience, some extra Codecademy tutorials, and a lot of googling, I’m confident I understand the ins and outs of the APIs I’ve developed.

To prove this (to myself, primarily) I’ve written up the process of building my second REST API - for interacting with a book library database, as a detailed walkthrough for others to follow and build their own API. There’s nothing like explaining something to someone else to force you to question your understanding of every single step. Look out for that walkthrough on my blog soon.

The only question is, what to build next?

What’s next on the course?

In a word, React. Our course is soon to move on from backend to frontend again, and we’ll be learning React, and building on the HTML and CSS skills we learned in the first weeks of the course. Sass is going to make an appearance again too, which I’m really looking forward to. Although it’s true to say that I have loved the backend module (and I have a new-found respect for all the wizardry that goes on behind my favourite websites), I can’t wait to get stuck in to React. Everyone loves a shiny, whizzy frontend, after all 😊

Come and say hi on Twitter @jlopenshaw - I talk about #100DaysOfCode, all things tech and my route to becoming a full stack developer. I’m on LinkedIn too