Nicola Apicella

Software Engineer

Hi! I am Nicola, software dev engineer at AWS.
I am a golang, java, js and container enthusiast. Passionate about automation and distributed systems in general. When I have some free time I like to get back to my dev.to blog and write about new things I learned.

Opinions are my own.

Updates
Blog: Golang error updates
Sep 2023

Read the article

Blog: What is a containerd snapshotter?
Feb 2023

Read the article

Launching a new public service at re:Invent
Dec 2022

After two years of hard work it's nice to see it live: Amazon CodeCatalyst (particularly the DevEnvironments that have my hands on it)

Blog: Your laptop is a distributed system
Nov 2022

Read the article

Blog: The API Gateway Impossibility (the story of an API migration)
Mar 2022

Read the article

Blog: How to monitor your system dependencies
Jan 2021

Read the article

Launching a new public service at re:Invent
Dec 2020

Worked on the development of a new AWS service: AWS Cloudshell

Blog: This article has 86 reactions and 11 comments
May 2020

Read the article

Blog: Test Driven Development by Example
May 2020

Read the article

Blog: How are docker images built? A look into the Linux overlay file-systems and the OCI specification
Apr 2020

Read the article

Blog: AWS Networking cheat-sheet - EIP, ENI, VPC, etc
Apr 2020

Read the article

Blog: Interesting bits - 2
Mar 2020

Read the article

Blog: Interesting bits - 1
Mar 2020

Read the article

Blog: Linux terminals, tty, pty and shell - part 2
Mar 2020

Read the article

Blog: Linux terminals, tty, pty and shell
Feb 2020

Read the article

Blog: Improve documentation quality with Architectural decision records
Jan 2020

Read the article

Blog: Poor man's kill switch for your demo applications
Jan 2020

Read the article

Blog: Linux pipes in Golang
Dec 2019

Read the article

Blog: DynamoDB or Aurora/RDS? Should we always use DynamoDB?
Nov 2019

Read the article

Blog: My personal blog
Aug 2019

Read the article

Blog: AWS SQS - Deduplicating messages
Jun 2019

Read the article

Blog: Golang Patterns - Part 3
Jun 2019

Read the article

Loving the idea of Event fork pipelines
Apr 2019

Cloudformation templates for event driven processing published to SAR: github repo

Published Cloudformation samples
Apr 2019

List of Cloudformation templates as reusable building blocks. At the bare minimum the list will be my starting point when I am looking for a bare bone template: github repo

Published Usb stick app
Apr 2019

Simple app to copy data from one machine to another: github repo

Angular JS
Mar 2019

In my current team we build our frontend with React, but I ve always been curios about Angular JS.
That's why I decided to write this website in Angular!

Blog: Multi-language build tool?
Jan 2019

Read the article

Distributed locking
Dec 2018

Avoid it if you can. If not, you need consensus and fencing

Blog: DynamoDB transactions
Nov 2018

Read the article

Architectural Decision Records
Sep 2018

Document key architectural decisions for the systems in a standard format and put them in Version Control!
I have been using the pattern for a while and I have got good feedback from people who onboarded with projects in which I used this pattern.
Reference: adr description and adr template

Blog: Containers from scratch in 18 lines of code
Jun 2018

Read the article

Clojure
Jun 2018

After reading about Functional programming, I tried how it looks like to write some code with a functional language.
There is no OOP vs FP, instead we need to leverage both of them based on which one is more appropriate for the feature to implement.
Too bad I did not manage to get proficient with Clojure

Blog: Golang Patterns - Part 2
May 2018

Read the article

Distributed systems fundamentals
May 2018

FLP impossibility, distributed consensus, CAP theorem and vector clocks.
Good online resource: book.mixu.net/distsys

Blog: Saving time with contract testing
Apr 2018

Read the article

Blog: Golang Patterns - Part 1
Apr 2018

Read the article

Blog: Why are you blogging?!
Mar 2018

Read the article

Functional Programming
Mar 2018

I was really after learning a new mental model. There is a great online course.
Although the examples are for javascript, the lesson learned are applicable in any language:
- egghead free course
- mostly adequate guide on FP

Blog: Awesome a11y
Feb 2018

Read the article

Blog: Go for Java developers
Feb 2018

Read the article

Blog: Dependency injection and Reader Monad
Jan 2018

Read the article

Test driven development
Dec 2017

Looking with interest in new development lifecycle. Having heard about TDD, I decided to learn more by reading: Test driven development by Kent Beck

Docker
Dec 2017

Started reading about docker and using docker as a way to run services locally. Very similar to what AWS SAM local does for Lambda

Circuit breaker
Dec 2017

Taking a closer look at the circuit breaker pattern and the Netflix implementation

Started blogging!
Nov 2017

my attempt to give something back to the community: blog

Launching a new public service at re:Invent
Dec 2022

After two years of hard work it's nice to see it live: Amazon CodeCatalyst (particularly the DevEnvironments that have my hands on it)

Launching a new public service at re:Invent
Dec 2020

Worked on the development of a new AWS service: AWS Cloudshell

Changed team
Jan 2018

Moved to AWS builder tools team

Joined Amazon
Dec 2015

as software developer engineer for the Web Accessibility team

Master of Science in Computer Engineering
Mar 2015

Graduated cum laude.Thesis: “Detection of hazardous situations in road by audio analysis”

Moved to Groningen for Master thesis research
Oct 2014

Research project: “Recognition of car crash from images using Gammatone filter”

Part time job at MIVIA lab - Universita degli Studi di Salerno
Jan 2014

Worked for one year in the MIVIA research lab, mostly on developing an audio analysis system able to recognize gunshot

Bachelor of Science in Computer Engineering
Sep 2012

Graduated cum laude. Thesis: “Proposal for a supervisory system for multiplatform home automation systems”

A random quote for ya!
Be sure you put your feet in the right place, then stand firm. [Abraham Lincoln]