PENTATECH BLOG

Software Quality in Cloud-Based Applications

Software Quality in Cloud-Based Applications

Feb 7, 20246 min read
Strategies such as DevOps, implementing microservices architectures, using containerization and orchestration and prioritizing security by design.
Mastering API Dependency Management

Mastering API Dependency Management

Jan 17, 20245 min read
Effective API dependency management is a challenging but beneficial journey to transit. Embrace versioning and dependency management from the beginning.
Principles of Good Software Design

Principles of Good Software Design

Dec 13, 20234 min read
Modularity, cohesion, low coupling, abstraction/information hiding, and good separation of concerns collectively form the bedrock good software design.
Types of API testing

Types of API testing

Nov 22, 20234 min read
There are several types of API testing that should be executed depending the objectives. API is critical for ensuring quality, resilience and performance.
Understanding Container-based Architectures

Understanding Container-based Architectures

Nov 15, 20235 min read
Container-based architectures present a paradigm shift in software development and deployment. They bring large technical and business benefits.
Immutability: Building Robust Systems with Immutable Data

Immutability: Building Robust Systems with Immutable Data

Nov 13, 20235 min read
Immutability offers big benefits such as predictability, scalability, and concurrency for small cost. A valuable technique in the Software Engineer toolbox.
Backend for Frontends (BFF) Pros and Cons

Backend for Frontends (BFF) Pros and Cons

Nov 8, 20235 min read
Backend for frontends pattern is a good strategy when looking at increasing team autonomy, speed of delivery and improved security and performance.
Synchronous vs Asynchronous for Temporal Decoupling

Synchronous vs Asynchronous for Temporal Decoupling

Nov 6, 20236 min read
Temporal decoupling is one of the dimensions to think about when decoupling systems. Choosing the right approach involves understanding the properties we need.
Harnessing GenAI to Improve the Software Development Life Cycle

Harnessing GenAI to Improve the Software Development Life Cycle

Nov 1, 20235 min read
The number of GenAI driven tools is increasing rapidly. How is it playing a role in the SDLC and what are the best tools around.
2023’s Developer Challenges: What is Slowing Us Down and How to Overcome Them

2023’s Developer Challenges: What is Slowing Us Down and How to Overcome Them

Oct 27, 20235 min read
Developer challenges can be opportunities if played well. This article covers strategies to keep up with rapid tech advancements.
Lessons from “The Mythical Man-Month” for Software Engineers

Lessons from “The Mythical Man-Month” for Software Engineers

Oct 25, 20236 min read
Arguably one of the best books in Software Engineering. The first lesson, the Myth of Man-Month about adding people in the middle of projects, is still relevant as ever.
Differences between software engineering and programming

Differences between software engineering and programming

Oct 19, 20235 min read
Software engineering and programming are two distinct roles, each with its own set of responsibilities and skills. This article compares both disciplines.
Choosing Between Building and Buying Software: A Quality View

Choosing Between Building and Buying Software: A Quality View

Oct 16, 20235 min read
The buy vs build decision includes cost, however it is not the only aspect. Reliability, performance, security, customization, and maintenance also play a role.
What is the difference between Availability, Recoverability, and Disaster Recovery

What is the difference between Availability, Recoverability, and Disaster Recovery

Oct 13, 20236 min read
Understanding the differences between availability, recoverability, and disaster recovery is essential for building resilient and reliable software systems.
How to Fix Unreliable Tests: A Guide for Software Engineers

How to Fix Unreliable Tests: A Guide for Software Engineers

Oct 11, 20235 min read
Unreliable tests make the team lose confidence in the automated pipelines. Understanding causes of flakiness and how to fix them will bring confidence back.
The Significance of Idempotency in Software Engineering

The Significance of Idempotency in Software Engineering

Oct 4, 20234 min read
Idempotency ensures data consistency, fault tolerance, safe retrying, caching and optimization; regardless of how many times it is performed.
From productivity to Software Engineering effectiveness

From productivity to Software Engineering effectiveness

Sep 28, 20235 min read
I suggest to focus on software engineering effectiveness rather than productivity. Key dimensions are code quality, automated testing, and collaboration.
Should I Care About Software Quality on Low-Code Platforms?

Should I Care About Software Quality on Low-Code Platforms?

Sep 19, 20235 min read
The rise of low-code platforms has brought immense benefits to speed up development. However, software quality on low-code solutions should not be overlooked.
The Economics of Software Engineering

The Economics of Software Engineering

Sep 12, 20235 min read
The economics of software engineering trade offs between cost of producing, releasing and maintaining software and benefits depending on the outcome.
How to Measure Software Quality

How to Measure Software Quality

Sep 6, 20234 min read
To measure software quality, consider quantitative metrics and qualitative assessments, based on reliability, performance, security, maintainability, usability.
Effective Software Testing: A Comprehensive Review

Effective Software Testing: A Comprehensive Review

Aug 30, 20236 min read
Effective software testing ensures that the software meets its intended functionality. Different test types are used depending on the case judiciously.
Techniques to Enhance Software Quality

Techniques to Enhance Software Quality

Aug 30, 20236 min read
There are certain software engineering techniques that improve software quality and ensure long-term fitness of software systems.
Enabling Quality Software through CI/CD: A Pathway to Continuous Improvement

Enabling Quality Software through CI/CD: A Pathway to Continuous Improvement

Aug 28, 20235 min read
Continuous Integration and Continuous Deployment (CI/CD) have emerged as game-changing practices. Going faster and releasing often is key for quality software.
When to use a Micro Frontend Architecture?

When to use a Micro Frontend Architecture?

Aug 8, 20235 min read
Micro Frontends is an architectural style for building web apps by decomposing the UI into smaller, self-contained, and independently deployable modules.
Software estimation in software engineering

Software estimation in software engineering

Jul 25, 20234 min read
Predicting the future is as challenging as necessary. This is also true in Software Engineering when estimating development effort, cost and schedules.
Fault tolerance actionable failure metrics

Fault tolerance actionable failure metrics

Jul 15, 20233 min read
The capacity to withstand a fault without failure is fault tolerance. Monitoring and measuring failure metrics is key to understand what is going on.
The subtle art of decoupling systems

The subtle art of decoupling systems

Jul 12, 20235 min read
Systems coupling has several dimensions. Hence, decoupling each aspect can take you in a different direction with conflicting trade-offs.
Is high quality software worth the effort?

Is high quality software worth the effort?

Jun 30, 20234 min read
A classic debate in Software Engineering is about whether investing effort into building high quality software is worth it or not.
Comprehensive Software qualities for scalability

Comprehensive Software qualities for scalability

Jun 22, 20237 min read
Scalability is the property of a software system to be able to handle a growing amount of work. This article provides comprehensive Software qualities for scalability.
Software quality in software engineering

Software quality in software engineering

Jun 14, 20235 min read
In Software engineering, quality is defined as building software correctly and meeting specifications; basically, what the customer has requested.