Following what John Sonmez had been doing, I will start listing the books that I have read at the end of each year…
Learned about what they call Outside-In TDD (Or London School of TDD as what Emily Bache calls it) — writing both End-to-End tests (also called functional tests or acceptance tests by others) and writing unit tests at the same time.
(Secret: I skipped some chapters in Part III because there are lots of code already and I find it hard to follow. I only wanted to glean general ideas during the time that I read this. But this book is a classic, so I’m going to read this again… later…)
Same idea presented in GOOS — Outside-In TDD. But this is more of a tutorial-for-beginners kind of book, so it is easier to follow than GOOS.
I had written a blog post about this book here.
The authors of GOOS recommended this book.
Also, I heard/read Martin Fowler said that books like this one is very important because most programmers do not go to software development jobs and be involved in starting new projects. Most software projects out there are in the maintenance phase. Books like this is very valuable to programmers involved in these kinds of projects.
You can also learn the things presented here in Uncle Bob’s blog posts and talks on Clean Architecture. But a book is more structured and complete, of course.
Uncle Bob Martin experienced being fired from work when he was still young!
Philosophy…
The technology behind Bitcoin can someday help farmers sell their products directly to their customers!
This is actually a book for children (which I found in National Bookstore of SM Ecoland Davao). I just became interested with this because of the “A Tale of Two” phrase in the title. I saw this “A Tale of Two” phrase from one of Eddie Bush’s articles on Clean Architecture and from chapter two of Uncle Bob Martin’s book “Clean Architecture” — The title of chapter two was “A Tale of Two Values”. I was curious about the the origin of this “Tale of Two” phrase.
A very good story. It is about sacrifice… for someone you love, perhaps… for freedom… for a better future… for the next generation… Yes! The reason why this story is a classic.
I included this here even though I read only one chapter because the introductory contents are so golden to be ignored.
For a long time it’s puzzled me that most books on software development processes talk about what to do when you are starting from a blank sheet of editor screen. It’s puzzled me because that’s not the most common situation that people write code in. Most people have to make changes to an existing code base, even if it’s their own. In an ideal world this code base is well designed and well factored, but we all know how often the ideal world appears in our career.
— From the foreword by Martin Fowler
… we are kidding ourselves if we think that we can know all the requirements and build the perfect system. The best we can hope for is to build a useful system that will survive long enough for it to be asked to do something new.
… the most interesting and challenging side of software engineering may not be building brand new software systems, but rejuvenating existing ones.
— From the preface of the book
Only a few books huh!?
And I did not finish some of the books (at least not yet)… Well, I have not yet formed the habit of goal-setting and sticking to that goal until it is finished. I’m still at the phase where my mind is still wandering from one thing to another without finishing the former first. The first week, “I have to do SICP”… The second week, “I need to concentrate on studying Android development because that is the platform I currently use at work”… The third week, “I need to finish Nand2Tetris… because it is foundational”… The next week, “No… the talks of Uncle Bob Martin and Mark Seeman are also foundational”… Another week, “I have to review ASP.NET because I need to find a job using my knowledge on that”… “You have to learn network programming”… “You have to do The Craftsman Series first!”… “You need to learn F#”… “You need to read How to Win Friends and Influence People again”…
Tsk! tsk!
Well, to fool myself into thinking that I already accomplished a significant amount of work on reading books (it is still work, right?), I will also list here some of the other books I read in the past… just to give myself hope, a tap in the back(?), encouragement to continue doing what I am doing, …
The Rosie Project
The Ultimate Proof of Creation by Jason Lisle
etc.(?) - not sure if I read other books during this time because this was during the very depressing times of my life
Here I Stand: A Life of Martin Luther (first half only, will finish this later)
“Overcoming the Dark Side of Leadership: How to Become an Effective Leader by Confronting Potential Failures (a book I borrowed from my brother-in-law)
The Alchemist by Paulo Coelho
etc.(?) - not sure if I read other books during this time because this was during the very depressing times of my life
The Bible (of course)
The Answers Book (Red) of AnswersInGenesis (during High School)
[Another book on the creation-evolution debate] by someone whose last name is Powell (if I remember it correctly) (during High School)
Creation Evangelism for the New Millenium
The Answer Book (Blue) by Samuel Gipp, which was about the King James Bible (Note: I used to be what they call a King James Only person, and this book was one of those things which convinced me to hold to this kind of position before. But I am not anymore…)
The Trail of Blood booklet (I also used to believe everything that was written in this booklet… but not anymore.)
first few chapters of “Pilgrimage from Rome” by Bartholomew F. Brewer
first few chapters of “It’s Not Working Brother John” by John Avanzini
“Move on to Maturity” by Michael A. Redick (a gift from Sir Antolin Zamar & Ma’am Nitz during graduation in BFBS)
“Pathway to Power” by Michael A. Redick
The Magic of Thinking Big (borrowed from the library of BFBS, 2006 or 2007; one of the more influential books to me)
A Book on the Holy Spirit which Sir Ernest Mark Gapulan made me read, 2006 (I cannot remember the title anymore. But, if my memory serves me well, it was written my Warren Weirsbe)
How to Win Friends and Influence People (old pocket book bought at a booksale by my father, 2006-2007; one of the more influential books in my life)
In His Steps (borrowed from the library of BFBS, 2005-2006. I told a classmate in BFBS that he should read this book before he graduates. I must have been greatly impressed by this book.)
Assembly Language Primer for the IBM PC & XT (my first programming book, bought in Valencia Bukidnon; I only read and manually analyzed the examples in this books. I was not able to run them on a computer because I did not have a computer during that time.)
first few chapters of a book on programming in C for engineers (library of NDKC)
Learn Java in 24 Hours (library of NDKC)
chapter 1 of Head First Design Patterns (library of NDKC)
Programming Abstractions in C++ by Eric Roberts and Stanford’s CS106B course
free Video Tutorial on ASP.NET MVC 3 from Pluralsight
Nand2Tetris book (TECS) (first 8 chapters only)
Watched the video lectures of CS50 by David Malan (I did not do the exercises .. too bad)
first 4 weeks of “Algorithms, Part I” of Princeton at Coursera
Greg Howlett’s piano tutorials
(not book) Mopping Up the Trail of Blood: Part 1, Part 2, Part 3
(not book) “Are You Epistemologically Self-Conscious?” by Dr. Jason Lisle
(not book) The Great Debate: Does God Exist? Dr. Greg Bahnsen versus Dr. Gordon Stein