This article is a part of series Today more on practical meta-approaches: effective problem solving techniques which I managed to capture over time as they manifest themselves in work & life. Root cause analysis (RCA) via deep dive aka 5 whys You ran into a problem: something goes sideways. More formally some process metrics are…
Effective Problem Solving Meta-approaches: Part #1
This article is a part of series This blog post starts a series of articles on practical meta-approaches. These are effective problem solving techniques which I managed to capture over time as they manifest themselves in work & life. Interval forecasts: worst/best case You have to forecast some metric. Forecasts are hard as it’s fundamentally…
Business vs Technology Founders: Why Balance is Key
From life experience in general I grow more & more to believe that balance is key. Similarly when it comes to software development a proper balance of business vs technology founders is important. I’d say it’s among the most critical indicators of whether the whole enterprise will be successful or will get derailed eventually. Let’s…
Micro frontend: what & why
Micro frontend architecture approach is the answer to challenges which in their nature are similar to what microservices architecture solves on the backend. I covered microservice implementation principles and decision framework on choosing such approach previously. Let’s cover what this approach is all about. What is micro frontend architecture When company technology landscape is a…
PyScript et al: Web-enabled Python
I know about the PyScript project for a while already. This end-of-year post is going to be about it and other lovely software pieces which enable Python on the Web these days ❤️ What is PyScript? In a nutshell it’s a CSS + JS you can add to a webpage which will allow you to…
Why do we use Node.js in our backend?
Ryan Dahl kicked off work on Node.js in 2009 on top of two years of research related to server-side web components. The journey of the runtime wasn’t a smooth ride at all but as of today the major component of its semantic versioning hit 18. The revolutionary premise of Node.js was “server-side JavaScript” because since…
Backend for Frontend – What is it?
Backend for Frontend design pattern – BFF for short while it’s definitely not “Best Friends Forever” 🙂 – seems to get some hype lately. It’s nowhere a new thing: one of the first mentions were by SoundCloud guys back in 2015. Basically it’s a specialized case of a more generic API Gateway pattern. Let’s figure…
Why is there a big pay discrepancy between different software engineers?
From a client’s perspective it may be confusing to pick up an independent developer. That’s because prices for what seems to be similar work may be drastically different. For instance, it’s not uncommon for web development work to be priced in $20-200/hr range. How so? Why is there a big pay discrepancy between different software…
When to use microservices?
This is a follow up to an earlier article on microservice architecture implementation principles. It was promised back then to get back to the question of “when to use microservices”. A bit of history The overall architecture pattern of microservices was successfully implemented in 2010-ish. That was an endeavor on the part of a few…
Memory Layers Latency Difference
There’s such term as memory hierarchy in computer architecture. In simplistic terms it’s about structuring different memory/storage types based on response time. In software design & architecture memory hierarchy directly affects performance and may make or break design of a particular software system. Memory layers latency difference is very important to software design. Basics of…