I'm a software engineer

My expertise lies in analyzing problems of businesses and solving them using software technology and best engineering practices.

I've designed and built mostly web and desktop applications. But also some embedded and industrial automation systems. I have worked at all stack levels from the hardware to the front-end.

I used to work with .NET and Web tech for a long time. Now I'm expanding my tech expertise into Django+PostgreSQL - a perfect stack for rapid prototyping.

I'm also the developer of Everdo - a multi-platform GTD/todo app created with Electron.

There's more about me on linkedin. The best way to reach me is email.

Latest Content

  • 20 Apr 2017 | Why Choose Vue.js as your Default Javascript Framework

    I’m not an expert in javascript frameworks or in client-side development in general. But often I do need to create an interactive web UI, and do it fast. There are countless frameworks today and after considering some options I decided to commit to Vue.js. Learn more.

  • 15 Apr 2017 | Discriminated Unions in C#

    In this post I demostrate a practical use of Discriminated Union data structure / pattern in C# code. I also show the alternative design solutions and explain how they are inferior. Learn more.

  • 03 May 2016 | Applied Data Flow Analysis

    Data flow analysis is a technique that helps to understand and specify a process by performing it’s functional decomposition. It’s useful when the overall function of the system is well-defined, but there’s not enough information to drive detailed design. Learn more.

  • 13 Apr 2016 | How Use Cases Improve Design

    System use case specification is another valuable analysis tool. Listing use cases before designing a system can help the design process and improve overall product quality. Learn more.

  • 05 Apr 2016 | Context Analysis - Get a High-Level View of the System

    One of the most helpful approaches to start off the analysis process is creating a context diagram. Doing so will provide you a high-level view of responsibilities of the system and it’s integration into the problem space. Learn more.

  • 04 Apr 2016 | Analysis - The Foundation of Quality Software Engineering

    Analysis is the most important step in development of any software. There’s no point studying design without first understanding the basics of analysis. Analysis is what allows us to make the most important initial design decisions based on more than feelings and assumptions. Learn more.