2020 Year in Review
Date Published: 12 January 2021
Time for a recap of stats and important (and not so important) milestones from 2020, the year of the COVID-19 pandemic. Here are some other year-in-review recaps for reference and a checklist for writing your own:
- My 2017 Year in Review
- My 2018 Year in Review
- My 2019 Year in Review
- My Year in Review Post Checklist
Last year I added 41 articles to my blog - the same as the year before (2019). That's a little more than 3 per month and about 11 short from hitting 1/week.
In terms of traffic, Google Analytics reported that I had 784,114 pages views, slightly more than in 2019 (769,979 page views). In 2018 I had 708,260. The year-over-year change is about a 1.8% growth, which is pretty feeble (but at least it's not going down). My "to blog" list has really grown so I think I really just need to buckle down and write more in 2021 if I want to see these numbers move upward.
Notice those two big spikes. Those were new articles I wrote that got some traction. They each saw the most immediate traffic when published, and were Conway's Law in DDD and Microservices published in August 2020 and Avoid Wrapping DbContext in Using (and other gotchas) published in December 2020.
Which brings me to articles. Google Analytics is great for identifying one’s most popular content. Often it’s not what you might think, expect, or hope for, though. For example, I mostly focus on code quality topics, domain-driven design, object-oriented principles, testing, etc. My top posts… don’t always reflect that though:
- Force Nuget to Reinstall Packages Without Updating (51k impressions)
- The More You Know The More You Realize You Don’t Know (42k impressions)
- Add Images Easily to GitHub (38k impressions)
- Why Delete Old Git Branches (19k impressions)
- SQL Server Error User Group or Role Already Exists (18k impressions)
- How to Hide the Connection Bar in Remote Desktop (17k impressions)
- Avoid Wrapping DbContext in Using (17k impressions)
- Using MediaR in ASP.NET Core Apps (16k impressions)
- Conway's Law in DDD and Microservices (16k impressions)
- How to Find All Objects in SQL Server Schema (15k impressions)
Currently I have 1532 blog posts on this site. That's just a count of all the files in my blog folder now that I've moved to using markdown and Gatsby.
I'd set a goal of 1M page views but obviously fell pretty short of that with just a 2% gain (when I needed 33%). I think if I can push to have one post a week (on average) that should help me get closer to that goal, since that's about a 25% increase in content. The thing is, it's hard to move the needle because a lot of my content that is most popular wasn't written last year, and if I do write some popular posts in 2021, they'll only gather page views for a fraction of the year, so it may be hard for them to get into the top 10 list or push overall traffic higher. Nonetheless, my goal for 2021 will once more be to break one million page views.
Weekly Dev Tips Podcast Stats
Some of you may know I have a podcast, Weekly Dev Tips (which is the same name as my emailed newsletter that goes out every Wednesday). My last new podcast episode was in June 2020. Overall I published just 15 new episodes in 2020. I'd like to get this going again, but I also have a big backlog of other content to build out, so I'm not ready to commit to anything huge. If I can get motivated to work on it again, I can probably put out at least a dozen episodes, though (1/month on average).
Podcast downloads in 2020
My podcast had 78k downloads in 2020 - about half of 2019. You can see from the chart above when I released new episodes.
Here are the top shows (all time downloads):
- Domain Events – Before Persistence (7,326)
- Do I Need a Repository? (6,839)
- On Learning TDD and LISP with Uncle Bob Martin (6,497)
- What Good is a Repository? (6,453)
- Maintain Legacy Code with New Code (5,898)
- Layering Patterns on Repositories (5,824)
- On Design Patterns (5,740)
- Guard Clauses (5,683)
- Breaking Bad Coding Habits with Joe Zack (5,578)
- How much do you make?(5,420)
None of my newest episodes have made the top 10 list, with the most recent one in the list above being episode 42 (latest one last year was episode 74).
Weekly Dev Tips Mailing List
This one I don’t miss. I sent a new tip out every Wednesday in 2020, just like I've done every week since 2017. I’m currently on a 247 week streak and I hope to keep that up through 2021. Currently I have 3,225 subscribers, up 10% from a year ago (with 2,917 subscribers). You can sign up here, if you’re interested.
Last year I set a goal of reaching 4,000 subscribers. I didn't really push my mailing list very hard, and obviously didn't hit the goal. I'm going to set the same goal for 2021 and try to keep the goal in mind and work toward it more this year.
Social Media Stats
It can be difficult to get this information after the fact, so here are my stats for various social media things as of January 2020.
- Twitter.com/ardalis: 15,148 followers (up 15%). 44.5k tweets sent (ever).
- YouTube.com/ardalis: 1.77k (182% increase) subscribers. 80 videos. 52,012 views (total - 250% increase YOY).
- YouTube.com/weeklydevtips: 470 subs (87% increase); 74 videos. 3,660 views (180% increase).
- Twitch.tv/ardalis: 1.4k followers (100% increase); 0 subscribers; 5,201 views.
GitHub.com/ardalis: 2.9k followers; 192 repositories.
- Instagram.com/ardalis_steve: 115 posts; 211 followers.
Still not cool enough to be on TikTok.
In 2020, I published the following books and courses:
Updated my architecture eBook for .NET 5: Architecting Modern Web Applications with ASP.NET Core and Microsoft Azure
Wrote a book on migrating from .NET to .NET Core/.NET 5 but it's not yet published.
My Pluralsight Courses (2020) (View All)
Most of these are updates to past courses, many in the retired Design Patterns Library course. Overall I published 8 new courses which is a new record for me (I've been publishing with Pluralsight since 2010 and have published 19 courses).
- C# Design Patterns: Rules Engine Pattern
- C# Design Patterns: Memento
- C# Design Patterns: Template Method
- Design Patterns Overview
- C# Design Patterns: Singleton
- C# Design Patterns: Proxy
- Microsoft Azure Developer: Refactoring Code
- C# Design Patterns: Adapter
Many of these are updates of older but often more comprehensive courses. You may find value in watching the originals as well, which have additional content:
Last year I spoke at way fewer conferences (in person) due to COVID. The last in-person event I spoke at was NDC London. After that, it was virtual only, but I did do quite a few talks:
- Codemash (January 2020)
- NDC London (January 2020)
- Salt Lake City User Group (virtual) (April 2020)
- GLUGNET User Group (virtual) (April 2020)
- Orlando User Group (virtual) (May 2020)
- CouchCon (virtual) (May 2020)
- UK User Group (virtual) (June 2020)
- UK Milton Keynes (virtual) (June 2020)
- Cleveland .NET User Group (virtual) (June 2020)
- Tulsa User Group (virtual) (July 2020)
- Dallas .NET User Group (virtual) (August 2020)
- InnovationTechTalks (virtual) (October 2020)
- North Dallas User Group (virtual) (November 2020)
- Cincinnati User Group (virtual) (December 2020)
- St. Pete Florida User Group (virtual) (December 2020)
- UK .NET Oxford User Group (virtual) (December 2020)
- Codecamp.ro (virtual) (December 2020)
My talks and workshops often focused on domain driven design, clean architecture, cloud design patterns, and ASP.NET Core. Contact me if you're interested in private presentations for your team or company.
Most of the rest of this is less interesting if you just follow me for technical content. You've been warned.
I got to visit London, which was my first time in the UK. That was fun, but I'd really like to bring my family for a proper tour of the UK some time. I also got to visit a few college campuses with my daughter, including Ohio State (my alma mater), USC, and Stanford (we barely got our visit in to Stanford before they shut down for COVID). I also made a trip to a client in Utah, which is always beautiful.
I led a workshop on Domain-Driven Design which was held right in the heart of London, surrounded by landmarks. It was a lot of fun to be there for the first time.
The Ohio State University
For some reason Fitbit hasn't sent me a 2020 summary like they usually do, but here's some manual analysis (which you can do from the website at fitbit.com/activities):
2020 (with a break in March-May - old tracker died and got a new one):
- 2.7M total steps counted
- 1843 floors
- 1292 miles
Update: They sent an email on 21 January 2021 with the stats, which worked out to mostly what I calculated myself:
Work Environment and Gear
I try to keep my current list of gear and tools used up to date. In 2020 I didn't do a whole lot in terms of upgrading my gear. Probably the only notable thing was getting a new monitor for my home office, a 49-inch Curved Samsung Monitor (affilate link) which I'm really happy with. If you get one I also recommend checking out FancyZones from Windows Power Toys. Due to COVID I've mostly been working from my home office, and haven't picked up much in the way of additional gear or gadgets. I do still have a treadmill desk, which helps me get in some steps even though many days I haven't even left the house.
In 2019, I bought a Tesla Model X. It's a great car and though it doesn't get many miles right now (due to everyone staying home because pandemic), I've been quite happy with it. One upgrade we completed early in 2020 was getting a Tesla Wall Connector installed in my garage, along with 220V/48A service. Prior to that, charging at home took forever with a standard 110V plug. The car has a range of about 320 miles and charged on 110V at about 2-3 miles of range per hour. Meaning, it might take 100 hours to fully charge, and a typical overnight period might get 30-40 miles. Since my usual commute was only 5 miles each way, this worked fine unless I had to do more driving, in which case it might take days to catch up or I might need to visit a supercharger (nearest one is about half an hour away). With the wall connector, it's about 10x faster, charging 20-35 miles of range per hour at 48A. Which means even if it's at 1% battery it will be fully charged by morning. The thing about EVs is, they're like your cell phone. You just plug them in every night and they typically have plenty of range for the next day. Then at night you charge them again. The only time you need to think about range is when doing an extended road trip.
We also downgraded our number of cars in 2020, to two, even though we have 3 drivers in the house. We weren't going anywhere most of the time after March 2020, so it made sense to save on the insurance, maintenance, etc.
Managed to wind down a distraction business in 2020. Our peak number of businesses, as parallel entrepreneurs, was seven. Now we're down to a much more manageable 5. We hired our daughter to work for us as a software developer and that's worked out great so far, but unfortunately she will be heading to college in Fall 2021 if things go well with combating COVID. Other than that, our small consulting business consisting mainly of senior architects and developers had a good year helping a variety of clients achieve their goals and improve their teams and processes.
Thanks for reading this far. Like I said, this is mostly so I can look back years later and see where things were at this point in time. Hopefully if you’re not me doing that you found some useful tidbits here. If you want to write your own year in review blog post, I wrote a checklist here that is probably longer than most people will want but you can just pick and choose what works for you.
Good luck in 2021 and beyond!
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.