Caitlin BaileyFront End Developer

My Thing a Week goal for 2018 is going great so far! I know I have to work to keep up the momentum, but so far so good.

The most helpful choice I made so far was to commit to committing code every single day if I can. Sometimes that feels like a big ask -- and I've allowed that to be okay. There have been days where all I did was fix a typo or delete extra whitespace. There's other days where I've worked on something for a few hours and made a ton of progress. Just that step of having to look at code every day though means that I'm keeping all of this in mind every day, and also prompts me to look at my list of 52 things frequently.

So far I've completed 6 items!

  • Headless CMS for DotA website - I've been working on the guild website for my World of Warcraft guild Daughters of the Alliance using At first I just wanted to be able to pull the correct content, but I've done a ton of work over the last month and I nearly have a completed site now! For reference, I've been saying I am going to update to a new website for my guild for years, and finally it's happening.
  • Vue.js for DotA roster - Another thing I've wanted to do for ages is to use the WoW API to build a roster page for my guild. I started this work last year and finally finished it up this year. I adore Vue.js so it definitely doesn't hurt to get more opportunities to tinker with it since I don't get many opportunities at work.
  • Style DotA roster - This one didn't involve too much learning - I adore CSS and I knew this wouldn't be much of a challenge. However I did know it had to get done, and it was much more likely to get done if it was on my list. I was right about that!
  • CSS Art - I've always wanted to try to do something like Lynn Fisher's project A Single Div. I decided to make a pizza... because I love pizza. It's no masterpiece compared to some of the things that Lynn manages to pull off, but it was really fun to work within the limitations of having a single div with just a :before and :after element to work with.
  • Practice ES6 - I used the Daughters of the Alliance website for this, deciding that I would not use jquery and would rely on vanilla javascript for the parts of the site that are not using Vue. I learn best while I'm working on something, so it's been really great to reinforce some of the things I learned from Wes Bos's ES6 for Everyone course. It took my first experience with this not being bound to what I expected in an arrow function to remember how arrow functions handle this, and now it sticks with me!
  • CSS Grid - I haven't had a good opportunity to use much Grid yet at work, and wanted to be able to experiment. I decided to do so on my resume page on my personal site, since it really needed some dressing up and I could be more creative with it if I wanted to be. I still don't think the design is perfect (I probably want to go back to it and adjust what happens with the non-content blocks) but it was very fun to experiment with and I certainly did enough with it that I felt I could call this goal complete. Looking forward to having more opportunities to use Grid at work!

I'm a little ahead of schedule and I'm hoping I can keep up the momentum for the rest of the year. There's a lot of fun stuff on that list and other things I've been really wanting to learn, and the only way to ensure it happens is to keep this up. I accidentally broke my daily commit streak yesterday -- I had a frustrating day and wanted to vent my frustration into Monster Hunter, which I did until just after midnight. Oops! I'll be starting it back up today, though. I tried committing daily once before when I was first doing the redesign for, and it definitely helped progress be made. If you are ever trying to get a project done at home and are just having a hard time making headway, I highly recommend an attempt to do a commit every day. Not every commit will be a good one, but it will help keep the project at the forefront of your mind so you can come up with new ideas and eventually will want to sit down and get a decent chunk of work completed.

At work I've also been making some good progress - I have both an old AngularJS project that is wrapping up soon (well over a year old -- eek) and an Angular 2 project that will be wrapping up in the coming weeks. (Yes, Angular 2 is what the client approved for the project, so it's still a bit older as opposed to using 5 which I believe is the most recent.) It has been a bit confusing at times switching between the two, but the Angular 2 project was a good learning experience getting more comfortable with Angular 2 and also getting to learn some TypeScript.

Looking forward to seeing what I accomplish next month! :D