I was pleasantly surprised to receive my green card (permanent resident card) in the mail this week. When I look back at my past nine working years, there wasn’t a time when I was free to look for another work or quit. For the first four years and the last two years, I was on my work visa in the US. While I was lucky to get one in the first place, being on a visa meant my job change would need to get reviewed and approved. A bad legal misstep could kick me out of the country, and I wasn’t comfortable risking it.
Even when I was in Korea, I worked to satisfy my civic obligation instead of active military duty. Again, my job change would mean a round of reviews and approvals. If I had quit my job then, I would have been drafted into active duty.
So the freedom to work wherever and quit whenever brings me a fresh feeling of freedom. I am now truly free to work. I look forward to what I can do with this newly earned freedom.
Software Engineering ⚙️
It Can Happen to You
Grand Theft Auto Online, a popular online game, had a long-standing, slow loading time. The internet recently discovered that two simple fixes could make a 70% improvement. It’s easy to blame the issue on whoever wrote that code. But a senior software engineer ought to be able to see that they can make the same mistakes too.
Nullability in GraphQL
Whether to mark a field nullable or not has been a contentious topic internally. I believed that fields should be marked non-null if their values should always be defined in business logic because non-null fields are simpler to handle. However, I recently learned that in our federated GraphQL architecture, a non-null field could make a query less resilient to a service failure. So we recently agreed to mark all fields as nullable by default.
Your Linux processes are already “containerized.”
While I’ve used containers and serverless extensively for stateless applications, I felt uncomfortable using them for databases. This article explains that PostgreSQL in a container is not too different from one on a Linux system in how it can go wrong: OOM killer, Storage, Restarts and “in motion,” and Custom Deployments. Link
Don’t create a sense of urgency, foster a sense of purpose.
At big and small companies, I’ve seen the chaos created by the sense of urgency. When we have a deadline lording over us, we stop questioning the basic premise of projects. Not only the sense of urgency fails to maintain the throughput in the long term, but we will also fail to build the right thing. If it’s worth building, it’s worth thinking through.
Taming the Mammoth: Why You Should Stop Caring What Other People Think
My mammoth is that I want to be recognized at work and by my social circle. But I am not sure if I really want something else.
Clubhouse Is Suggesting Users Invite Their Drug Dealers and Therapists
Dark Patterns are defined as “tricks used in websites and apps that make you do things that you didn’t mean to, like buying or signing up for something.” It’s far more prevalent in consumer-facing applications since consumer data is where they make money. As part of their growth tactic, Clubhouse aggressively goes after its users’ contacts and makes suggestions, even if the contact belongs to a blocked harasser.