Posted by
himath on November 17, 2008
Dr. Stephen R. Covey’s bestseller: The 7 Habits of Highly Effective People presents a simple principle centered approach for solving personal and professional problems. If you want to build a highly effective team at work, I recommend you expose your team members to the invaluable material in this book. The book discusses how to be effective in leadership, time management, negotiation, and most importantly, how to be a better person.
A few years ago, I read the book and used its material in the trainings I conducted for my team of software engineers. Now, it’s time to have a similar training at OrangeHRM (where I work now). So I started reading the book again to refresh my memory. As I move from habit to habit, I plan to blog about how to apply the principles in a software company.
Posted by
himath on November 13, 2008
How to hire good software engineers, is a problem which I have had to face for a long time. How can you really gauge the ability of a candidate during an interview? This is further made difficult by the fact that there are no standard requirements to be met for a software engineer. Anyone who could learn a programming language and do a bit of programming can call (and they do) himself or herself a software engineer.

A few months ago, I read the book: Peopleware, Productive Projects and Teams by Tom DeMarco and Timothy Lister. In Chapter 15, the authors draw an analogy between hiring a juggler for a circus and hiring an engineer or designer. No one would hire a juggler based only on an interview without seeing him perform. The same should be applicable to engineers. Yet how many engineers (in our case software engineers) are hired based only on an interview?
In the past, I have suffered due to bad hiring decisions at interviews. In order to prevent this, recently we decided to make it mandatory for the each candidate to go through a pre-interview test that consists of an exercise to write working code on a computer to solve a given problem, and to come up with designs on paper for a few given software problems. Today’s the first time we tried it. So far two candidates have taken the test, and we can already see that it gives us much more information about their skills than an interview.
Posted by
himath on November 8, 2008
Last summer when I was completing my masters at Carnegie Mellon Silicon Valley, I took the Open Source course as an elective. In one of our projects, we had to investigate Open Source productivity tools. That was when I stumbled upon Chandler. 
Although I liked the product and its features, I found Chandler to be slow and unstable. With increased amounts of data, its performance reduced, and became increasingly difficult to use.
While investigating Chandler, I learned about a book titled “Dreaming in Code” by Scott Rosenberg, which was written with the Chandler project as its setting. A few weeks later, when I was early for an appointment, and was killing time in a bookshop in Mountain View, the book caught my eye, and buying it was the most natural thing to do.

The book is the result of an exercise (where Chandler was chosen as the example) to investigate why it’s so hard to build software. One does not need any background knowledge about the software industry to understand this book, as the author explains the history and concepts behind the topics being discussed. I would recommend the book to anyone who wants to get a high level understanding about what building software is like today.
From what I have read so far, it seems that Chandler started with lofty goals, but an unclear vision. The project had weak processes at the beginning. This resulted in a project with ever extending targets for releasing, which seems to be a common problem in the software industry.