Goals For 2021

By  on  

Every year I write a blog post about my goals for the year but I won't pretend this year's post is the same. I mean how the hell do I create realistic goals knowing what 2020 was and what 2021 inherits?! Pandemic, drastic political churn, social unrest...and none of that is related to my profession or this blog. Nevertheless, part of what has carried me through a turbulent year of leaving Mozilla and everything else has been seeking normalcy, however I can get it. The following are my goals for 2021!

Attain an Expansive Knowledge of the Blockchain and Cryptocurrency Industry

If you follow me on Twitter, you've probably been annoyed with my musings about cryptocurrencies. When Mozilla laid me off in August, I made it a point to enter the cryptocurrency engineering industry, thus leading to me joining MetaMask. In my three months at MetaMask, I've learned an immense amount about Ethereum, gas, Web3, and other cryptocurrency paradigms. It's been a dream!

I look forward to learning more about crypto engineering, from the front-end side of dApps, to smart contract engineering, and onto the security models that keep wallets safe. Crypto is both the future of money and the decentralized web, so learning these concepts now will catapult the rest of my career.

Get Healthier

I wondered if this goal should be so high on the list but the fact is we should probably all better prioritize our mental and physical health. Not being able to play soccer dramatically impacted both my physical and mental health, as it was the one physical activity I've enjoyed since I could walk. Jogging isn't my cup of tea, unfortunately -- like an enthusiastic dog, I've only ever enjoyed running when chasing a ball. I do need to find the perfect carrot to dangle in front of the treadmill, and hopefully I can find it.

On a mental note, obviously 2020 was challenging. Between simply worrying about catching the virus, coping with virtual schooling for my children, being laid off by Mozilla, and then starting a new job at MetaMask, my head was in a million different places. I coped with everything as best I could, so as not to alarm my family, but I'd be lying if I said I was as stable as I wanted to be.

How do I accomplish getting healthier? It will start with getting more exercise; I think that will help on both physical and mental fronts. Diet could also be better, as I think comfort food helped to cope. Lastly, I think I need to get better at accepting help and love -- I've never been good at that.

Master a New Programming Language

You've probably come to know I'm a front-end lover; I write mostly about CSS, JavaScript/Node.js, React.js, and so on. I'll always love the ability to change my code, click the refresh button, and see something completely different...and that love will never go away. In 2020 I learned some Kotlin, thanks to my contributions to the new Firefox for Android.

Next year, however, I hope to add another bleeding edge language to my skillset. Rust has massive momentum, and looks interesting, so I hope to create something in that space. I also very much want to become a Solidity smart contract expert. Have suggestions for a new language? Let me know!

Improve Product Manager and Engineering Manager Skills

When I join an organization or team, I don't want to fit a specific role -- I want to know everything about it. I want to know the engineering side, the product and economic side, the history, the future, and absolutely everything I can learn about it. Not only that, I want to contribute to each facet of the project.

In 2021 I'd like to work more closely with Product, Project, and Engineering Managers to get a better perspective on each role. Doing so will make me a better engineer and may provide another career path for when the new, younger engineers are coding circles around me.

Redesign This Blog

I contemplated have this description of this goal simply being "lol" because I've had this goal for the past few years. In a way I'm quite proud because the theme has worked out well for a long time; on the other hand, I'd love a new design that pushed me to use CSS flexbox, grid, and other strategies for advanced layouts.

Have suggestions for design improvements? Please let me know!

All The Small Things

  • I'm dying to restart the Script & Style podcast. I love my time with Todd and look forward to regaining that normalcy.
  • Convince y'all to learn cryptocurrencies. I'm not even begging you to buy anything. Install MetaMask and learn how the system works -- digital, tokenized assets are the future!
  • Stop and smell the roses. I've let the days blur together, especially in 2020. Next year I hope to take the time to realize how lucky I am.
  • Get back to reading. I grew up reading scores of books. When I became a software engineer and blogger, that stopped. I want to get back to losing myself in books again.

There's a very smart line of thinking that demands you not wait for landmark dates to make changes -- you should instead make the change now. I agree with that discipline but, now so close to a new year, using that date to trigger change seems appropriate.

What are your goals for 2020? Have any tips for me? Please share!

Recent Features

  • By
    CSS @supports

    Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS.  What we end up doing is repeating the same properties multiple times with each browser prefix.  Yuck.  Another thing we...

  • By
    Convert XML to JSON with JavaScript

    If you follow me on Twitter, you know that I've been working on a super top secret mobile application using Appcelerator Titanium.  The experience has been great:  using JavaScript to create easy to write, easy to test, native mobile apps has been fun.  My...

Incredible Demos

  • By
    Unicode CSS Classes

    CSS class name structure and consistency is really important; some developers camelcase classnames, others use dashes, and others use underscores.  One thing I've learned when toying around by HTML and CSS class names is that you can actually use unicode symbols and icons as classnames.

  • By
    Using Opacity to Show Focus with MooTools

    I'm a huge fan of using subtle effects like link nudging (jQuery, MooTools) to enhance the user experience and increase the perceived dynamism of my websites. Trust me -- a lot of little things are what take websites to the next level.


  1. I think you might have a go with….go. To my, Angular, NestJS and Typescript in general will be the first priority. Happy new year David. Learn a lot from you.

  2. I share the “reading books” goal. I read a LOT, but it’s mostly articles, wikipedia, general/useless knowledge stuff. I start every year off with the same reading goal, start off like gangbusters and then (waves hands) *this* happens. But if I could read even just one book per quarter, I’d be happy.

    Happy New Year!

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