3 Things I Learnt After High School About Selling

In between high school and university, I sold my first commercial software, a billing application I wrote back then in Pascal for a banquet organizer in the neighbourhood. Those were probably the most satisfying $10 I had earned. It taught the programmer in me some simple yet invaluable lessons in…

Why Writing Software Is Like Engineering

How would you classify writing software? Is it science (as in computer science), a form of art (as in code is poetry or prose) or an engineering discipline? Terence Parr, a professor of computer science at the University of San Francisco, recently wrote about why writing software is not like…

The Lean Wizard of Oz

Recently I read about the yet unbuilt 2011 Ford Fiesta that attracted more than a thousand online pre-orders within the first 6 days of the launch of its reservation program. It made me wonder not only about the marketing hype associated with such campaigns, but also about the fact that…

We Lift On Three

At one of the company stand-ups I attended recently, the topic of discussion was ‘Good Communication’. As simple and ordinary it may sound, it did make me think about an interesting hypothesis. Research tells us that only 7% of all communication is impacted by the content or the…

A Red Duct Tape

Joel Spolsky recently wrote about the “Duct Tape Programmer“: Duct tape programmers are pragmatic. Zawinski popularized Richard Gabriel’s precept of Worse is Better. A 50%-good solution that people actually have solves more problems and survives longer than a 99% solution that nobody has because it’s…

Turnkey or Chicken

Not so long ago, an acquaintance who was seeking a software development job interviewed for a role at a “market leader” in the development, implementation and support of financial services software. During the interview, it was revealed that the position is concentrated around the implementation of an Enterprise…

Sign That You're A Good Programmer

What makes a programmer good at their craft? For years, organizations which hire programmers have reasoned with this question. Yet, the criteria for selection of a “good” programmer differs by the lot. As candidates, most programmers are put through tough technical interviews, grinding analytical tests, and twisted coding…

The Cross-Platform Enterprise Lore

It’s a known assertion that software applications (desktop or distributed) are not truly platform agnostic. Even if a software application is developed as a cross-platform solution, it is very difficult to make it look and work identically across all platforms (operating systems). Hence, lately I’ve been…