Educating about C# and F#

The State of TheSharperDev: 2020

 Photo by Lukasz Szmigiel on Unsplash

At the start of 2020, I wanted to spend some time recapping what happened in 2019 and thinking about what 2020 is going to look like. This blog is only four months old, so I’m looking forward to seeing where the new year takes it.

The Motivation to Start

I’d like to talk a bit about some of what was happening in my life prior to this blog. Late 2018 and into early 2019, I was experiencing some dissatisfaction in life and work. I worked for a great company and had great co-workers, but I was frustrated. My co-workers at the time could sense that, and at times I was not the easiest person to work with.

Looking back now, I should have been more emotionally mature in having conversations about my frustrations in a healthier manner. That includes conversations at work, my wife and with friends and mentors.

It was apparent that some things about me needed to change. Among other things, I needed to:

  • Take ownership of my attitudes and actions
  • Communicate more effectively
  • Have a better sense of what kind of things I was looking for at work.

Since that season, there have been a variety of things that have helped me change. A lot of help came from spiritual relationships I have through my local church, my wife helped a lot with conversations and support, and I joined a local toastmasters club to help with communication.

From a technical perspective, it become apparent to me that I needed to be more consistent in learning and developing my own skills rather than relying on my employer to place me in situations where that would occur.

So I decided to start blogging. On May 18th, I published my first blog post on medium entitled Under the Hood of C# Alias Types and Namespaces.

I was a motivated blogger, so I published consistently. From mid May to early Sept I published a blog post every week. I wrote about design patterns, blazor and entity framework, got a little into F# and functional.

Launching TheSharperDev

Then in late August I signed up for the Developer Blog Challenge course over at Invent With Code. (Looking over that site now I don’t immediately see a sign up for that course…)

It was a simple 5 day email course, and because of that course I finally took the plunge to pay for hosting to setup my own wordpress site. After some research, I decided to choose bluehost and signed up for their $2.75 monthly wordpress hosting plan. It took me a couple hours to settle on a theme, get everything setup and make an announcement post. I was live baby!

My first real technology post on Sept 8 was explaining Pure and Impure Functions.

Since launching in Sept, I’ve published a blog post at least every week, sometimes two a week, for a total of 20 posts in 16 weeks.

Highlights Since Launching

The Morning Brew

I didn’t really know what to expect blogging on my own site. Would anyone read my writing? Surprisingly, several days after my first blog post I woke up to a spike in visitors to my site. It turns out my article was featured in The Morning Brew, a daily UK development blog. My article was listed right after Scott Hanselman’s, which doesn’t seem like a bad start.

I still don’t have any clue how he found my article, but lucky for me he did.

December Blogging Calendars

October and November passed fairly uneventfully. Some days only having 1 visitor to my site. Fortunately I heard about both the 2019 C# Advent and 2019 F# Advent, volunteered and contributed articles to each.

The C# one got a lot more traction, being included in the CSharpDigest #288 and Manning Publications posting a link to my article on their LinkedIn account.

Then my final highlight for the year was a retweet and like by Don Syme, the F# language designer, for my Getting Started with Elmish post.

It was great seeing all these things happen in such a short amount of time. Hopefully as I continue learning and blogging, these kind of occurrences will continue.

2019 Stats Overview

I debated about whether to include this section, but I thought it would be helpful to share some high level details on what my blogging stats looked like in 2019 for TheSharperDev.

I don’t spend a lot of time promoting myself or my content. I very much take the write and see approach to blogging. I write blog posts, and then see if anyone likes them. If not, I’m okay with that, if so, that’s icing on the cake.

Monthly Views

Here is a the graph of my blog’s monthly views.

As mentioned before, October and November were pretty bare, then December was great mostly because of the Advent related posts.

Most Viewed Articles

3,634 views – The Difference Between IEnumerable and IQueryable Explained

957 views – Pure v. Impure Functions

250 views – C# Design Patterns: The Visitor Pattern

The first two articles were highly viewed because another site drove traffic to my blog (CSAdvent and The Morning Brew). The third got there because the it was linked in the first article. So it went along for the ride.

Least Viewed Articles

It’s great to celebrate wins, even better to celebrate losses!

My blog is still at the point where 100 views on a particular post is above average. 13 out of my 20 articles had under 100 views!!! But some among that group had remarkably less than 100 views! Rounding out my stats section, here are my least viewed articles of the year!!!

13 views – Under the Hood of C# Alias Types and Namespaces

18 views – How to Create a .NET Core API CI Action Using Github Actions

25 views – The Cost of Abstracting a List in C#

Thoughts on Direction for 2020

The name of my blog is TheSharperDev, and to give a little background there were several reasons that I choose that name:

  1. The domain was available!
  2. It was something that I think would be easy to remember.
  3. My two favorite languages are currently C# and F#. I’m a #‘er (sharper) dev! Get it!
  4. Personally, my goal would be for people to think of me as a sharp developer. I’m not really aiming to be “the best” developer (what does “the best” really mean??). But I do want to do a good job and be considered one of the better or sharper developers wherever I am.

Point #4 is really where I think there is valuable content to be explored. What really helps developers become more effective? I believe anything that answers that question has a place here at TheSharperDev.

For someone like myself, I need a lot of growth in non technical skills. That’s just the reality of where I am and how I would like my career to progress. I think that’s something I have in common with a lot of other developers.

If I had to guess about the main themes of my posts for the coming year, I’d narrow it down to:

  1. Posts about C#
    1. It’s the language I know the best, and what I work in professionally. So a lot of room to explore.
  2. Posts focusing on functional programming
    1. At the moment I’m learning both F# and Haskell, I think there are a lot of valuable things to be learned from functional programming and architecture.
  3. Posts about important non-technical skills
    1. This is a big growth area for me, as discussed previously.

I would guess that more than 80% of my posts in 2020 will fall into one of those three categories. I would guess the other 20% would be a mix of Kubernetes, UI frameworks or languages (Elmish, PureScript), then after that I don’t know what.

Closing Thoughts

The upcoming year is one brimming with opportunity. I’m looking forward to see where my learning and blogging takes me. Maybe most of my articles this year will have over 100 views? We’ll have to see, but whatever happens, it will happen here.