Posts

Becoming an AI Developer Without the Math PhD: A Practical Journey into LLMs, Agents, and Real-World Tools

 For the past year, the world has been obsessed with what artificial intelligence can do for us. From ChatGPT writing emails to MidJourney generating fantastical images, the dominant narrative has been "how to use AI." But what if you're not satisfied just prompting models? What if you want to build them, customize them, run them offline, and deploy them securely in the cloud? This is the journey I'm starting now: learning to build with AI, not just use it. And in this post, I’ll lay out the core principles, motivations, and roadmap that will guide my exploration into becoming an AI developer—with a specific focus on LLMs (Large Language Models), agents, training workflows, and cloud/offline deployment . Let me be clear: I’m not here to write a research paper, derive equations, or become a machine learning theorist. I don’t need to build a transformer from scratch in NumPy. My goal is pragmatic: I want to learn how to train, run, integrate, and deploy powerful ...

The AI Interview Paradox: Rethinking the Software Developer Hiring Process in the Age of Artificial Intelligence

 In the not-so-distant past, software developer interviews focused on whiteboard problems, live coding, and brainteasers designed to test raw problem-solving ability under pressure. The reasoning was clear: these were proxies for technical aptitude and performance on the job. However, the rise of generative AI tools like GitHub Copilot, ChatGPT, and Sourcegraph Cody has completely reshaped how developers write, test, and reason about code in real-world settings. Yet ironically, the interview process has become more resistant to AI assistance than ever before. This contradiction has created a new paradox in technical hiring: companies are screening candidates against the tools they expect them to use for the job. This post explores how the AI revolution is transforming the goals, dynamics, and shortcomings of the software developer hiring process. We'll examine both sides of the hiring equation—candidates and employers—as well as the history behind the current system, what the fu...

How Rust Is Quietly Taking Over Cloud Infrastructure

  In recent years, Rust has gone from a niche systems programming language to a silent powerhouse reshaping how modern cloud infrastructure is built. With a focus on safety, performance, and concurrency, Rust offers exactly what cloud-native platforms need: speed without sacrificing reliability. Despite its steep learning curve, more and more teams are betting on Rust for building the foundational blocks of scalable, secure, and efficient cloud services. This post explores how Rust is increasingly being adopted in production by major players, and what makes it uniquely suited to cloud infrastructure. We'll also examine real-world examples and explain why Rust's influence is likely to grow even stronger in the coming years. Why Rust for Cloud Infrastructure? Rust brings a rare combination of features that directly address the pain points of modern cloud systems: Memory safety without garbage collection : Rust’s ownership model ensures memory safety at compile time, elimin...

New York, Through My Eyes: A Journey into the Heart of the City That Never Sleeps

Image
There are cities that impress you. And then there’s New York—bold enough to shake you, embrace you, and leave you a little breathless, all in a single day. From the moment I stepped onto its busy streets, I felt something different. It’s not just the skyline or the lights or the sheer size of it all. It’s the rhythm—the unapologetic, nonstop, beautiful chaos that pulses through every borough and alley. New York isn’t a city you just visit. You feel it. You live it. You walk faster, you think quicker, you speak louder. It doesn’t matter where you’re from—once you're here, you’re part of the energy. It’s intimidating, inspiring, and oddly addictive. I came to New York hoping to see the sights, maybe eat a bagel, take some photos. What I didn’t expect was how deeply the city would get under my skin. This blog post is my way of capturing that feeling—not through a checklist, but through moments. Moments that made me pause, laugh, reflect, and occasionally just stop and stare. So if...

Getting Started with PlantUML: A Beginner’s Guide to Diagramming with Code

Image
 Diagramming is an essential tool in software development and system design. Whether you are modeling relationships, visualizing processes, or illustrating architectural components, diagrams enhance communication and clarity. Unlike graphical tools such as Visio or Draw.io, PlantUML allows developers to generate diagrams from plain text, providing a code-first approach that is reproducible, version-controllable, and easy to maintain. This guide will walk you through everything you need to start using PlantUML, from installation to creating your first diagrams. What is PlantUML? PlantUML is an open-source tool that uses a concise, human-readable language to describe diagrams. Rather than dragging shapes and connecting them manually, you write text files that are rendered into images such as PNG, SVG, or ASCII art. PlantUML supports a variety of diagrams, including: Class Diagrams Sequence Diagrams Activity Diagrams Component Diagrams State Diagrams Object Diagrams ...

Security Best Practices for Multi-Tenant Kubernetes Clusters

  Kubernetes has rapidly become the de facto standard for container orchestration, providing powerful features for deploying, managing, and scaling applications. As enterprises increasingly adopt Kubernetes for hosting multi-tenant environments, ensuring robust security becomes paramount. Multi-tenancy refers to the practice of sharing a Kubernetes cluster across multiple tenants—typically different teams, applications, or even customers. Each tenant requires a degree of isolation and protection against malicious or accidental breaches from other tenants. This guide explores the best practices for securing multi-tenant Kubernetes clusters. Understanding Multi-Tenancy in Kubernetes Multi-tenancy in Kubernetes can take various forms: Soft Multi-Tenancy: Tenants share namespaces within a cluster but are isolated using policies. Hard Multi-Tenancy: Tenants are isolated at the cluster level, typically through Virtual Clusters or separate Kubernetes clusters. The focus of thi...

Transitioning from Docker Compose to Kubernetes: A Practical Guide

  Docker Compose and Kubernetes are two of the most popular tools used to manage containerized applications. While Docker Compose is ideal for local development and simpler projects, Kubernetes shines in production environments where scalability, resilience, and orchestration are critical. As your application grows, you may find yourself needing to migrate from Docker Compose to Kubernetes to take advantage of Kubernetes' robust features. This guide will help you understand the motivations, challenges, and practical steps involved in making this transition. Why Transition from Docker Compose to Kubernetes? Docker Compose is a fantastic tool for defining and running multi-container Docker applications. It uses a simple YAML file to configure application services, making it approachable and convenient. However, as applications scale or require high availability, Docker Compose may fall short. Here’s why you might consider moving to Kubernetes: Scalability: Kubernetes provides ...