Updates: Intentions and JavaScript

At the beginning of the year, I posted about my intentions for 2017, in which I laid out a set of learning and project goals. But as these things go, a lot changed in the first half of the year, and basically derailed every. damn. intention.

I quit my job

After about a year at WebDevStudios, I decided it was time to part ways. I had pretty mixed feelings about this. Most there are kind and supportive humans who are more than willing to share their passion and knowledge for all things WordPress and web development. At the same time, however, there were a variety of other factors that caused me a lot of stress and were leading me to burnout city.

Working from home might be overrated

One of the shittiest things about working from home and feeling stressed and burnt out is that you can’t get away from those feelings. EVER. Personally, I want my home to be a safe space, and I’m giving up on the idea of remote work. Well, I’m thinking about it. I’ve worked remotely most of my professional career (since 2006), and only when it wasn’t at all possible to go to an office did it become an issue.

I think completely losing face-to-face interaction is the main issue here. And while WebDev very kindly and generously organized an annual retreat, getting to see your co-workers in the flesh once a year isn’t enough. When you’re interacting through computer screens its easy to dehumanize your co-workers and forget the kind and awesome humans they are.

In a moment of, oh shit, something’s gotta change, I started looking at local opportunities. Like, super local. Right in downtown San Mateo local. And there are some great opportunities for front-end developers / engineers, but with only two years of experience under my belt and a considerable lack of JavaScript understanding, I realized I had my work cut out.

I enrolled in a dev bootcamp

Every front-end developer job in the Bay Area is heavily focused on JavaScript (JS) and JS frameworks like Angular, React, and Vue. So I while I wasn’t disheartened when I was skimming local job listings, I knew I needed to put more intention and focus behind my JS studies. So in April, I began researching different developer bootcamps, looking at both local, in-person immersive bootcamps and remote bootcamps. From a sea of potential candidates, I narrowed my choices down to Hack Reactor and Bov Academy.

Hack Reactor had loads of great reviews, and seemingly a pretty good job placement rate. However, it also came in a the hefty price of close to $20k (for a three month program). 😱 That’s more than my total tuition for the undergraduate degree I earned from the University of Wisconsin-Madison in 2005.

Bov Academy on the other hand, was about half the price, and is conducted solely online. At the time, I wasn’t sure if I wanted to keep working or not, but I did like the idea of having flexibility, a life, etc. Not to mention, the syllabus for Bov stressed teaching JS fundamentals over frameworks, which really appealed to me. Oh, and it’s run by Richard Bovell of JavaScript is Sexy fame, which I’ve talked about in previous posts. But what really sealed the deal for me is that my good friend and former colleague Eric was enrolled in Bov, and his JS knowledge is truly enviable. I wanted to channel my inner Eric, or at least the JS ninja living somewhere in my soul.

It ain’t a bootcamp if you’re not flying through the material

I started Bov in May, and got off to a slow start because not only was a still working, but I was giving a talk at WordCamp Orange County. Regardless, I tried to put in an hour or two after work most days, starting with learning about Markdown and the Command Line, and fast-forwarding through a bunch of stuff to do with HTML and CSS. I tested out of those chapters because if I don’t know that by now, what have I been doing for the past two years, right? 😏

By July, I was free of talk-writing obligations for a few weeks, so I was able to jam on all things JS. It started slow. There was a lot of review of the basics, including data types, etc. However, as I worked through each exercise, I realized things are clicking and sticking for the first time. I was confidently working through problems, and making loads of progress, but not necessarily consistent progress.

Assessing priorities and future goals

At the same time, the weight of work stress was crushing, and I wasn’t able to move through my studies as quickly as I hoped I would. I had to assess where I was professionally and where I wanted to be. I did a mental risk assessment, talked things through with my husband. Ultimately, the payoff of rejoining the Silicon Valley workforce sooner made more financial sense than staying at my job and taking more time to work through Bov. But couple that with the stress situation, and leaving was the only sensible answer.

And now I’m pretty fucking happy

I’m two weeks into studying full time, and I couldn’t be happier. I spend somewhere between four and eight hours studying / writing code. There are no more 7a.m. starts. Hell, I don’t even get out of bed until 8a.m. My overall productivity has been much better. I managed to launch my updated site, am working on refinishing an interior door in my house, and am working on my next WordCamp talks.

What the future holds

My dad is also coming to visit next month, so I’m looking forward to catching up with him, and exploring the greater Bay Area. After that, I’m giving two WordCamp talks, one in Sacramento, and the other in Salt Lake City. If you want to learn about component libraries or get some ideas for methodically approaching WordPress theme development, snap up those tickets!

Otherwise, I’m going to focus mainly on blasting through Bov, with hopes of completing the bootcamp before the end of the year. As I go, I’ll be actively thinking about what I really want to do. Lately, I’ve been loving the idea of coupling data visualizations using D3 with React dashboards.

What about open source projects?

I hope to spend more time working on my open source projects after WordCamp Salt Lake City. A few months ago, I made substantial updates to Alcatraz, where I refactored a load of the Sass and made some minor accessibility improvements.

I’ve also started a new project, the WP Component Library (repo here), which is basically a plugin that allows designers and developers to create and document components used in their WordPress projects (I’m using on this site!). This idea is the cornerstone for both my Using Component Libraries for Rapid Theme Development and Supercharge Theme Development with Component Libraries talks. I wanted to create the plugin as a basis for others to create their own component libraries, and am hoping to add more prebuilt, WordPress components to the site in the coming months.

2017 has been a doozy, but I’m hopeful that the strides I’m taking now lead me to a more fulfilling future. 😄

Intentions for 2017

