2020 Year in Review

By  on  

Looking back on an entire year of one's professional life is difficult, but when you consider everything that 2020 threw at us, where the hell do you even start? Forget just surviving the professional aspect of 2020, we all deserve a medal, both literally and figuratively, for surviving it. Nonetheless, as is tradition on this blog, I'd like to review the goals I set forth for this year; you know, celebrate my successes and make excuses for the goals I missed.

The obvious consideration that goes into the goal review is that I was laid off by Mozilla after 8+ years. Losing your job has a way of disrupting career goals, but at the same time, provides opportunities to succeed in other areas.

Goal 1: Be a Big Part of the Firefox Fenix Product Launch

Mission accomplished! Despite having been laid off just a week or two before Fenix launched, I do feel as though I made the most of the opportunity. My biggest contribution came in the form of the tab tray, which I coded a decent portion of, despite my lack of Kotlin expertise. Every Firefox for Android user will use that screen many times per session, and I'm proud to have played a part in it. I'm also so grateful for my colleagues on that team, and am so happy for the launch -- they were treated poorly in the year running up to launch but they've achieved something massive.

Goal 2: Make a Larger Impact on Firefox DevTools

Mission failed! And for obvious reasons. After returning from Fenix, I was with the "team" roughly one month before being laid off. I say "team" because I was the last Debugger engineer left before being laid off; Jason Laster left for a startup and Logan Smyth was not renewed after becoming a contractor. The entire DevTools Debugger team was gone. I did do my best to come up to speed with the Fission effort, but at the end of the day, DevTools was deprioritized and I was gone.

Goal 3: Redesign the Blog

Mission failed! I want to chuckle about this, as I've failed this for a few years. Life hit us fast though -- COVID-19, teaching my children from home, getting laid off -- this wasn't the same failure. Part of me still absolutely loves this design. I do need new inspiration though -- maybe you all have ideas for me?

Goal 4: Get Healthier

Mission failed! ... and I feeeeeeeel fiiiiiiiiiine. In a year filled with so much pain, I wont judge myself. We're all in a literal phase of survival mode. I didn't lose the weight I wanted to but I have been walking a lot lately, which has done wonders for my mental state. And most importantly, I've enjoyed those walks. I lost my soccer team and league, but that's just what life is now. I hate making excuses but there is an aspect of trauma, health and career-wise, that allows for indulging in things that make you feel good. And today, I can say that I feel good.

Moving On

Normally I'd feel bad about missing my goals but being completely honest, and under the influence of a few glasses of wine, I couldn't care less. Blaming 2020 has become a meme but this has been an awful year. Pandemic, virtual learning, social distancing, political strife, layoffs -- it's not a time to judge, it's a time to survive.

I'm incredibly lucky that my family is healthy. I wake up every day jazzed to work on MetaMask and to be learning the engineering side of cryptocurrency. I'm also eyeballs deep in crypto trading, and 2021 is going to be an incredibly profitable year.

I guess what I...hell, we...can all come to realize is that the most important goal or skill we can achieve is the ability to adapt, to be resilient. Like any project, scope and conditions change -- it's how we react that defines success!

Recent Features

  • By
    Write Better JavaScript with Promises

    You've probably heard the talk around the water cooler about how promises are the future. All of the cool kids are using them, but you don't see what makes them so special. Can't you just use a callback? What's the big deal? In this article, we'll...

  • By
    Serving Fonts from CDN

    For maximum performance, we all know we must put our assets on CDN (another domain).  Along with those assets are custom web fonts.  Unfortunately custom web fonts via CDN (or any cross-domain font request) don't work in Firefox or Internet Explorer (correctly so, by spec) though...

Incredible Demos

  • By
    jQuery Chosen Plugin

    Without a doubt, my least favorite form element is the SELECT element.  The element is almost unstylable, looks different across platforms, has had inconsistent value access, and disaster that is the result of multiple=true is, well, a disaster.  Needless to say, whenever a developer goes...

  • By
    CSS pointer-events

    The responsibilities taken on by CSS seems to be increasingly blurring with JavaScript. Consider the -webkit-touch-callout CSS property, which prevents iOS's link dialog menu when you tap and hold a clickable element. The pointer-events property is even more JavaScript-like, preventing: click actions from doing...

Discussion

    Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!