This is unavoidable in software development. The question is "When are you going to work on architecture, and at what cost?". I'll share insights on the practices I employ in architecting web applications and the infrastructure they live on.


Some technical advice for startups

TL;DR

Stop creating monoliths. Stop the brainless, head-first dive into development. Buy the cheapest notebook and some pens and start scribbling. You'll thank yourselves!

The story

From time to time, I get the chance to interact with tech startups and I formed the nasty habit of asking about their codebase. Whenever I ask this question, I get two types of answers depending on who's answering:

The CEO, or any non-technical C-level person, almost always complain they're moving too slow because of poorly written code.

— I don't believe this is the only reason.

The CTO and the developers say that they're moving as fast as they can, given their current architecture. They mostly complain about consultants, or freelancers who worked before and made a mess.

— C'mon! Not all consultants are crap throwing monkeys looking to make your life a living hell. 🐒💩

As always, the truth is somewhere in the middle. It's always a combination of lack of process, tight deadlines and hasty business and architectural decisions.

Read more

Go from Node.js app to microservices with MONOLITHSPL/T

I've been working a lot with microservices in the past couple of years. It is during this time that I found how many issues can arise from putting an accent on delivery while disregarding architecture.

This is why I decided to create MONOLITHSPL/T.

I want to help businesses migrate their monolithic Node.js applications to a microservices architecture, improve the quality of their products as well as their overall delivery. My goal is to provide clear, actionable steps, to move away from poor architectural decisions made under pressure.

Through MONOLITHSPL/T, I will provide microservices migration strategies, driven only by your business goals. I will be putting all the knowledge and experience I accumulated over the past years into the service of businesses struggling with monolithic Node.js application architectures.

To get notified about the launch subscribe to the pre-launch list. The launch date is close and the list is very tight.

Read more

Top 5 things to consider when choosing a new technology

There is a saying that naming things is the most difficult part of software development and it is 100% true. At the same time, choosing technologies, libraries, platforms or programming languages can be just as hard. There are many aspects to consider, besides how we feel about it or if it is trendy or not. Judging a framework, for example, only by its popularity and how bad you want to work with it, without looking at some numbers is a thing I call Resume-Driven Development (RDD) and has nothing to do with healthy software development practices. In this article, I will share with you, my process for making such difficult choices.

Read more