Monday, September 28, 2009

Books

    Not sure how, but this year I managed to have enough time to read a couple of books:
  1.  Test Driven Development by Example - this is a great introductory book for TDD, what I enjoyed the most about it was the easy writing style and the small jokes throughout the book, see the comment regarding Singleton pattern :) Reading this book made me feel that I can somehow absorb author's knowledge and experience about code quality and design even if this wasn't the main purpose of the book.
  2. Refactoring: Improving the design of existing code - well, this is the best book related to programming I've read so far, a book which I will reread each year. The 4th chapter, related to Code Smells is really great and succeeds at naming almost all smells found in a bad code. Reading this book you realize how many times you sort of felt that the code is "smelling", but you didn't know how to make it clean and how to tackle the problem. This is a must read for every programmer, I guarantee that it will change how you look at coding.
  3. Working Effectively with Legacy Code - a great book by Michael Feathers, sort of complementary to Refactoring by Fowler. This book is about "safe" refactoring s, how can you find the sensing points  and how to introduce tests in a legacy code base. Giving the fact that 80-90% of the time we are working with a legacy code base, sometimes we even write "legacy code", this is a must read for every programmer, at least once :)
  4. Clean Code  - great book by Uncle Bob, this contains his amendments about how clean code should look like. Even if you don't have to agree with him on all of his rules, certainly our lives would be much easier if all the programmers would follow 80-90% of the rules. Giving the fact that the definition for "clean code" is not set in stone yet, the most important thing is to try create clean and beautiful code, code that we will be proud of or at least not embarrassed in the future :)
     This list contains only the books I managed finishing, seems that I'm really good at reading books half-way, I have 4 or 5 books waiting to be finished, but that is not gonna happen soon :)
     I've started reading Coders at Work, this is a really good book, managed to read the first 4 chapters in a couple of hours, recommended for all programmers interested about how great programmers work and think. This is great for boosting motivation and morale :)
        Read and Code with Passion,
        Adrian

    Crazy year

        Looking back at the last couple of months I realized that this was indeed a crazy year:
    • we found that we are going to have a daughter
    • we decided to buy our first house even if the economics are crazy
    • decided that I want a safer job and acted accordingly
    • decided that safe jobs are not for me and acted accordingly
        I left my previous job because I wanted somenthing stable for the next period when our daughter will be born, but found rather quickly that "safe" and "stable" means boring, and boring definitely is not for me.
       Given this I decided to return to work for Macadamian, which was the company I really enjoyed working for, great people and interesting projects.
       It's not easy to recognize that you don't like boring jobs, but I read an article which made me decide what to do, this is a quote form it:
    "If you find yourself stuck in a place that’s killing your innate passion for technology, by all means, move the hell on!" - Gustavo Duarte

        I hope that JP won't be mad by stoling his line, but you should really "Develop with Passion".