Message Enrichment With Kafka Streams

| Comments

I’ve been working with Kafka Streams for a few months and I love it! Here’s the great intro if you’re not familiar with the framework. In the sections below I assume that you understand the basic concepts like KStream, KTable, joins and windowing.

Message enrichment is a standard stream processing task and I want to show different options Kafka Streams provides to implement it properly.

2017 in Review

| Comments

Another “Year in Review” post, again mostly focused on professional life & tech stuff (since it’s a tech blog 😉). Check 2016 here.

A Letter to You, %software_conference_organizer%

| Comments

I’ve been a frequent software conference attendee and a speaker for the last few years. I’ve seen great events with amazing speakers, facilities and food. And I’ve seen very poor events with a lot of issues like zero diversity and really weak speakers.

And I’ve been recently thinking about some recommendations for the future events and came up with a list below. I emphasize the basic diversity and inclusion rules, because our industry constantly lacks them.

6 Months at Demonware

| Comments

You can probably decide I’m busy based on the absence of any new posts since July :)

And indeed, I was pretty busy for a while. I started to work at Demonware precisely 6 months ago and it’s being an amazing ride so far.

Bash Scripting Best Practices

| Comments

I was always afraid of writing shell scripts. Bash seemed to be a programming language that doesn’t allow a slightest mistake… Extra space here and there and everything blows up.

Like with every skill, persistence and repetition help. I’ve started writing more and more bash scripts a few years ago. But it’s important to remember one simple rule – when things become really complex you need to switch to Python/Ruby/scripting language of your choice. Please do!

Anyway, today I want to share some of the very practical conventions, best practices and recommendations I gathered over these years.

It’s not an introduction to bash, you should have some background already (ideally some war stories as well).

Also, I’m not an expert! It’s ok to not agree with me. And I’m pretty sure almost everything I mention can be improved. So please help me and leave some feedback ;–)

How to Build CLI in Node.js

| Comments

CLI (Command-line interface) is a very common way to run a program in a terminal. As a software engineer you use different CLIs every day – git, Docker, npm, etc.

Today I want to share my experience building CLIs using Node.js and a few helpful packages.

Craft Conf 2017

| Comments

Last week I attended Craft Conference in Budapest, Hungary. Here’s the description of the event:

CRAFT is about software craftsmanship, presenting which tools, methods, practices should be part of the toolbox of a modern developer and company, and serving as compass on new technologies, trends. You can learn from the best speakers and practitioners in our community.

It was definitely one of the best conferences I’ve ever been so far and I’m happy to share some highlights!

About Being a Polyglot Software Engineer

| Comments

Recently I’ve watched a technical talk about some tool, let’s call it X. This tool is written in Java. Presenter was really excited and energetic and he obviously knew his stuff. And then, there were two questions after the presentation:

  • Are there any similar solutions in languages other than Java?
  • What do you think about the concept Y?

Microxchg 2017

| Comments

Last week I had a pleasure visiting Microxchg conference in Berlin. I was really excited, because I also conducted my first workshop there – Building Microservices with Scala and Akka.

I think the event was truly successful and I’d like to share my thoughts and notes below for the most interesting talks I attended.

The conference is dedicated to Microservices, as you can guess from its name. It’s not new – originally started in 2015, it’s been attracting top presenters from all around the world, including recognized experts like Sam Newman and Fred George.