ashokgelal
yet another attempt !
yet another attempt !
Nov 15th
I finally took some time to write a quick (and easy) tutorial on how to write a Google Wave extension on my other blog quicktweaks.com. Please read the tutorial if you are interested in creating a Google Wave extension. Any feedback will be appreciated.
Nov 13th
I’ve finished reading the first chapter of The Pragmatic Programmer yesterday. A whole bunch of developers/users at stackoverflow.com recommended this book as one of the must read book for a programmer. After ordering the book through my university library, I started reading it few days ago. The book is awesome, and really informative. It is written in simple English so even someone whose first language is not English (like me) can digest the content easily. But please be aware that this post is not a review of the book. I’ve never done any review of a book (I will come to the main reason on why). I just wanted to compare myself with the few qualities of a pragmatic programmer the books talks about in the first few pages, esp. in Preface section.
The authors – Andrew Hunt and David Thomas, have composed this book in a way that they take a metaphor and go on describing the metaphor and relate that with a programming workplace environment. Finally, they summarize everything they have discussed under the metaphor with a tip. So, basically only remembering the tip will be good enough for you to check yourself if ever you forget the qualities of a pragmatic programmer. That’s why the authors have even provided a quick reference card. You can paste it on the wall just above where your computer screen is and follow a pragmatic programmer’s good practice everyday.
The book starts with chapter entitled – A Pragmatic Philosophy but even before that it (in preface section) it gives you two really important tips and talks about what makes a Pragmatic Programmer:
Early adopter/fast adapter
Am I? Yes, I am an early adopter of technology. It might not relate with my programming world but whenever something comes out, even if it is in alpha version, I download it, install it and try to get a good knowledge of it. Talk about alpha version of different Linux distributions, talk about browsers, talk about IDEs, talk about Google’s Gmail, Google Voice, Google Wave etc. I’ve been an early adopter of all these.
Am I? Well, the answer will be both yes and no. I am known in the class and within my classmates for not asking too many questions. I’m a good listener. But it doesn’t mean that I implement whatever those speakers say. And yes I’m an inquisitive person too because I ask questions to myself, I get curious when I see something on how that might have been implemented? Sometimes this waste my time too much as I go on inquiring something, I get into too much details.
Critical Thinker
Honestly, No, I’m not! I don’t like to challenge other because I feel they are right in their own views. Again, it doesn’t mean I try to implement what other people say but I don’t rip apart other’s ideas and views. I do propose my own ideas and views on a particular problem, but I can never resist myself from saying ‘OK’ even if I don’t like the idea. This is the main reason why I’m not being able to review a book till now. I hope to improve on this one. Should I start with this book itself?
Realistic
Given the availability of time, yes I’m. I do try to understand the underlying nature of each problems. One thing good of me is if you throw me any problem, I will reach to the solution sooner or later. To achieve solutions for each problem you face, you have to understand the nature of each problem.
Jack of all trades
This is my favorite one. Before reading the book I always felt bad for trying (read: being forced by the nature of programming world) to be jack of all trades. The book suggests you to be jack of all trades and I agree (and feel better). As I talked earlier under Early adopter/fast adapter, I do try to learn as soon as something comes out and I believe this is necessary. Unless you go on establishing your own Microsoft or Google, you probably will be working for other companies, and you can never know in which environment you will be working. It could be a company that specializes web development, or could be a company specializing in system software. If you are already familiar with all the options you have, you will have so many choices when it comes choosing a job, and moving forward.
This is not an exhaustive list of all the good qualities/principles that the book talk about, as I go on reading the book, I will try to compare myself with the pragmatic programmer the book talks about. I will come with another post comparing myself and all the practices that I follow with the qualities that the book talks about pretty soon!