I started a project earlier this year to re-familiarize myself with web technologies that have come around in the last 2 or so years and to rejuvenate related rusty skills. The beginning was great, I wrote a blog post 5 weeks in a row. My life was pretty quiet at this point. I had finished up travel for the spring, I wasn’t on major projects at work that left me brain-drained at the end of the day, and there were no upcoming conferences I needed to prep for. But then all of that changed.
At the beginning of June, I was put on a Long and Difficult project. Don’t get me wrong, I’m really enjoying this. But it does mean that since June, most nights I get home and I don’t want to write code. I also wrote 3 new conference talks between June and the end of September. Each talk takes at least 15 hours of work, many take quite a bit longer. None of this is a bad thing. I like that my job challenges me. I like that I can leave my job at the office and am rarely working outside my normal 9-5. I like exploring new topics and format for talks. I only have so much time in a day, and I enjoy having a life, so #micheledoesweb fell to the wayside.
That doesn’t mean I haven’t used bits of spare time to keep investigating. I’ve been learning plenty, just in smaller chunks. Could I have written a blog post on each of those? Possibly. Some of those blog posts from earlier this year took 4-5 hours to write, not counting the time actually learning (for reference this one took 2 hours). I just haven’t had that time, and being out of practice writing doesn’t help either. But here’s some idea of what I have done.
I started learning Go. After dealing with issues in JS, I wanted types. Swift 3 wasn’t out yet (and still isn’t ready IMO), so Go was the next best thing. After wrestling with JS, Go was wonderful. There was a compiler! And actual objects! And types! But the whole
$GOPATH thing felt like a hack. The package manager really isn’t great, and I was worried I’d run into versioning issues if I continued to use it. There are also lots of web frameworks in Go, but they had the same kinds of issues that something like Sinatra has in Ruby, where they were “micro frameworks”. It turns out I like the way I was able to structure my Hapi.js application. I stopped learning Go at this point.
I dug into AWS. I have access to several online learning platforms that cover AWS. Most chapters of online courses can be done in ~10-15 minutes. I’ve learned about everything from EC2, to RDS, to Lambda. I’ve deployed a static site backed by S3, an EC2 instance, and configured DNS with Route 53. I still need to figure out the whole EC2 <-> RDS thing, but my AWS skills are much better than when I started #micheledoesweb.
I learned about Flow, a JS type checker. My friends over at Artsy have been doing a lot of JS recently, and my Twitter feed now has more JS than I ever imagined. When I was starting #micheledoesweb, I looked into TypeScript, but I didn’t want to learn an entire new language (which is funny because I started learning Go anyway). It also meant that I couldn’t use most of the JS tutorials without doing a translation from JS -> TypeScript. But recently I learned of Flow, which is a static type checker for JS. It doesn’t require a new language or tons of extra tools, but it does give just a little extra security that I felt was lacking from pure JS apps. I’m not sure if I’ll use it, or JS, for #micheledoesweb but I am glad I took the time to learn about it.
In addition, since the beginning of June I have:
- Attended 5 conferences
- Spoke at 4 of those conferences
- Gone on 7 distinct trips
- Flown over 20k miles
- Helped with 4 app releases
- Got my first direct report 🎉
- Started working on my first hardware project for Halloween
The end of 2016 is looking to be much calmer, so I hope to be able to pick #micheledoesweb back up in earnest very soon 🙃