The End

Today is, for the most part, the end of my professional year of 2025. What have I done, what am I looking forward to in 2026?

2025 Year in Review

This year I’ve had the chance to work on some really cool tech. You can read more about it here, where I put together a quick QR code prototype. I also did a ton of documentation writing, but also shipping it as a product, and making sure it was updated and kept up with the products and services it was being shipped with; How Principal Engineers Shape Documentation as a Product + Punch List Lagniappe. Beyond that I’ve shipped tons of AI processing pipeline code that changed about 4,923,123** times because the tools provided weren’t up to snuff, so reinvention and filling the gap in the tools it was. Lots of fun challenges, great tech shipped, and users of said software up and running.

On a personal front I got a reasonable amount of my expectations met for 2025, which mind you, wasn’t a lot considering the changing of the guard and the current state of the tech industry. To which, let’s talk brass talks, not beat around the bush, dispense with formalities, and get to the pending chaos of 2026.

Let’s Talk, No Filter

Continue reading “The End”

What is the SITREP on Apache Kafka & Flink?

I’ve worked with (** references at end of article) a number of Apache projects over the years, often pretty closely; Apache Cassandra, Apache Flink, Apache Kafka, Apache Zookeeper and numerous others. But the last few years I’ve not been immediately hands on with the technology. A few questions popped up recently, that fortunately I was able to answer based on existing knowledge, but it made me real curious about what the SITREP (Situational Report) is for the Apache Kafka and Flink Projects for TODAY, i.e. rolling into 2025! The following is a quick dive into the history and then the latest details (and drama?) with Apache Kafka, Flink, and tangentially some other projects (Zookeeper?).

Apache Projects – Context & Quick Details

If you’re unfamiliar with the Apache Projects in a general sense, I highly suggest going and checking out the Apache Project Directory and Apache Projects List. There you will find all sorts of fascinating information about the organization itself, how the projects are organized, and the trend of committees and related details. For example, I always love checking out the initial charts on retired and active that show on the directory page, as I’ve snapshotted below.

Continue reading “What is the SITREP on Apache Kafka & Flink?”

Precision in Words, Precision in Code: The Power of Writing in Modern Development

I’ve always found it advantageous to enjoy writing—yes, even documentation writing. It’s one of those foundational skills that doesn’t just make you a better developer; it makes you a better communicator, collaborator, and problem solver. In my experience, being able to articulate ideas, requirements, or solutions in written form isn’t just a nice-to-have, it’s a superpower.

Fast forward to today, and the value of this skill has grown exponentially. Why? Because the world of software development is no longer confined to our IDEs or command lines. With the advent of tools like Claude, ChatGPT, Copilot, TabNine, and Replit Ghostwriter, we’ve entered an era where your ability to write clearly and concisely isn’t just a productivity hack—it’s a core part of how we develop software.

Writing as the Bridge Between Ideas and Implementation

Every time you use ChatGPT to brainstorm API designs, or lean on Copilot to generate boilerplate code, you’re engaging in a collaborative act that requires clear articulation of your goals. Tools like these don’t “read your mind” (at least, not yet, and seem prudent they don’t!). They depend on your ability to communicate requirements effectively—whether that’s describing a function’s purpose, outlining a system’s architecture, or debugging a thorny issue.

Let’s break it down:

  • Problem Definition: Writing forces you to clarify what you’re solving. “Write me a REST API that does X” only works when X is well-defined. If you’re vague, the AI’s output will be vague too.
  • Code Refinement: With tools like Copilot, you can guide its suggestions by writing meaningful comments or even inline documentation. The better you describe your intention, the more useful its suggestions.
  • Collaboration: When sharing prompts, workflows, or generated code with teammates, clear writing makes the difference between helpful and confusing.

This isn’t just about documentation anymore; it’s about precision and intent.

Continue reading “Precision in Words, Precision in Code: The Power of Writing in Modern Development”

A few words on getting into Computer Science in 2024 and on?

The journey into advanced software development can feel like plunging into a tumultuous ocean. At first, there’s the excitement of learning—those ‘aha’ moments when distributed systems suddenly make sense, or when the intricacies of concurrency click into place. But once you pass that initial rush, the reality sets in. It becomes clear that mastering these topics isn’t just about understanding technical nuances; it’s also about navigating a web of complexities that intertwine across systems, tools, and people.

This journey brings its fair share of frustration and existential concern. As you go deeper, you start grappling with problems that feel abstract and distant, yet profoundly impactful: distributed state consistency, data synchronization, avoiding deadlocks. You realize that these issues aren’t just technical puzzles; they represent the invisible backbone of everything you’re building. And it’s overwhelming to think how fragile these systems are, how they’re held together by code you and your team write, and how any tiny oversight can cause cascading failures.

Yet, perhaps the most exhausting part isn’t just the code; it’s the human element. Once you develop the social skills to communicate these technical complexities to people at different levels, you realize the challenge isn’t just the knowledge—it’s helping others grasp it without drowning them in details. It’s like being fluent in a language others only have a basic vocabulary for. You spend time rephrasing, simplifying, and drawing analogies, only to have people nod, agree, and repeat the same mistakes next week. They’re not at fault; these are tough concepts. But it can be isolating, being the one person who sees the problem three steps ahead while everyone else is still figuring out step one.

Continue reading “A few words on getting into Computer Science in 2024 and on?”