Wolk Software Engineering

Empowering developers and teams to be their best

Read this first

10 Reasons to sponsor JSDayIE 2019

The top priority for JSDayIE is the attendee experience, with great food, drinks, talks, swag, and community. JSDayIE is a one-day single-track conference hosted in The Round Room at The Mansion House, Dawson Street, Dublin.

JSDayIE carefully curates talks that inspire and inform the audience in an intimate feeling where each attendee has time to meet one another (only 350 tickets are available).

Compared to most conferences, JSDayIE sponsorship provides high-value authentic interactions with attendees for a relatively low investment. Sponsoring JSDayIE is a great way to contribute to the healthy growth of the JavaScript community in Ireland. Please join us in creating a fantastic experience for every attendee. Sponsoring offers a unique opportunity to expose your brand and find talent specialized in JavaScript technologies in Ireland.


 1. Contribute to the healthy growth of the


Continue reading →

JSDayIE 2019 CFP now open!

The JSDayIE 2019 CFP is now open! We’re excited to welcome the JavaScript community to submit talks for JSDayIE 2019 that will take place on September 20th 2019. The Call for Proposals closes on April 15th, 2019.


We are looking for a multitude of topics and perspectives but most of all we value:

  • Original topics, presented for the first time
  • Practical ideas that attendees can apply at work the next day
  • Trends and hot topics which are relevant in 2019 and beyond
  • Fresh perspectives on the JS ecosystem

We don’t have a specific theme for JSDayIE. Instead, we’re aiming to select talks that are interesting for as many JavaScript developers as possible. Our audience skill level is intermediate to advanced.

All talks should be in English and 25 minutes long. We will be on a tight schedule and will enforce the time limits rigorously. We suggest that you time your presentation...

Continue reading →

Introducing JSDayIE 2019!

Welcome to the official announcement of JSDayIE 2019! We are very excited to introduce the very first JavaScript conference in Ireland.

JSDayIE 2019 is going to be a day dedicated to the JavaScript community in Ireland with over 450 attendees. The goal of the event is to bring together the JavaScript community for one day and showcase some of the best and most innovative work done by the members of the JavaScript community in Ireland.


JSDayIE is presented by Wolk Software. Wolk Software is an Ireland based startup dedicated to empowering developers and teams to achieve their best through consultancy and training services and technical publications and events.

JSDayIE 2019 will take place on September 20th, 2019 at The Round Room at the Mansion House in Dawson Street, right in the heart of Dublin.


JSDayIE is a single-track 1-day tech conference featuring talks from a diverse range...

Continue reading →

Why TypeScript is a better option than JavaScript when it comes to functional programming?

In this post, I would like to discuss the importance of static types in functional programming languages and why TypeScript is a better option than JavaScript when it comes to functional programming due to the lack of a static type system in JavaScript.


 Life without types in a functional programming code base

Please try to put your mind on a hypothetical situation so we can showcase the value of static types. Let’s imagine that you are writing some code for an elections-related application. You just joined the team, and the application is quite big. You need to write a new feature, and one of the requirements is to ensure that the user of the application is eligible to vote in the elections. One of the older members of the team has pointed out to us that some of the code that we need is already implemented in a module named @domain/elections and that we can import it as follows:


Continue reading →

Data fetching in React the functional way powered by TypeScript, io-ts & fp-ts

Over the past few days, I’ve been working on a React application. It is a straightforward application that doesn’t even require a database. However, I didn’t want to embed all the content into the application’s JSX because some of it will be updated frequently. So I decided to use a few simple JSON files to store the contents.

The application is the website for a conference, and I wanted to build a page that looks as follows:

