You Stop Craving for the Perfect Working Environment May 2017

I have always delayed buying furniture. The act of buying sizeable things induces a feeling of acquiring a burden that will affect my relocation freedom. For a considerable time, I didn’t have a table in my room. I worked on the bed with my Macbook during this time. It wasn’t awful but mentally, I made it be.

Source: Mac Desks

Browsing stunning photos of professional desks, I was often awed by neatly kept books, stationary, and a high-resolution monitor. I fancied the delight of having the same environment, believing it’d bring a kind of a productivity boost. To an extent, I held my working conditions culpable for my procrastination problem. The reason I didn’t feel like working on my side-project, I thought, is because my environment needs to be fixed.

Read more

Contradictory Startup Advice May 2017

There isn’t any established science that categorically nails the process of creating a startup (I have used “startup” to refer an Internet business of any scale). However, there are pointers from founders who did it successfully and cautious lessons from those who failed. Be it marketing, sales, hiring, or making business decisions, every area pertaining to startups has been meticulously covered in books, podcasts, courses, and articles.

One would think that the vastly accessible material has helped the likelihood of startup success. Maybe it has but there is hardly any evidence to corroborate that claim. Most Internet ventures still fail; most before getting any significant traction. What do we make of that? Why following the footsteps of successful founders remains failure-prone?

Maybe because building a startup is not as straightforward. It’s an antithesis of Anna Karenina Principle which suggests that the reasons behind unhappy families are numerous, whereas happy families have predictable things working for them. Obversely, successful startups succeed in their own way, while failed ventures are almost alike. It would be a glaring oversimplification but we can reduce startup failures to two reasons —

Read more

Why Programmers Should Automate More May 2017

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.

Everyone’s daily work is filled with similar tedious chunks insomuch that it’s hard to distinguish the real work. Time spent in checking reports buried down a web of links; in collating data from several sources; in syncing files via email. In programming? In creating a build with five manual steps; in setting up workflow that requires several applications to be up and running. Time spent in these trivial tasks eats into the real work; worse, creates an impression that real work is getting done.

Read more

How Quantity Trumps Quality? Apr 2017

Quantity over Quality. Jeff Atwood wrote about this contentious maxim back in 2008. The crux of the argument being, unrelented creation always leads to improvement. Jeff backed it with an allegorical tale of a ceramic teacher from the book Art & Fear —

The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the “quantity” group: fifty pound of pots rated an “A”, forty pounds a “B”, and so on. Those being graded on “quality”, however, needed to produce only one pot - albeit a perfect one - to get an “A”.

Read more

Understanding Money: Where Does it Come From? Apr 2017

There are things in science that are awfully hard to explain despite not entirely being hard. We are wired to reason in a certain way, which might be detrimental when it comes to understanding an intricate system.

Richard Feynman, the celebrated physicist, had an interesting anecdote regarding it. In one of the interviews, he narrates how his father asked where the photons come from when the electrons transit from higher quantum state to a lower one. “Photons don’t lie inside the electron, they are just released during state transition. It’s like speech; spoken words don’t come out of bag in the throat.”, he explained. Understandably, his father wasn’t satisfied with the analogy, but there wasn’t much Mr Feynman could have done better.

In the past few months, I got an answer to the basic question I had about money: where does it come from? If I got money from James, who got it from Tim, who got it from Ken, then, who sits at the top of the chain?

Read more

What is the Highest Salary a Programmer Can Make? Mar 2017

There are a few ways programmers can score big money — high-value consulting, entrepreneurship, early-stage stock options coming to fruition in a liquidity event but the simplest of them all is a Big Fat Paycheck. In general, programming is a well-compensated skill, but when it comes to certain industries, or certain skills, or a combination of both, compensation gets an order of magnitude more than the decent salaries.

These outliers in compensation are more apparent in the United States where the fight to find and retain talent has protractedly been intense, especially, when it comes to technology giants and aggressive finance sector companies.

In most cases, engineers who get paid prodigiously happen to be more than an engineer. Their role entails leading other engineers and working alongside higher management but despite that, complex engineering is the essence of the work. That could be heading a team to build a massive cloud infrastructure, for instance.

Read more

Things Programmers Should Never Say : "Who wrote this awful code!" Feb 2017

Code Gets Better Some codebases are crappy — actually, quite a lot of them are — but it’s distinguishably common to hear sharp criticism of code written even by decent engineering teams. Often this takes the form of complaining how the existing codebase is riddled with things-not-done-the-right-way. It’s typical when a small team of hackers grows to a bigger company and hires more programmers. From an idealistic viewpoint, it’s warranted one.

Read more

How to Teach Offside To a Five-Year Old Dec 2016

I have a big gripe with how children are taught things. Each lesson is shoved down their throats without an effort to steer their curious minds. In an insidious manner, this creativity-inhibiting process creates a deep-rooted habit of rote-learning things without using the critical thinking intellect. The hows and whys gradually disappear from children’s conscious creating a subservient bot rather than an inquisitive person. Sometimes, forced rote-learning is fairly obvious but often it’s rather subtle.

Read more

Why Does Subway Have Terrible Customer Onboarding Nov 2016

I enjoy having a Subway; it’s delicious, light, and convinces me, although a bit superficially, that I had something healthy. But, my first experience there wasn’t a pleasing one.

I entered to order assuming that I only have to pick one of the option on the walled pictorial menu. I asked my “sandwich artist” for a “Veggie Delight Sub”. Soon enough I learned how having a Subway wasn’t exactly like picking a choice and grabbing your wallet. I tried anxiously not to appear foolish by picking random options in case of veggies and sauces, and turning down requests for cheese and condiments. For obvious reasons, the sandwich didn’t taste all that well and I didn’t consider going back again. Few months later, my friend suggested his selection, telling me how I need to avoid certain sauces. I subserviently followed his suggestions to eventually understand how you order in the chain.

The barrage of choices that I dreaded on my visit apparently turned out to be Subway’s appeal — selecting ingredients to land one of the two million possibilities. Subway doesn’t have any standard ready-to-serve offerings; every sandwich is prepared from six obligatory choices — bread, flavour, extras, veggies, sauce, and salt / pepper. It’s ostensible why my first visit wasn’t joyful — there were too many choices to be made, some of which, like sauces, being disproportionally hard.

Read more

Creating Software Without Code Oct 2016

For a significant time, computer programming meant filling designated coding forms and requesting a keypunch operator to convert them into a stack of punched cards that a whirling mainframe could process. Back then, computing power was a scarce resource; to run a program you had to fill a separate form to get the card stack in the processing queue and patiently wait for its execution. Each mistake, however minuscule, meant a massive turnaround time in going through the coding forms, rectifying the mistake, getting new cards punched, and pushing a fresh job into the queue.

Read more