Monday, November 7, 2011

Joel on Software

The following article was first published in the October 2011 edition of Orange Byte, the quarterly newsletter published by Nagpur centre of Persistent Systems Ltd.

Joel on Software

-Raghunath Soman

I always look forward to the 1500-km journey to my hometown, Ponda-Goa. Apart from the destination itself, the journey gives me a chance to indulge in one of my passions – reading. Over the last five years, I have read a number of books on these trips, and invariably each of them has turned out to be a memorable one.

The latest entry to this list is an equally illustrious one: Joel on Software (And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them in Some Capacity),  written by Joel Spolsky.


Since 2000, Joel Spolsky has been writing a wildly popular blog with same name on software development; and this book is a collection of selected articles from the blog, with some additional commentary by the author.

The book is divided in five parts. First part is targeted towards software developers; and it contains tips on best practices in programming and lot of pragmatic advice on how to be a better programmer. Part two talks about how to manage a team of programmers, right from how to interview a candidate to how to measure performance.

Parts three and four have relatively diverse topics, ranging from musings on strategy to a detailed account of API wars. Part five, titled Appendix, contains a selection of questions posted by readers of the blog and Joel’s responses.

It is difficult to handpick one or more chapters as personal favourites, since all the articles are thought provoking, and immensely interesting. Still, some of my personal favourites are:
  • The Joel Test: 12 steps to better code
  • Daily builds are your friend
  • Rick Chapman in search of stupidity
  • Getting things done when you’re only a grunt
  • Strategy letters
  • A Week of Murphy’s Laws
  • How Microsoft lost the API war
 It would suffice to say that whether you are a programmer or you are managing a team of programmers, this is one book you cannot afford to miss.

Apart from the content, much attention has been paid to the presentation of the book, right from the extra-ordinarily long title, and the picture (known as “Colophon”) on title page to large, easy-on-eye font. These minor things add to the joy of reading.

Do pick this one up… you probably may not agree with everything Joel has to say, but one thing I can guarantee for sure – you are in for a few hours of riveting reading.

Monday, February 7, 2011

One Strategy: Steven Sinofsky


If you are reading this blog, there is a more than 90% chance that you're reading it on a machine powered by Windows. Microsoft Windows is an amazing piece of software, one that practically brought into reality Bill Gates's vision of  "a computer on every desktop in every home, and Microsoft software in every computer".

Given the complexity — some may like to call it bloatedness —  of Windows, it is not surprising that developing each subsequent version of it requires a lot of analysis, thought and careful planning. Windows Vista that arrived in 2006 wasn't really a great success. Even though the operating system had a lot of technical improvements over its predecessor, Windows XP (launched way back in 2001), it failed majorly on the user experience front.  While Apple was successfully wooing consumers with its path-breaking products like iPod and iPhone, Microsoft was left only to play catching-up game.


It was in such dire situation that Steven Sinofsky took over the Windows product team. Sinofsky, a two-decade veteran at Microsoft, had successfully managed the Microsoft Office, another of the company's cash-cows. He took over the reins of Windows in mid-June 2006, when the team was preparing to release Vista.
After the Vista debacle, it soon became clear that Microsoft desperately needed to release a better version of the OS  — better do it quickly. Sinofsky set upon a journey that would take three years and thousands of man-hours for he and his team to create Windows 7, codenamed as Vienna (earlier, it was Blackcomb).
And rest, as IT people know, is history. Windows 7 generated an enthusiastic and very positive response from critics as well as consumers. Within a year, it sold more than 300 million copies to become the most successful operating system in computer history.

One Strategy, written by Stephen Sinofsky in collaboration with Marco Iansiti, is not about how Windows 7 was developed. 

But yes, the book does use Windows 7 project as a background to get across some ideas about project management and strategy. 

Throughout the duration of the project, Sinofsky wrote than 200 blogs for the product team, which was shared on the Microsoft's internal network via SharePoint beta. 

One Strategy is a collection of some of these blogs, with some annotations and explanations to support it.

As I read through the book, two things began to irritate me throughout. The blogs are left as written by Sinofsky, which is a very good thing; but at the same time, some ridiculous edits have been made to 'correct the language'. These supposedly useful 'edits' comprise of 'significant' changes such as capitalizing the first letter of each  quotation or inserting dollar signs ("this could be a big [$]100M decision") as if the reference about costs was obscure until that dollar sign was inserted! 

The other thing that bothered me was the text that accompanied the blogs. Rather than helping the reader by explaining the ideas in the blog in further detail, the text merely paraphrases the same stuff, that too in a more abstract and wooden 'management lingo'. There are any interesting tidbits of information nor any trivia that would excite the reader. There is no background information about the blog, nor is there any groundwork for the ideas that would come up in the actual blog.


