Categories

AWS

AWS S3 Select - powerful, but tricky

4 minute read

S3 Select is a powerful feature that allows us to query a subset of data from within an S3 object using SQL expressions. However, I did not find this feature...

SQS Triggered Lambda Functions

2 minute read

Important configuration and concepts to keep in mind when working with SQS and Lambda integration, which affects retries, processing time and message visibil...

Back to Top ↑

Coding

Setting up a Python project

1 minute read

This guide is for Windows users, to help us set up Python projects systematically and consistently.

Setting up a Serverless + NodeJS project

7 minute read

How to set up a serverless nodeJS project from scratch. Includes instructions for Git, GitLab CI and Runner set up, ESLint, Jest, Winston, Complexity Report,...

Clean Code (PluralSight Course)

1 minute read

A very brief and general introduction to clean code by Cory House. Applicable to all languages. Touch on topics such as naming, conditionals, functions, clas...

Refactoring

14 minute read

A general approach to refactoring our code. It attempts to classify issues in our code into categories, and demonstrate the solutions to overcoming those iss...

Back to Top ↑

Software Design

Domain-Driven Design Fundamentals

12 minute read

Comprehensive course covering Domain Modelling, Entities and Value Objects, Aggregate Pattern, Domain Services, Bounded Context, Repository Pattern, and Doma...

Introduction to Domain Driven Design

7 minute read

Domain Driven Design (DDD) is a software development approach to implement complex software by dividing the solution into domains that serves specific purpos...

Back to Top ↑

Software Architecture

Domain-Driven Design Fundamentals

12 minute read

Comprehensive course covering Domain Modelling, Entities and Value Objects, Aggregate Pattern, Domain Services, Bounded Context, Repository Pattern, and Doma...

Clean Architecture (PluralSight Course)

3 minute read

Extremely high level course on clean architecture, briefly covering Domain-Centric vs Database-Centric designs, Component Cohesions, Microservices, Testing, ...

Back to Top ↑

Project Management

Lessons from my first product launch

5 minute read

I have participated in the launch of a B2B e-commerce platform. Here are some of the lessons I have learnt in terms of resource management, engineering proce...

50,000 Orange Stickies Later

3 minute read

This talk covers the essence of Event Storming: use of color-coded Post-it notes to model our domain, involving all stakeholders to craft our Ubiquitous Lang...

The Effective Engineer

27 minute read

Effective time management helps to deliver projects on time. The key to effectiveness is to focus on high impact activities, and some of the highest impact a...

Back to Top ↑

Software Library

My React & React Native Compendium

18 minute read

React is a frontend library that is performant and lightweight. In order to use React well, we need to understand the basics of lifecycle, states, and props,...

Back to Top ↑

Programming Language

My TypeScript Compendium

9 minute read

My notes are derived mostly from TypeScript Deep Dive and TypeScript Handbook. But before diving into TypeScript, it is best to start from having a strong un...

A Brief History of JavaScript

1 minute read

Understanding how JavaScript was invented helps us appreciate why the language behaves the way it does, how it evolved over the years and why certain feature...

Back to Top ↑

Communications

The Elements of Style

8 minute read

The rules on writing to help everyone feel more confident in addressing a wider audience. It contains great examples to help us understand the application of...

Back to Top ↑

Database

Back to Top ↑

Domain Analysis

50,000 Orange Stickies Later

3 minute read

This talk covers the essence of Event Storming: use of color-coded Post-it notes to model our domain, involving all stakeholders to craft our Ubiquitous Lang...

Back to Top ↑

Web

Basic understanding of Web Browsers

1 minute read

Since the invention of JavaScript was solely driven by the desire to enrich web browsing experience through client side processing, we must know how modern b...

Back to Top ↑