Articles

What my ideal interview process looks like, revisited I have refined over the years my views on how an ideal interview process for software engineers could look like. This is my latest version afte...
Building a Privacy-First Web Analytics Platform Is it possible to track page views on a blog without sacrificing readers' privacy? Let's find out! https://www.antoniovdlc.me/building-a-privacy-firs...
My Experience Interviewing for Senior Software Engineering Positions in 2022 I quit my job in December and took a couple of months off to recharge and spend time with loved ones. Unfortunately, we ...
Declarative Sorting Functions in JavaScript Sorting arrays in JavaScript can be more complex than what it sounds. Let's build some declarative sorting functions to mitigate that! https://www.antoni...
What are Online Skill Assessments Really Worth? If you haven't interviewed in quite some time, you might be surprised to see the ubiquity of online skill assessments, both on recruiting platforms a...
Formatting Strings in JavaScript with Template Tags I published a package that leveraged template tags to format strings in JavaScript. In this article, we'll take a closer look at this package! ht...
Asking for References is Dead, Long Live Asking for References There are a lot of things that can be improved in how most interviews are conducted today, in particular, reference checks. https://ww...
Please Don't Give Me Another Take-Home Assignment Tech interviewing is broken, and the main culprits are usually clearly identified, but one that might be perniciously so is take-home assignments. ...
Password-less Authentication Using Magic Links In this article, after I rant a bit against passwords, we will look at implementing magic links, a password-less authentication method. https://www.an...
The Most Important Skill for Software Engineers Empathy. That is it! https://www.antoniovdlc.me/the-most-important-skill-for-software-engineers/
Less 10x Engineers, More 10x Environments The idea that there exists 10x software engineers regularly comes around, and is either supported or ridiculed with similar fervor. Instead of wasting time...
Some Thoughts on Improving Tech On-boarding As this is on-boarding season, I thought it would be interesting to go over some personal thoughts on how to improve the tech on-boarding process. https:...
Why you should be continually interviewing I usually don't share pieces of advice I haven't applied myself, but in this case, the epiphany came before the practice: you should be always interviewin...
Some guiding principles on how I write my resume As the tech hiring market is getting hotter by the day, I thought it might be helpful to share some guiding principles that I've followed over the y...
Let's go CSRF-ing! Get your surfboard ready, we are heading to the sea ... and the less than relaxed and laid back world of CSRF (pronounced "sea surf") attacks! https://www.antoniovdlc.me/lets-go-...
Building a link shortening service Time for a nice little side project: let's build a link shortening service! Actually, more than giving you all the code to achieve it, we will go over the process...
What my ideal interview process looks like Talk with any software engineer, and they will gladly tell you that software engineer interviewing is sorely broken. https://www.antoniovdlc.me/what-my-id...
Optimising a JavaScript library with WebAssembly, a failed attempt! One of the main benefit of using WebAssembly is that it is more performant than plain JavaScript code, in most cases. Hence, the ...
Implementing ranges in JavaScript Ranges are natively supported by a few (popular) programming languages. They allow for iteration over a defined space, while not having a linear increase in their ...
Sorting an array in JavaScript, a utility perspective! As sorting is a common operation on arrays, a more scalable and less error-prone strategy would be to define common compare functions. Let's b...
Template tags are just functions A few years ago, ES6 introduced template literals, allowing among other things for multi-line strings, embedded expressions, and string interpolation. That means th...
An alternative approach to structuring a vuex store When using vuex to manage the state of a large-enough Vue project, it can sometimes be difficult to manage, even more so when using modules. To t...
One-way state management in vanilla JavaScript Ever wonder what were the basic building blocks of one-way state management libraries such as redux or vuex? Well, you are in the right place as we wi...
Node package code starter setup Want to write an open-source library targeting Node, but don't know where to start? Just curious about a fellow open-source library author's default setup for Node p...
Implementing a basic calculator in JavaScript, the hard way! Ok, so let's quickly get this out of the way. If you want to implement a basic calculator in JavaScript that correctly handles +, -, *, ...
A look at PostgreSQL migrations in Node Data migrations are a common operation for any application with a persistence layer. In this post we will look at how to set a simple data migration on a Pos...
Infusing Go idioms into JavaScript via libraries After playing a bit with Go, there were a few constructs that I felt would be useful in JavaScript as well. Here are two such constructs and some li...
A look back at my first published npm library 5 years ago I recently looked back at some npm packages I first published 5 years ago, and thought it would be an interesting exercise to bring them up...
What I have learnt from interviewing for software engineering positions This is a personal overview of what I have experienced on both sides of the table and some advice for both candidates and com...
The architecture that powers litomba For the past 6 months I have been working with a friend on a crowdsourced shipping marketplace catered to the African diaspora in Europe. The platform is called...
The uproarious landscape of front-end tooling! What I love about working in tech is that you are always learning new things. This is even more true if you are a software developer and goes into its...
Is jQuery still relevant? jQuery is a JavaScript library that was born in 2006. At that time, as unbelievable as it may sound, IE6 was the most popular browser! https://www.antoniovdlc.me/is-jquery...
Native vs. Hybrid: do users really care? This has been a continuous source of conflict and division within mobile apps developers, almost surpassing the eternal nuclear war of tabs vs. space (hey, ...
The best JavaScript framework is HTML What framework(s) should I use? This might be one of the most asked questions amongst JavaScript developers, and there is a reason for that: there are too many...
I thought I knew JavaScript … … until I failed a technical interview I thought I aced! https://www.antoniovdlc.me/i-thought-i-knew-javascript/