After a couple of chapters, I realized what I needed to do: just read the blogs by Sinofsky and skip the accompanying material. This made a world of difference. 

In the blogs, Sinofsky shares his thoughts, ideas and opinions on strategy, vision, planning and tactics. He talk about 'strategic integrity' and the dangers that inertia can pose to a seemingly 'healthy' organisation. He writes about the importance of collaboration, communication and clear directions. He gives insights about what it takes to become a developer or a project manager or a general manager at Microsoft. In response to queries from team, he also shares the way he manages his time and the way he works with his team and seniors. 


It is amazing that Sinofsky could manage to write such detailed, thought-intensive blogs considering the huge team-size and scope of the Windows project. Blogs as a communication tool for project managers is an idea that is becoming popular and the blogs by Sinofsky serve as an example how to exploit this medium to its maximum extent. 
Though written specifically for the Windows 7, the blogs are a must-read for every manager that is leading a complex project, be it in software or any other field.  

Recommended reading:
  • Engineering Windows 7: This is the public blog for Windows 7, with articles contributed by Sinofsky. During the development of Win7, it served as the focal point for communication with Windows users.
  • Steven Sinofsky's TechTalk: Blog written by Sinofsky, about how is it to work at Microsoft and career options at the company
  • The Old New Thing: a popular blog by Raymond Chen, which discusses Windows history, Windows programming and 'Micro-Speak'




Sunday, January 30, 2011

A Short History of Nearly Everything: Bill Bryson

There are just a few books on general science that succeed in educating the reader without leaving him bored. The two such classic books that immediately leap to mind are “A Brief History of Time” by Stephen Hawking and “Cosmos” by Carl Sagan. I am glad to add another book to this list.


“A Short History of Nearly Everything" by Bill Bryson is much more ambitious in its scope. Whereas Hawking and Sagan limited themselves to mainly astronomy and astrophysics, Bryson’s book covers a wide range of science: Anatomy, Taxonomy, Astronomy, Genetics, Biology, History, Geology, Physics, Oceanography.... just to name a few.


Bryson begins with the origin and structure of cosmos before delving into the atom and its nucleus. Then we learn about the planet earth, its geology, the richness of flora and fauna of its vast oceans, before moving on to the origin and evolution of life. We conclude the journey with the advent of Homo sapiens.

From quarks to quasars, protons to pulsars, it is a pretty huge terrain to cover within 600-odd pages and what makes it even more a commendable feat is the way author goes about it. For one thing, language is lucid, with a dash of humour in almost every paragraph, albeit in an understated way, a la PG Wodehouse.
Furthermore, rather than using incomprehensible jargon and scientific notation, the author almost always lays down the fact in a way that a layman can come to terms with.
For example, when reading about the Avogadro's Number, we get to know the following:

"The Avogadro's Number is a basic unit of measure in Chemistry. It is the number of molecules found in 2.016 grams of Hydrogen gas (or an equal volume of any other gas). Its value is placed at 6.0221367 x 10^23, which is an enormously huge number. Chemistry students have long amused themselves by computing just how large this number is, so I can report that it is equivalent to the number of popcorn kernels needed to cover the United States to a depth of nine miles, or cupfuls of water in Pacific Ocean or number of soft-drink cans that would, when evenly stacked, cover the earth to a depth of two hundred miles. An equivalent number of American pennies would be enough to make every person on Earth a dollar trillionaire. It is a big number."

And speaking of the DNA:
"If all of your DNA were woven into a single fine strand, there would be enough of it to stretch from Earth to Moon and back, not once or twice, but again and again. Altogether, it is estimated that you may have as much as 20 billion kilometers of DNA bundled up inside you."

The pages are full of interesting nuggets of information about people and places, some of which leave you excited and wonderstruck, some leave you aghast, and there are many that leave you simply amused and chuckling to yourself. You meet eccentric scientists and discoverers and read about accidental discoveries and some near-successes.

The last chapter discusses the importance of life and the irreversible damage that we humans are causing to earth and the life on it. It’s a moving plea, one that should make even the stoniest of hearts to skip a beat.

It’s a monumental book, one that leaves us in awe of nature and its myriad secrets… something that textbooks often fail to do. In fact, this is exactly what led the author to write a book that wouldn’t just give tables and equations but make the reader excited. The only drawback is lack of any photos, diagrams... There are none. However, I read that an illustrated version of the book is now available, albeit at a higher price.

Do read this book. For an inquisitive and curious mind, nothing would be a better gift.

Wednesday, November 24, 2010

