Nikola Tesla

The scientific man does not aim at an immediate result. He does not expect that his advanced ideas will be readily taken up. His work is like that of the planter — for the future. His duty is to lay the foundation for those who are to come, and point the way. He lives and labors and hopes.

The scientists of today think deeply instead of clearly. One must be sane to think clearly, but one can think deeply and be quite insane.

I do not think there is any thrill that can go through the human heart like that felt by the inventor as he sees some creation of the brain unfolding to success... such emotions make a man forget food, sleep, friends, love, everything.

Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine

Our virtues and our failings are inseparable, like force and matter. When they separate, man is no more.

Today's scientists have substituted mathematics for experiments, and they wander off through equation after equation, and eventually build a structure which has no relation to reality.


Ward Cunningham 

On agile's pace of development

I feel that the formulation of most Agile methods are a little plodding, you are coming in, you do the same amount of work every day, but you don’t have days go by where nothing gets done. Like the tortoise and the hair, and the tortoise wins the race, because the tortoise doesn’t get stuck.

General advice

Hang in there. I’ve devoted my life to programming, I think programming is one of the most powerful ways you can exercise your mind. I found that I can do a day job and serve whoever is paying my salary in a way that respects their goals, and still have energy left at the end of the day and do things just to please me. Or to please people who know me.

I think that it’s easy to be overwhelmed you say “Gosh I just learnt this and now it’s that”, but I tell you, you put two days into studying something and you are already half way to expert. Stuff is coming out that fast, take the time and there is great blog posts on stuff and learn something new every week.



Martin Fowler 

On refactoring

I prefer to encourage refactoring as an opportunistic activity, done whenever and wherever code needs to cleaned up - by whoever.

What this means is that at any time someone sees some code that isn't as clear as it should be, they should take the opportunity to fix it right there and then - or at least within a few minutes. This opportunistic refactoring is referred to by Uncle Bob as following the boy-scout rule - always leave the code behind in a better state than you found it. If everyone on the team is doing this, they make small regular contributions to code base health every day.

This opportunity can come at various parts of implementing some new functionality or fixing a bug. One is a preparatory refactoring, where before you begin to implement something you see that this task would be easier if an existing class's API was structured differently. You first refactor it to how it ought to be and then start adding your functionality. (read more on Martin's site)