Week 5 — Month in Retrospect

For the past five weeks I’ve been writing about my experience learning fullstack software development.

This is a retrospective covering my first full month working on this.

Biggest learning:

So far my biggest learning has had as much to do with how to learn as it does with the actual skills I’ve built.

My biggest bugbear over the past month has been simply finding the time to devote to this. I hadn’t anticipated that it’d be this hard; sure, school’s challenging, but I thought that I’d have established a regular routine by this point. A routine would take away the question of ‘if’ I’d be working on this, allowing me to focus more on improving the actual quality of my work.

Going forward, the lesson is the same as I’ve discussed previously: set up a routine so that I am able to dedicate consistent effort to this process.

You wouldn’t think it’d be this difficult.

Skills I’ve used so far:

React:

  • Setting and using state
  • Conditional rendering
  • Event handlers
  • Promises and promise chaining
  • Child and parent components
  • Debugging
  • Working with input (buttons and forms)
  • Interacting with backend (server)
  • Adding (minimal) styling

Node.js:

  • Building and using backend, mainly for server functionality
  • Using dev tools like nodemon and the VS Code REST client
  • Using middleware to aid development and functionality
  • Testing Node applications

MongoDB:

  • Using a database with event handlers
  • Integrating frontend and backend
  • Validating user input

What I’ve built:

I’ve built two functional apps that deal with user input and are integrated with a backend: Notebook and Phonebook.

Notebook validates input and saves notes to and renders from a server.

Phonebook functions in much the same way.

GitHub repos containing all my work for this course so far:

Student @ UBC (Vancouver, BC).