To generate a page like the one in the previous image I have stored the data in the following JSON file:

    { "startTime": "08:00", "title": "Registration & Breakfast", "minuteCount": 60 },
    { "startTime": "09:00", "title": "Keynote", "minuteCount": 25 },
    { "startTime": "09:30", "title": "Talk 1 (TBA)", "minuteCount": 25 },
    { "startTime": "10:00", "title": "Talk 2 (TBA)", "minuteCount": 25 },
    { "startTime": "10:30", "title": "Talk 3 (TBA)",

Continue reading →

Book review: Escaping the Build Trap by Melissa Perri

A couple of days ago I finished reading Escaping the Build Trap by Melissa Perri and, as usual, I would like to share a review with the community.

I picked up this book because the author was a speaker at an event in Ireland. I live in Ireland, and I ended up learning about her work through one of my friends (@dagonzago).

I checked out some of the work of Melissa Perri online, and after watching her talk Escaping the Build Trap by Melissa Perri at Mind the Product, San Francisco, 2017 I decided to pre-order her book.

I’m a software engineer, not a product manager, product designer or product owner. However, the book is appealing to me because I find very interesting learning about why some companies and teams fail while others are incredibly successful. I enjoy learning about methodologies, practices or techniques that can increase the chances of an organization or team being...

Continue reading →

Book review: A Philosophy of Software Design by John Ousterhout


I recently finished reading A Philosophy of Software Design by John Ousterhout and I thought that it would be useful to share my opinion about it with the community.

My motivation for picking up this book was that I saw that it is one of the best sellers in Amazon and it had a lot of good reviews.

 About the author

The author of the book is John Ousterhout. He is a professor of computer science at Stanford University. He was a professor of computer science at the University of California, Berkeley where he created the Tcl scripting language and the Tk platform-independent widget toolkit and proposed the idea of co-scheduling. John Ousterhout has done some significant contributions to the field of computer science and has been awarded a Grace Murray Hopper Award and an ACM Software System Award.

 About the contents

This book was written by John Ousterhout to be used as the main...

Continue reading →

Strategic procrastination and software design

I want to share a straightforward but yet compelling software design and architecture technique that has been very effective for me over the last couple of years.

Some time ago spent a bit of time thinking about some of the successes and failures that I have experienced in different projects in my career as a software engineer. I tried to extract the essence of the successes and failures to try to find some principles that I could follow in the future. I found this exercise very useful, and it provided me with ideas for a few blog posts that I plan to share with the community at some point in the future. In this post, I want to focus on an idea that I like to call Strategic procrastination.

An expert strategic procrastinator is a mix between Napoleon Bonaparte and a Sloth.

 Strategic procrastination

Procrastinators have a clear goal and know how to reach it, but still, they don’t...

Continue reading →

Implementing SOLID and the onion architecture in Node.js with TypeScript and InversifyJS

In this article, we are going to describe an architecture known as the onion architecture. The onion architecture is a software application architecture that adheres to the SOLID principles. It uses the dependency injection principle extensively, and it is profoundly influenced by the Domain Driven Design (DDD) principles and some functional programming principles.


The following section describes some software design principles and design patterns that we must learn to be able to understand the onion architecture.

 The separation of concerns (SoC) principle

Concerns are the different aspects of software functionality. For instance, the “business logic” of software is a concern, and the interface through which a person uses this logic is another concern.

The separation of concerns is keeping the code for each of these concerns separated. Changing the interface should not...

Continue reading →

A Look Ahead: Web Development Predictions

In this post, I would like to share some predictions about the world of web development. Making predictions is dangerous because there are high chances that they will be wrong. However, I enjoy thinking about the future because it is exciting and it can help us to identify potential future career opportunities. Remember that all innovations start as a fantasy.

Over the past couple of years, I’ve been reading some blog post and announcements as well as observed some of the breakthrough technologies in the world of web development, DevOps and cloud computing spaces and I’m starting to being able to envision how the world of web development could look like in a decade from now. These are some of the most significant changes in the world of web development that I can envision right now. Please note that these predictions are not based on formal research, and it is just pure speculation.


Continue reading →