Cargo Cult Programming

A style of  computer programming characterized by the ritual inclusion of code or program structures that serve no real purpose. Cargo cult programming is typically symptomatic of a programmer not understanding either a bug they were attempting to solve or the apparent solution. Cargo cult programming can also refer to the practice of applying a design pattern or coding style blindly without understanding the reasons behind that design principle.

Recently I’ve been learning Kubernetes from a course I bought on Udemy. After spending a couple of hours, i realized all what the instructor is doing, is showing me various commands and how to execute them using kubectl. Even though I had already invested couple of hours into this course I still had along trail of questions related to fundamental concepts; What is a Pod? are Services a physical thing, or just an abstraction of rules defined in IPTables….and many more questions.

Read More »Cargo Cult Programming

Know Thy Domain

Whenever I switch jobs or change teams, I find myself spending all of my time learning the new technology stack and all the fancy tooling that are being used in my new workplace.

I’ve been reading more of the Domain Driven Design book by Eric Evans and one particular paragraph stuck with me as it made me reflect on my attitude towards software engineering in general.

Read More »Know Thy Domain

The Struggle With Maintainability

Looking over the past 3-4 years I realize the way I build software hasn’t evolved as much as I would hope. I hate to admit this, but I find myself repeating the same mistakes and stumbling  over the same challenges in my projects over and over again. While I have adopted (specially over the past year) cloud computing and different techniques to ensure service availability and better fault tolerance, application code maintenance hasn’t improved by much.

Read More »The Struggle With Maintainability

The Interesting Case Of Laravel Silent Crash

So I worked on this website at work, where users need to enter a card key they purchased in order to login. In the admin dashboard I needed to add a page where the admin can view each card in the system, and every user that had used each card.

The way I initially implemented this usecase is by paginating the Cards and eager loading¬†the users associated with each card. It was easy, simple and I managed to get all the data I need in one trip to the Database. It worked fine on my local machine. I can’t imagine a card being used by more than 20,50,100 users, so eager loading the users seemed to make sense…….

Read More »The Interesting Case Of Laravel Silent Crash