• en | es

Complex refactoring in simple steps Part I

Screencast - Complex refactoring in simple steps, Part I: Replace Method with Method Object Matthew Butt demonstrates how to compose simple automated refactoring steps in ReSharper to refactor code to better designs. In this episode, we look at a method that exhibits the Long Parameter...


Chinese whispers on Scrum roles

Few days ago, I attended the 2-day Martine Devos' Certified Scrum Master, Estimation & Planning Class at Skills Matter. I had the privilege of meeting and learning from Martine Devos, one of the best Scrum trainer in Europe. This also gave me the opportunity to...


The Java Synchronisers

Threads communication happens primarily by sharing access to fields and objects. Although extremely efficient, this form of communication is prone to errors such as thread interference and memory consistency. Synchronization is a tool that helps to prevent such errors. However, synchronization does not come for...


Have you met the CLI?

What enables code written in C#, F# and VB.Net to run within the same application? And what is .Net anyway? A standardised specification When I was working on a legacy website, developed in VB.Net, I had to implement PayPal Payments Pro. After some searching, I...


Maven demystified

Due to my Android development background, I am more used to Gradle than to Maven. Although I knew that Gradle was based on Maven, I had never investigated what was going on behind the scenes. During the last week, I have been trying to understand...


Improve team's communication with User Stories

The challenge of Software development is about building a product which fulfills both business and users' expectations. The focus for each role within an Agile team is different: Project Managers want to see progress and want a quality product that is delivered on time and...


Three pillars of Continuous Delivery

Some time ago I was invited to take part in a online panel about continuous delivery. Continuous Discussions is a series of one-hour long panel discussions between people from different backgrounds about various aspects of continuous delivery. The topic of my panel was Deployment Automation...


Communicating Design

Software design is crucial. It is the foundation of an application. Much like a blueprint, it provides a common platform for parties from all backgrounds. It facilitates understanding, collaboration, and development. Design should not be considered only an element of development. It should not live...


Testing Spark Streaming: Integration testing with Docker Compose

In the first post of this series, we saw how to unit test Spark Streaming operations using Spark Testing Base. Here we'll see how to do integration testing using Docker Compose. What is Integration testing We previously saw a discussion about unit and integration testing....


What does RESTful really mean

Last month I attended Fast Track to RESTful Microservices training at Skillsmatter. During the course, we explored what REST APIs can offer to web applications in general and microservices communication in particular. Personally, the most important outcome of the course is a better understanding of...


Subscribe to newsletter