I hate resolutions, and I think they’re an utter waste of time. Resolutions seem like a one-off list of things to accomplish, they seem to rarely have any concrete action plans behind them. Perhaps that’s why so many people give up on their New Year’s resolutions after a few weeks.

I kinda hate goals, too. As someone with the rebel tendency 1 it’s difficult to hold myself accountable to goals, no matter SMART I try to make them.

But I ❤️ intentions. Instead, I tend to note down things that sound interesting, add a bit of a description, and if I have the time / motivation, I’ll flesh out a plan of attack. For me, it’s a low-stress way of achieving my goals, while also keeping a list of things I can tinker with in my free time.

Learning

There is this weird snowballing effect when you first get into development. At first, you’re probably thinking, “Oh, I just need to learn some HTML, CSS, and maybe some JavaScript, and I’ll be good to go.” But reality often sets in after those initial lessons. You start feeling comfortable, and realize there’s even more you need to know, and it starts to feel overwhelming. I’ve finally gotten to the stage where I’ve accepted I’ll never know it all, but I still want to keep learning.

Learn JavaScript Deeply

I know everyone in the WordPress community has been banging on about learning JavaScript deeply since Matt Mullenweg uttered that phrase in his 2015 State of the Word. From a WordPress fan in the Bay Area, I’m interested in JavaScript not only because of the WordPress REST API, but because even Silicon Valley has been going nuts for JavaScript in the past few years. Learning JavaScript seems like a good way to future-proof my career (for now, at least).

I’ve had a lot of false starts learning JavaScript, but I’m ready to make 2017 The Year of JavaScript!

JavaScript for WordPress Master Course

Zac Gordon used to be the WordPress teacher at Treehouse, and after Treehouse decided WordPress—which powers 27 percent of the world’s websites—wasn’t a worthy technology to teach any more, he undertook teaching the WordPress community JavaScript. I was an early-bird enrollee for the course, but only recently started working through the lessons, and I’ve already learned a lot. I actually feel like I could drop jQuery in favor of vanilla JS soon! 😎

ES6 for Everyone

My employer, WebDevStudios, very kindly signed the front-end dev team up for Wes Bos’ latest JavaScript course. I worked through almost the entire first section of the course before deciding it maybe I should learn more about basic JavaScript before digging into ES6. 🔥

JavaScript 30

JavaScript 30 is another Wes Bos course, and another course I got partway through before deciding I need to take a step back to review some JavaScript basics. The simple projects I did complete were fun, and I’m looking forward to digging in again in a few weeks / months. 😬

React for Beginners

I feel like a fucking Wes Bos fangirl now, but I signed up for this course when Wes offered it on sale over Black Friday. React is the shit in Silicon Valley, and I’m not only excited to learn more about it, but I’m excited to learn how to build JS-driven web apps. And from what little I do know about React, this web component approach is very, very interesting.

Miscellaneous front-end topics

Not unlike one’s stock portfolio, it seems important to diversify one’s learning plan. While JavaScript will be the core focus of my 2017 learning, I’d like to sprinkle in a few other topics.

Front-end performance

Now that I have a more-than-reasonable grasp on front-end development, I’d like to learn more about writing better, more performant front-end code. I also feel like this ticks my maximizer strength 2 nicely—taking already good code, and making it better. ✅

CSS Methodologies & Sass

After exposure to several large-scale development projects involving larger teams of developers, I’ve developed an interest in better organization of CSS and Sass. There are loads of different methodologies out there including SMACSS, OOSCSS, and ITCSS, as well as different suggestions for methods for naming CSS classes (BEM, for example). I’ve already been experimenting with SMACSS and BEM, and look forward to sharing more of my findings in the future. 🙌

Test-Driven Development

This point goes hand-in-hand with learning JavaScript, but I’ve come across a few really great articles in the past few months about other front-end development tests (such as visual regression testing), and would love to learn more about these areas. Optimize all the things! 👩‍🎤

Passion Projects

I love having a variety of side projects. I find side projects to be a nice way to relieve stress, practice new language skills, and otherwise try out new ideas.

Redesign & Develop a new theme for this site

I hired my friend Clayton Gerard to design a logo when I thought I’d still be freelancing 3. And even though I’m no longer interested in freelancing, I am still very interested in updating my site, and utilizing the new visual identity.

Alcatraz

Alcatraz is a theme framework I started with my friends Braad and Jordan. We were hoping to solve two problems: 1) frustration with a shitty Theme Forest theme heavily utilized at my former studio; 2) boredom (because of said shitty theme). I’m basically the sole maintainer of the project now, but I’ve been actively working on the theme through 2016, and am hoping to merge my mega pattern-library branch back into master before the end of January!

WP Style Tiles

I’m really hoping to release WP Style Tiles to the WordPress repo before the end of the year. It’s in a good, workable place right now, but there are things I definitely need to tackle.

A To-Do List React App

How I organize my learning intentions in Basecamp 3
I use Basecamp 3 to organize and manage all of my intentions.

I know absolutely nothing about React at this point (other than a few passing mentions), but I feel like it could be a good candidate for making a little to-do list app. Right now, I use Basecamp 3 to track all of these intentions and each little step within them. It works wonderfully, but paying $30 a month for multiple non-revenue projects is a bit shit.

Managing These IntenTions

I listed a lot of stuff to focus on in 2017. One might say too many things. But that’s the beauty of intentions. I list out all the things I am interested in, and use them as focus for my free time, not a hard and fast list of deliverables that I need to finish by the end of the year (I’m certain many of these intentions will carry well into 2018).

If you have a hard time sticking with resolutions or New Year’s goals, consider trying intentions in 2017.