programming

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” – Martin Golding

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” – Martin Fowler

“Remember that your code is for a human first and a computer second. Humans need good names. Take note of when you have spent ages trying to do something that would have been easier if a couple of methods had been better named. Good naming is a skill that requires practice; improving this skill is the key to being a truly skillful programmer.” – Martin Fowler

“Whenever I have to think to understand what the code is doing, I ask myself if I can refactor the code to make that understanding more immediately apparent.” – Martin Fowler

“Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. …[Therefore,] making it easy to read makes it easier to write.” – Robert C. Martin

“Programs must be written for people to read, and only incidentally for machines to execute.” – Harold Ableson

“Making code readable is not an optional part of the development process, and favoring write-time convenience over read-time convenience is a false economy.” – Steve McConnell

“Programming is the art of doing one thing at a time” – Michael Feathers

“Occam’s Razor: The explanation requiring the fewest assumptions is most likely to be correct.” – William of Occam

“Premature optimization is the root of all evil in programming.” – C. A. R. Hoare

“If it doesn’t work, it doesn’t matter how fast it doesn’t work.” – Mich Ravera

“If debugging is the process of removing software bugs, then programming must be the process of putting them in.” – Edsger Dijkstra

“A brute force solution that works is better than an elegant solution that doesn’t work.” – Steve McConnell

“We build our computer (systems) the way we build our cities: over time, without a plan, on top of ruins.” – Ellen Ullman

“Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.” – Frederick Brooks

“Encapsulate the concept that varies.” – Erich Gamma

“No one in the brief history of computing has ever written a piece of perfect software. It’s unlikely that you’ll be the first.” – Andy Hunt

“Some of the best programming is done on paper, really. Putting it into the computer is just a minor detail.” – Max Kanat-Alexander




projects and productivity

“Weeks of programming can save hours of planning.” – Unknown

“People under time pressure don’t think faster.” – Tom Lister

“Parkinson’s Law: Work expands so as to fill the time available for its completion.” – Cyril Northcote Parkinson

“Brooks’ Law: Adding manpower to a late software project makes it later.” – Frederick Brooks

“What one programmer can do in a month, two programmers can do in two.” – Frederick Brooks

“Much of the essence of building a program is in fact the debugging of the specification.” – Frederick Brooks

“When people say that pair programming reduces productivity, I answer that would be true if the most time consuming part of programming was typing.” – Martin Fowler

“You can’t control what you can’t measure.” – Tom DeMarco

“Excuses sound like they feel.” – Michael Lopp

“The skillsets that let people thrive in dysfunctional situations may not translate to healthy situations. And vice versa.” – John Cutler

“Poor management can increase software costs more rapidly than any other factor.” – Barry Boehm

“Conway’s Law: Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.” – Mel Conway

“Computer Science is the only discipline in which we view adding a new wing to a building as being maintenance.” – Jim Hornig

“The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.” – Seymour Cray

“When it comes to processes, adherence to the process frequently becomes the objective, as opposed to achieving the objective that the process was put in place to achieve.” – David Marquet

“In all large corporations, there is a pervasive fear that someone, somewhere is having fun with a computer on company time.” – John Dvorak

“Documentation is like sex; when it’s good, it’s very, very good, and when it’s bad, it’s better than nothing.” – Dick Brandon

“The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.” – Seymour Cray




leadership and management

“If you don’t trust the people, you make them untrustworthy.” – Lao Tzu

“A leader is best when people barely know he exists. When his work is done, his aim fulfilled, they will say: We did it ourselves.” – Lao Tzu

“In any moment of decision, the best thing you can do is the right thing, the next best thing is the wrong thing, and the worst thing you can do is nothing.” – Theodore Roosevelt

“Coming to grips with the crazy in people, understanding it, dwelling in it, making it work, is the real job of management.” – Joe Dunn

“Learning is limited by an organization’s ability to keep its people.” – Tom DeMarco

“An organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.” – Bjarne Stroustrup

“Treating your rocket scientist employees as if they were still in kindergarten is not an isolated phenomenon. Almost every company has some kind of incentive program that is insulting and demeaning.” – Joel Spolsky

“If you think your management doesn’t know what it’s doing or that your organization turns out low-quality software crap that embarrasses you, then leave.” – Ed Yourdon

“The job of the average manager requires a shift in focus every few minutes. The job of the average software developer requires that the developer not shift focus more often than every few hours.” – Steve McConnell

“All good work is done in defiance of management.” – Bob Woodward

“There are always two or three sides to every story.” – Neal Enssle

“Be productive, be fantastically clever when necessary, speak truth to power, hit your dates, and don’t ship crap.” – Michael Lopp

“Even in such technical lines as engineering, about 15% of one’s financial success is due one’s technical knowledge and about 85% is due to skill in human engineering, to personality and the ability to lead people.” – Dale Carnegie

“Enthusiasm is table stakes for a junior developer.” – Neal Enssle




design

“Design adds value faster than it adds cost.” – Joel Spolsky

“Design without code is just a daydream. Code without design is a nightmare.” – Assaad Chalhoub

“Luck is the residue of design.” – Branch Rickey

“Innovation is saying NO to 1,000 things. People think focus means saying yes to the thing you’ve got to focus on…. It means saying no to the hundred other good ideas that there are. You have to pick carefully.” – Steve Jobs

“Innovation has nothing to do with how many R&D dollars you have. When Apple came up with the Mac, IBM was spending at least 100 times more on R&D. It’s not about money. It’s about the people you have, how you’re led, and how much you get it.” – Steve Jobs

“Without requirements or design, programming is the art of adding bugs to an empty text file.” – Louis Srygley

“There’s a big difference between making a simple product, and making a product simple.” – Des Traynor




quality

“All methodologies are based on fear.” – Kent Beck

“Show me a team that has no bugs at launch, and I’ll show you one that should have shipped a long time ago.” – Brandon Chu

“Optimism is an occupational hazard of programming. Feedback is the treatment.” – Kent Beck

“The user’s going to pick dancing pigs over security every time.” – Bruce Schneier

“Vacation-oriented architecture (VOA): The practice of designing a system in such a way as to allow one to take an occasional vacation.” – Neal Enssle




sources