What I Talk ABout When I Talk ABout Running

As someone who has been planning to start jogging since the better part of this year, I had been avoiding to read this book, lest it might bring about some guilt-trips. However, I finally sat with it last weekend, and finished it off in a day: it’s a small book, about 130-pages.


What I Talk ABout When I Talk ABout Running
Author: Haruki Murakami
Translated by:

Murakami is a “running writer”; he has been running at least 5-6 kms a day for more than last two decades. He is typically a long-distance runner and participates in at least one marathon a year.
The book is indeed based on running but goes beyond being limited to a journal where the author meticulously tracks his development from amateur to a pro. As Murakami puts it, it is a memoir centered on running.

He begins from his struggle to make the ends meet, setting up a coffee shop, his first forays into writing, the decision to shut the coffee shop and devote full time to writing. Then he delves into his modus operandi towards running, the preparations required for undertaking long-distance competitions, the fleeting thoughts that pass through a runner’s mind and the transformations that a runner’s body goes through over the period.

He draws some interesting parallels between running and writing. To succeed in writing, just as in running, the author (or the runner) should have clear priorities, focus to drive away distractions, and endurance to keep working at the process. Frankly, as Richard Feynman aptly remarked in Surely You’re Joking, Mr. Feynman: “One can draw such parallels between any two subjects (for example, poetry and theoretical physics) and hence such analogies are not of much use”.
What really make the book worth a read, at least in my opinion, are Murakami’s observations about the nature and the people he comes across as he runs and his narratives of some of his more daring running adventures. It is a pleasure to read his description of his running the course of the actual Marathon (from Athens to Marathon) and it is equally scary to read his torturous journey in the Japan ultramarathon.

Throughout the book, Murakami comes across as an underdog, a tender yet a resolute person, someone with a never-say-die attitude.

The language of the book is ‘pretty simple’ and ‘sort of laid back’. Actually, these are the phrases that repeat themselves a bit too many times, but ‘as I mentioned before’, it is small book and one can put up with such trifles. 
This being the only book of Murakami I have read as yet, it is difficult to know whether he deliberately chose this style or whether it is trademark Murakami.

You should read this book, even though you may not be a runner…. In fact, especially if you are not a runner, because it might just nudge you to shake yourself a bit and move around!

Tuesday, June 8, 2010

The Checklist Manifesto: Atul Gawande

I first read about Dr Atul Gawande as one of this prominent Thinkers of this decade, as selected by the TIME Magazine. So on coming across a book by him at Crossword, Nagpur, it was hard to resist picking it up.

Leafing through a few pages, the matter seemed interesting, so took it home.

Later that evening, as wife prepared dinner, I began to read; and got so much hooked to it, that only put it down after finishing it around 2 AM... and the next day was a Monday.

Nevertheless, it was worth the time.





In this book, Atul Gawande, a surgeon with specialization in endocrine oncology, talks about checklists. He doesn't tell you how to create one, but why one is needed in the first place. The subject matter may seem mundane, but what makes the book exciting is the way in which the author describes how he arrived at the concept of using checklists in a critical field like surgery.

He begins by sharing with us some hair-raising stories of surgeries, in which the patients had a touch and go with death. He describes how The rising complexity and sophistication has made even the best minds sometimes miss out on critical factors. Surgery has become, in his own words, 'too much of an airplane for a single person to fly'.

In a quest to find a solution for a better success rate in surgeries, he meets people from diverse fields to know the secret of their efficiency: a builder, a master chef, a team of Wal-Mart staff that provided on-time relief to victims of Katrina hurricane, a key technical guy at Boeing.... and he discovers that each one of these uses something as basic as a checklist to ensure that things fall in place when they matter the most.

He learns of Keystone Initiative, a programmer started by Peter Provonost to get doctors and all those involved in health care serious about reducing avoidable errors.

Gawande then sets out to try and test his theory, using support of the World Health Organization (WHO). He and his research team involve hospitals from all over the world, New York, London, Delhi, Nairobi... in which the operating teams are required to adhere to a simple checklist during each surgery.

The results, he says, exceeded his own expectations.

It's a thrilling narrative, one that at once fills your mind with awe about complexity of the human body, and admiration for the people who have mastered at least a significant part of it. Gawande spares no one, including himself when he talks about the mistakes and errors that people make, mostly out of carelessness borne out of routine.

If you think checklists are a bore, then this book should make you re-think your position.

And if you are already a checklist enthusiast (like me!), then this book would give you a sense of having got it right in the first place!

[This article has two companion blog posts. Mind Matters  talks about my personal take on checklists, whereas ByteSpace takes a look at checklists from a technical writer's perspective.]