---
title: "Alan Varghese (@waterrmalann) | Hashnode"
description: "Designer. Developer. Read the latest articles by Alan Varghese on Hashnode."
url: "https://hashnode.com/@waterrmalann"
---

@waterrmalann

# Alan Varghese

@waterrmalann · Joined January 2024

Designer. Developer.

[Website](https://alanvarghese.me/)

### [Unlearn faster](https://blog.alanvarghese.me/unlearn?utm_source=hashnode&utm_medium=feed)

When I started engineering seriously, I carried a lot of "correct" patterns in my head. Microservices were the gold standard, so the real-world project I led the development on had to be microservices

2 min read · [blog.alanvarghese.me](https://blog.alanvarghese.me/unlearn?utm_source=hashnode&utm_medium=feed)

[Mar 3](https://hashnode.com/posts/unlearn/69a71ef656428acc6fff7fc1)

### [The real unfair advantage is focus](https://blog.alanvarghese.me/the-real-unfair-advantage-is-focus?utm_source=hashnode&utm_medium=feed)

"unfair" advantages are often associated with things that are external. Better network, funding, timing. But in practice, the biggest one I've seen is focus. I recently changed my working hours from 9

2 min read · [blog.alanvarghese.me](https://blog.alanvarghese.me/the-real-unfair-advantage-is-focus?utm_source=hashnode&utm_medium=feed)

[Feb 20](https://hashnode.com/posts/the-real-unfair-advantage-is-focus/699890213dc17c4862fc7906)

### [Vibe-engineering an OpenAPI compatible API authoring tool](https://blog.alanvarghese.me/vibe-engineering-an-openapi-compatible-api-authoring-tool?utm_source=hashnode&utm_medium=feed)

As an engineering lead, I spent most of my time architecting systems, writing issues, and translating business requirements into clean technical requirements which involve some form of API documentation and authoring DTOs. Defining the API as a contr...

6 min read · [blog.alanvarghese.me](https://blog.alanvarghese.me/vibe-engineering-an-openapi-compatible-api-authoring-tool?utm_source=hashnode&utm_medium=feed)

[Feb 8](https://hashnode.com/posts/vibe-engineering-an-openapi-compatible-api-authoring-tool/69886a3a6cfea32ccb3921bf)

### [You aren't qualified until you've lived the role](https://blog.alanvarghese.me/unqualified?utm_source=hashnode&utm_medium=feed)

We overestimate preparation. There are parts of a role which you simply cannot simulate. Intelligence and effort alone will never make a fresher "qualified" for a job on day one. You can learn syntax,

2 min read · [blog.alanvarghese.me](https://blog.alanvarghese.me/unqualified?utm_source=hashnode&utm_medium=feed)

[Jan 15](https://hashnode.com/posts/unqualified/699e8adb495a125e8fb737e1)

### [Race conditions in async code](https://blog.alanvarghese.me/race-conditions-in-async-code?utm_source=hashnode&utm_medium=feed)

What do you think is wrong with this particular block of code? async function createEntity(name: string) { const existing = await this.userRepo.findOne({ where: { name } }); if (existing) throw new ConflictException('Name already exists'); awai...

3 min read · [blog.alanvarghese.me](https://blog.alanvarghese.me/race-conditions-in-async-code?utm_source=hashnode&utm_medium=feed)

[Jul 16, 2025](https://hashnode.com/posts/race-conditions-in-async-code/6934a934f8859af5d62b3a94)
