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.