Event Store Developer Advocate and the Future

I have some awesome news to share! I'm now a Developer Advocate at Event Store!

Okay, okay. So, this is actually news from last month but I'm still, if not more, excited about my new role and the opportunities it presents.

Passion-Driven Development

Many of you already know I have a passion to see others expand their knowledge, craft software they're proud of, and build business-oriented solutions that provide tangible results. This is part of something larger I call Passion-Driven Development. Note-to-self: Write a blog about PDD.

As organizations realize their largest asset is their data, there's been a growing interest in figuring out what Event Sourcing is all about. They hear of its benefits, follow a tutorial with no real meat on its bones (a Hello World introduction), build a false sense of confidence, and then as soon as they begin writing their own solution, WHAM! Reality hits and event sourcing is wrongly blamed as the problem. When in fact there's a lack of quality material and resources.

Not to say there isn't any good material out there. I highly implore you to check out Oskar Dudycz's content if you haven't already.

So TL;DR: when this opportunity came knocking, I answered.

Taking Action

As I've gotten adjusted to the world of Event Store it has become clear I need to brush off my blogging chops. While there's certainly a lot of documentation and code I've written over the years to help teach event sourcing and build effective distributed systems, not much of it is public. So, this is a challenge to myself to more regularly blog my adventures.

From learning more about the inner workings of the open-source state-transition database known as EventStoreDB (ESDB) and its many client SDKs (C#, Java, Go, NodeJS, and Rust, plus community-maintained clients in languages like Python, Elixir, PHP, Haskell, and more) to providing advice and confronting norms when building applications using these patterns and technologies, there is no shortage of topics to cover. The real challenge is making this information palatable for newcomers and experts alike. How should we proceed?

Content Creation Loop

As I make content in written and video formats (see; my upcoming YouTube channel) there is no better aid than being able to point at an actual repository full of code I'm referencing. With my background in ecommerce, the path seems too clear. Here's the loop:

  • Build an open-source ecommerce solution
  • Blog about the challenges, practices, and patterns being used
  • Evolve the solution over time as I learn new things and change my approaches and techniques
  • Blog about those experiences
  • Rinse and repeat

Aren't there a lot of ecommerce examples? Totally. But I do not believe many of them provide realistic enough scenarios and solutions. That is kind of the downfall of reference/example software out there, huh? It takes a lot of time to build something of that caliber, let alone make it understandable. Someone who doesn't have experience with B2C or B2B ecommerce may end up spending more time trying to understand the domain instead of the software techniques and technologies.

Seeing Sharply and Beyond

Ah, right. I should mention that while C# (csharp, dotnet) has been my go-to language for the last five years, I'm aiming to provide content in multiple programming languages to help reach more people and communities.

Truth be told, I'm really excited to get back to using Kotlin. Did you know I talked at the Nebraska.Code() conference in 2018 about how to use Kotlin as a server backend language and that it's not just for Android? 😁

What's Next?

To stop mashing my fingers on the keyboard and publish this stream of consciousness! 🙃 If you've read this far, I really appreciate it. Until next time!

Cheers!

Erik