We've always loved Software and its magical transformational power, and it has been a wonderful journey.
We started with Computer Engineering, building CAD tools for microelectronics, operating systems, and compilers. We expanded our focus to e-Business and saw its power, transforming how companies and people work. Distributed Systems and Machine Learning are now pervasive, and the power to innovate has reached unprecedented levels.
The Sympriser Blog is a collection of our reflections on software design, technical leadership and business innovation.
Authentication and Authorization are critical issues in any IT system that deals with swnsitive informations. A distributed system as an Event-Driven collection of Microservices running on the cloud adds additional challenges for these issues.
This post recapitulates the characteristics of an Event-Driven Microservices Architecture, what is Authentication and Authorization, explains the requirements for a Solution, and finally proposes a solution that addresses these requirements.
A well-configured TypeScript installation can improve your Development Experience, accelerating your development workflow and reducing your cognitive load.
Here, I show how I configure TypeScript, helping me work better and faster. I explain my decisions and describe how to implement them. You will understand my approach and have a 2021 starter TypeScript installation to use in your projects.
High-quality software designs are easier and safer to work with. Investing in quality demands discipline and skill. Good design principles are usually helpful. But are they always applicable?
This post investigates the applicability of the “Open-Closed Principle” when adding new functionality to a software design whose source code is entirely under our control.
Refactoring techniques and Design Patterns have been extensively propagated and advocated for over a decade now. Why we still find it hard to change, anaemic or overly complex object-oriented structures? What is missing in our design practices?
We posit that continuously refining the abstractions we build in our code is a necessary ingredient for effective refactoring.
In this series, we use Fowler’s didactic Video Store program to show how the focus on refining abstractions generates practical advanced refactoring strategies that improve design simplicity, expressiveness and flexibility beyond standard object-oriented practice.
“Experienced project managers can deal more effectively with complex software projects”. Really?