In the past year, I’ve gone through a very tough interview for Amazon AWS. In this article, I’ve described my experience.

I would like to describe it all, starting from the review of my curriculum vitae, the “codility ”algorithm online code challenge, the phone screening interview, the onsite interview (with 5 different people about various topics), and the final call.

Photo by Bryan Angelo on Unsplash

I will not report the precise questions that they asked me, but some general information about interviewing for Amazon, the evolution of the long and hard process, and some advice that I wish I had known before interviewing.

Unfortunately, I did not manage to pass the interview, but I’ve managed to learn a lot, about interviewing, about Amazon, about myself. I…


This article is based on a REAL use case scenario for a database-intensive application, with a focus on performance. The experimental results I’ve come across can help you choose one or the other.

Straightforwardly, the same application has been realized twice using different languages: JavaScript (Node-JS) and Java (Spring-Boot) with performance measuring executed in varied environments.

All the code including deploy (Docker-Swarm) and testing environment (JMeter) is available at https://github.com/GaetanoPiazzolla/spring-boot-vs-node-js free for you to play with and customize.

Index:

  1. Application and test description — what are we measuring and how
  2. Results and conclusion

APPLICATION AND TEST DESCRIPTION

We will evaluate the performance of four REST JSON endpoints:

  1. /find-all — Gets an increasing number of items from the DB
  2. /save — Persists a new item on the DB
  3. /get/{id} — Get an item from the DB
  4. /cpu/{load} —…


Give the context of a WEB application fault

Photo by David Clode on Unsplash

They found the hanging body on a sunny Monday afternoon. The screen was still displaying the last assigned task regarding a bug fix — misty, convoluted sentences without significance.

In the career of a developer this is a common part: the will to take an end to our pain. Suicide is never the answer — maybe we can reduce suffering related to bug fixing tasks using HAR files.

Content of the story:

  1. What HAR these — a definition about HAR files and how them can help us fixing and reporting a bug;
  2. Generate a secure HAR file — using your…


After some experience in the field I have found several aspects that have made me turn up my nose — and I have found some maneuvers to straighten it back.

In the next six sections there is my point of view about the 6 main DOWNSIDES of microservices development — and what I think could be done to reverse some of them to UPSIDES.

1 — KNOTTED REMOTE CALLS


A simple step-by-step guide to use Kubernetes ConfigMap to update the environment of a frontend application at runtime, without any additional libraries.

Full code with standard docker files and basic angular and react application is available here. Read forward for a comprehensive explanation of the focal points of the implementation.

Photo by Joseph Barrientos on Unsplash

IMPORTANT NOTE: this is a rework and an expansion of the original article by Robin-Manuel Thiel “Dynamically set Angular Environment Variables in Docker”.

1 - Prerequisites: ConfigMap

Used in a POD’s container using “valueFrom” to use just some of the ConfigMap data keys as environment variables:

Or “envFrom”( to define all of the ConfigMap’s data as container environment variables)

Wich from the point of view of the environment is equivalent to having the…


Every one of us has at least one old semi-broken old phone in the drawer. In this article, I’ve described how I transformed this old piece of tech. junk into a fully functional security camera accessible from the internet.

My old Asus Zenphone with broken display. It has a very good camera :)

Ingredients:

  • 1 Android phone with functioning WIFI connection, camera, and display
  • 1 Configurable Internet Router (or, to get things very spicy, you could install a private VPN server)

INSTALL THE APPLICATION:

Let’s start with the easy part: installing the application that will transform your phone into an IP Webcam. (Requires Android 4.1 and up)

This application is completely free and it comes with several nice features as Video recording, Motion detection, Auto-start streaming at device BOOT, enhanced night video streaming, two-way audio, and several more.

To start the video streaming, you just have to be sure that your phone is connected to the…


Any user can edit values in the storage — let's encrypt them.

We found out that some users were editing malevolently the client storage to view hidden functionalities of our application.

Even if it’s not a best practice to rely on exposed data as WebStorage for these cases, we didn’t have the time for a refactor — so we decided to encrypt the values making them uneditable and unreadable.

Photo by Thom Milkovic on Unsplash

It’s possible to edit local and session storage using any web browser developer tools:


An HTML text area field with syntax highlighting, in which changes are streamed immediately to all connected clients.

The ingredients for the recipe are really cheap: we need a total of 300 lines of JS code, 40 lines of HTML, a sprinkle of 100 CSS lines; bake with npm, and here is the result:

The demo of the “direct-code” simple app. Make it yourself!

FAANG companies ( Facebook, Amazon, Apple, Netflix, and Google) use tools like the one above (which I called “Direct Code”, not so original I know) while interviewing candidates.

There are lots of already made applications that do the same thing; I decided to build one on my own to understand what are the difficult tasks and issues at play while developing something like this.


In the latest release, a terrible bug was included. Lots of precious user information was lost. With Kibana we recovered everything.

Photo by Taylor Wilcox on Unsplash

Step 1) 😎 Deploy a cool new feature

Step 2) 😱 Panic after 4 days when someone tells you that the new code impacted another piece of the application, causing the override with nulls of several fields in the user table

Step 4) 💾 Recover some data from a past database dump

Step 5) 😱 Panic AGAIN when you notice that 6k user’s row are still missing data

Step 6) 🔎 Discover that using Kibana luckily you can manually recover user information written on Log

Step 7) 😱 Panic SOME MORE when you think that you have to do this…


I’ve come to know lately that the IMG tag has 3 attributes that if set correctly can greatly improve the loading time of a web page. Check them out!

This article is a summary of the article by smashing magazine, with focus on what I think are the most important features therein listed.

1- Lazy Loading

With this simple attribute on the IMG tag, clients will load the image when specified, eagerly or lazily.

<img src="image.jpg"
alt="Description of the image"
loading="lazy" / "eager"
width="500"
height="500">

It’s a good strategy to avoid clogging the clients with several requests, loading the critical elements of the…

Gaetano Piazzolla

Tech. leader and passionate developer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store