I generally do not write many book reviews, but this is about a book I believe every student must read.
The book is divided into ten chapters, and I will try to write a few lines on each of them.
Mailing List Guidelines
This has to be the first chapter on this topic. If you read Google’s SoC FAQ, you will find that they expect the students to learn about mailing list guidelines from the training. The chapter goes through various mistakes people do over mailing lists. Each point is discussed in a subsection, which include SMS language, capital letters, digest mode, top posting and many such issues.
Attention to detail
The chapter starts with a great quote, “Trifles make perfection, but perfection itself is no trifle.” — Michelangelo. Next is a hilarious email which the author received in real life. Some basic habits like indentation, function return values, proper variable names and many other details have been explained.
Communication is an important skill, sometimes even more important than writing code. This chapter goes into details to explain many queries students raise while trying to communicate to upstream projects. One such point is about students panicking on GCC errors.
Every FOSS project follows some kind of guidelines. Newcomers may not know about them, but they cannot always follow one set of rules as a checklist. The author gives a 14 point checklist and explains each in subsections.
The book becomes much more technical in this chapter. With lots of code examples, tips for new developers, the readers will get their hands dirty with real code. Two most common tips from this chapter is on knowing the editor of choice, and about learning touch typing. Next chapter is on “Methodology of Work”, and the next one is about “Tools”. The tools chapter touches most of the known tools we use daily. Things like IRC, blogs, wiki, VCS, bugs/tickets, pastebins are among few things one can find here.
Reading and Writing
Chapter 8 is about reading and writing habits. Many students write to us telling that they want to become contributors, but they do not want to spend time on reading, and writing. We generally read a lot more code than we write. We also read various other things, including news, blogs, project updates, books and emails.
Art of Making Presentations
Now this is pure gold. The author is certainly one of the most experienced speakers in the country. He puts down various points, issues and difficulties people face regularly while making a presentation. In case you want to speak in front of your students, or you want to present something facing 2500 developers from all across the world, this chapter will give you all the tips you will need to make it a successful one.
The last chapter again shows the depth of experience of the author. We keep getting personal emails from students asking for tips/suggestions on each of the points explained in this chapter. I guess in future I shall just direct them to this chapter of the book. Each chapter also contains reference links. Do remember to check all of those. There are many gems. I can understand as a new developer you cannot remember everything at one go, but you can always come back to this book. Read one chapter over lunch, or during evening snacks. It is always better to look into the basics. If you keep following the points explained in this book, it will give you a big headstart.
About the author of the book
Shakthi Kannan is one of the most well known Free Software advocates in India. He is also one of the best developers I have ever worked with. He is helping out students, and professionals over a decade. This book is a perfect reflection of his experience from working with the students, and the upstream contribution he does everyday.
You can find the book home page at http://shakthimaan.com/what-to-do.html
Fedora Cloud Engineer, CPython Core Developer and Director @ Python Software Foundation