Accepting Technical Debt As Important As Fighting It

I was sixteen when I first read The Pragmatic Programmer. Back then, my programming career was in its very early stages—crude websites, silly games, and even sillier quizzes. The code I wrote was a shoddy, incomprehensible mess (for a long while, I preferred creating a single massive file, instead of modularizing the code in some way). I had only begun to learn that the job of a software developer goes beyond just making it work, that you’re writing code not for machines but humans, and a quote from The Pragmatic Programmer had a catalytic effect on me in that regard:




Will You Be Out of Job if You Don’t Learn AI?

About a year back, Mark Cuban remarked that people without AI skills “are going to be a dinosaur within three years.” Mark is not alone in believing that AI takeover is imminent. I have heard similar opinions from people around me just as often. Some are even frantically picking up MOOC courses on Machine Learning lest they become unemployable.


Why Programmers Should Automate More

Last week, I created a small script to aid my workflow which left me wondering why I didn’t make it earlier. It adds an option in Finder’s context menu to start a static web server in any folder which makes it easier to preview static websites. Technically, it’s equivalent to firing up the terminal, cding to the directory, and using one of the many options to create a static server. The convenience of doing in one step which took three is minor, but automating the process is also advantageous in secondary ways. The crucial benefit is removing the tedious chunk—even if a small one—of my work. I can take pride in how my real work won’t include time to get a static server running.



Imperfect 'Best' Practices

Six years ago, I was taught my first lesson of C++. Soon after learning about loops, came a subsidiary lesson about the goto statement. The teacher made it clear that using goto was a horrible practice because of unconditional-jumps mess it creates and should always be avoided. A bit of googling followed and I ended up with a well known essay of E. Djikstra’s ‘Goto is considered harmful’ and I committed myself to never use the statement even if it meant creating a frivolous flag variable.



Hackers Are the Real 10x Engineers

The notion of 10x programmer was first mentioned by John Brooks (of, Brook’s law fame) in his essay No Silver Bullet, according to which, ‘there is as much as a tenfold difference between an ordinary designer (programmer) and a great one’. The idea has been widely debated, sometimes refuted and many times defended which is unsurprising for it is impossible to accurately measure a programmer’s productivity.