Web dev 1.0 – The Process πŸŒ±βœ¨πŸ‘¨πŸΌβ€πŸ’»βœ¨πŸŒ±

For the last 3 years or so, I’ve been immersed in the world of code. What started as a simple workshop to help me build an MVP for an app turned into a full fledged rabbit hole, and before I knew it, I was working for a kick-ass EdTech company and spending my weekends sipping and writing Java. I’ve learned a ton, but the journey definitely hasn’t been linear.

Learning to code during evenings and weekends is great, and got me a working prototype of my Android app, but it has it’s limits. No amount of passion or drive can replace putting in the time, and I wanted to find a way to learn more, faster, without necessarily going back to school.

It just so happened that at the same time that I was feeling this urge, Les Pitonneux, a non profit that helps people learn to code, had a new cohort for their Lab12 program that was about to start. I’d already done a series of Android workshops with them, and I’d gotten a lot out of it, so I figured it was worth a shot.

Lab12 is twelve week “un-bootcamp” for self learners. There are no classrooms, no lectures, and certainly no fixed curriculums. You start out with a goal, usually a specific project, and with the help of mentors and your peers you work towards it for the duration of the program. It’s good to have a sizeable amount of time to dedicate to learning each week as well.

In my case, I wanted to make an interactive logic puzzle, while using modern web development tools that are similar to what’s being used where I work. The puzzle is something that could be integrated into Netmath, but more importantly, the whole process would help me become more familiar with the possibilities and constraints that come with building web apps. Design that’s informed by development is more robust, so I asked to be able to dedicate some time in my usual work-week to learning JavaScript and React.

A mural near Notman House that I like. It’s kind of chaotic, just like that front-end programming landscape!

Lab12 was divided into 3 parts for me: ideation, knowledge acquisition, and building. First I needed to figure out what exactly I wanted to do. Yes, I wanted to build a puzzle app, mais encore? I needed to scope the project into something that was achievable in 12 weeks, and also map out how all of it would be organized and what technologies I needed to learn.

The learning part is tricky, because I found that this is where motivation can take a bit of a dip. Optimal learning happens when you build onto prior knowledge bit by bit, applying what you learn as you go along, but it can be tempting to just go out on a limb and keep learning a bunch of things that you aren’t going to use right away.

One of the resources I was using, Eloquent JavaScript, had some particularly thorny bits that, while fascinating, were utterly useless for the first development phase of my project. I read on a bit further than I had to, and during that week where the puzzle app wasn’t moving forward I felt a big dip in my energy. It’s a tricky dance to balance learning and progress, but when you get the mix right it feels almost magical!

Dance magic dance!βœ¨πŸ•Ίβœ¨πŸ‘¨πŸ»β€πŸŽ€βœ¨πŸ’ƒβœ¨

I spent a little over a month learning quite intensely, then came the building phase. There isn’t a ton to say about it other than the fact that it’s one of the most rewarding phase of any project. It’s when your planning and learning finally come to fruition, and you prove to yourself that you can do more than just follow along with a tutorial or copy/paste Stack Overflow. This is where I usually show off what I can do on Twitter. πŸ˜‚

(By the way does anyone know the proper punctuation of emoji in a sentence? Do they replace the period, or go before/after it?)

At the end of the 12 weeks, I had a working prototype that was actually pretty fun to use. There were a few bugs in it, as is the case with most software, but nothing particularly worrisome. Setting aside the extra time to code made a huge difference and gave me a nice boost of momentum for my learning goals. I’ve taken the puzzle app even further as well, by making a puzzle builder, but that’s a whole story in itself!

I guess the takeaway is that if you feel like you’re in a bit of a rut or you’ve hit a plateau, there’s probably a way to fix that and take your game to the next level. In the immortal words of Enrique Iglesias, Baillamos! πŸ’ƒ