Customers Contact TR

Inspiring Quotes for Software Developers

Since 2018, we have been sharing on social media the quotes we consider to be wise and still applicable, from people who are well-known and accepted in different fields of the software industry. We translate them to Turkish and share them in our social media accounts with the hashtags #developerquotes and #developerinspiration, explaining the context and the story behind them.

In this blog, we wanted to gather these wise words in English as well and capture these experiences.


(An American entrepreneur, co-founder and CEO of a corporate cloud company)


“Start with something simple and small, then expand over time. If people call it a ‘toy’ you’re definitely onto something.”

“If you’re waiting for encouragement from others, you’re doing it wrong. By the time people think an idea is good, it’s probably too late.”

(A software developer and writer.)


“User interface is the process of shifting from chaotic complexity to elegant simplicity.”

(An American programmer and software designer, known as the father of Visual Basic.)


“If we want users to like our software, we should design it to behave like a likeable person.”

“Define what the product will do before you design how the product will do it.”

“Usability’s strength is in identifying problems, while design’s strength is in identifying solutions.”

(An American computer scientist known for his pioneering work in PC, object-oriented programming and GUI design.)


“The best way to predict the future is to invent it.”

“Every technology really needs to be shipped with a special manual – not how to use it but why, when and for what.”

(An American computer scientist and professor, known for his groundbreaking work on programming languages ​​and also the first winner of the Turing Award.)


“A language that doesn’t affect the way you think about programming is not worth knowing.”

“Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.”

“If art interprets our dreams, the computer executes them in the guise of programs!”

(A famous British mathematician, computer scientist, cryptologist, considered as the founder of computer science, laid the conceptual foundation of modern computers with the Turing machine, Turing Award, accepted the Nobel of computer science, is given annually in his name)


“A computer would deserve to be called intelligent if it could deceive a human into believing that it was human.”

(German theoretical physicist who has Nobel Prize.)


“A new idea comes suddenly and in a rather intuitive way, but intuition is nothing but the outcome of earlier intellectual experience.”

(A software engineer, also a musician and producer, known for his musical comedies on TikTok)


“Programming is just saying “I have a meeting in an hour so better not start on this yet” to yourself until you die.”

(A British writer and philosopher, has about fifty books in novel and non-fiction genres, including “Brave New World” which is considered a major example of the dystopia genre)


“Technological progress has merely provided us with more efficient means for going backwards.”

(American computer scientist, author and known as one of the initiators of the agile movement in software development.)


“A well-functioning team of adequate people will complete a project almost regardless of the process or technology they are asked to use (although the process and technology may help or hinder them along the way.)”

(A senior QA engineer with more than 15 years of experience in software, specialized in testing and validation of complex web and e-commerce applications and health industry software)


“No amount of testing can prove a software right, a single test can prove a software wrong.”

(A frontend developer on Facebook React Core team)


“In programming, if someone tells you “you’re overcomplicating it,” they’re either 10 steps behind you or 10 steps ahead of you.”

(A professor of electrical and computer engineering and Vice Dean of Innovation and Entrepreneurship at the University of Illinois, with the primary research area signal processing)


“The art of debugging is figuring out what you really told your program to do rather than what you thought you told it to do.”

(A computer programmer, writer, one of the 17 original authors of Agile Manifesto one of the founders of Agile Alliance, and co-author of “The Pragmatic Programmer: From Journeyman to Master” with Dave Thomas)


“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.”

“All software you write will be tested—if not by you and your team, then by the eventual users—so you might as well plan on testing it thoroughly.”

“One hundred years from now, our engineering may seem as archaic as the techniques used by medieval cathedral builders seem to today’s civil engineers, while our craftsmanship will still be honored.”

“We can be proud of our abilities, but we must own up to our shortcomings, our ignorances and our mistakes.”

“There is no such thing as a best solution, be it a tool, a language, or an operating system. There can only be systems that are more appropriate in a particular set of circumstances.”

“Great software today is often preferable to perfect software tomorrow. If you give your users something to play with early, their feedback will often lead you to a better eventual solution.”

“Developers who don’t actively think about their code are programming by coincidence—the code might work, but there’s no particular reason why.”

“One broken window — a badly designed piece of code, a poor management decision that the team must live with for the duration of the project — is all it takes to start the decline. If you find yourself working on a project with quite a few broken windows, it’s all too easy to slip into the mindset of ‘All the rest of this code is crap, I’ll just follow suit.’”

“While software development is immune from almost all physical laws, entropy hits us hard.”

“In an abstract sense, an application is successful if it correctly implements its specifications. Unfortunately, this pays only abstract bills. In reality, the success of a project is measured by how well it meets the expectations of its users.”

(The author of the book “Putt’s Law and Successful Technocrat”, nicknamed Archibald Putt)


“Technology is dominated by two types of people, those who understand what they do not manage and those who manage what they do not understand.”

(An English science-fiction writer, science writer, and futurist, inventor, undersea explorer, and television series host, co-writer of the screenplay for the 1968 film “2001: A Space Odyssey”, one of the most influential films of all time, and the creator of “Clarke’s Laws”)


“When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.”

(An Icelandic software developer, software architect, and entrepreneur working at NASDAQ)


“If you don’t hear any complaints from users, they are not using the software – or your support email is broken.”


(Technical author at Google.)


“A key principle of any effective software engineering, not only reliability-oriented engineering, simplicity is a quality that, once lost, can be extraordinarily difficult to recapture.”

(The founder of Microsoft)


“Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”

“I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it.”

“If you ever talk to a great programmer, you’ll find they know their tools like an artist knows their paintbrushes.”

“I still think that one of the finest tests of programming ability is to hand the programmer about 30 pages of code and see how quickly he can read through and understand it.”

“Success is a lousy teacher. It seduces smart people into thinking they can’t lose.”


(The creator of BitTorrent)


“The mark of a mature programmer is willingness to throw out code you spent time on when you realize it’s pointless.”

(A researcher and software developer with more than 20 years of experience, in particular, specializing in reusable objects, frames, and patterns, and expanding the use of the “big ball of mud” concept)


“If you think good architecture is expensive, try bad architecture.”

(A software developer, editor, and author of technical books such as “Small, Sharp Software Tools,” “Exercises for Programmers”, “tmux: Productive Mouse-Free Development”)


“Periodic reminder that the tech stack you use to ship a product only matters to other devs. End users only care that it’s fast enough and does enough to let them get work done. That is your top priority as a dev. Ship working maintainable things that solve people’s problems.”

“Don’t decide on the tech you’re gonna use before you understand the project and the customer’s needs.”

(An American cryptographer, computer security professional, privacy specialist, and author of several books on general security and computer security)


“Technical problems can be remediated. A dishonest corporate culture is much harder to fix.”

(A computer scientist and the creator of C ++)


“The most fundamental problem in software development is complexity. There is only one basic way of dealing with complexity: divide and conquer.”

“It (software development) is not and will not be reduced to a simple mechanical “assembly line” process. Creativity, engineering principles, and evolutionary change are needed to create a satisfactory large system.”

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

“Maybe ‘just one little global variable’ isn’t too unmanageable, but that style leads to code that is useless except to its original programmer.”

(A MIT graduate computer scientist, co-creator of the VisiCalc spreadsheet program and co-founder of the software company that developed it)


“Reusing pieces of code is like picking off sentences from other people’s stories and trying to make a magazine article.”

“If you cannot explain a program to yourself, the chance of the computer getting it right is pretty small.”

(An American software engineer and author)


“Blaming programmers has been the prevailing approach for a half century of software development: It has not solved the problem yet, so it is time to look in different directions.”

(An American computer scientist best known for his contributions to the development and implementation of distributed personal computing.)


“Everything should be made as simple as possible. But to do that you have to master complexity.”

“Some people are good programmers because they can handle many more details than most people. But there are a lot of disadvantages in selecting programmers for that reason — it can result in programs that no one else can maintain.”


(Co-authors of the book “Lessons Learned in Software Testing” (2002), which brings an innovative perspective to the assumptions about software testing)


“Testers don’t like to break things; they like to dispel the illusion that things work.”

(A software developer, trainer, manager, investor, speaker, author, co-organizer of Ruby conferences such as “The International Ruby Conference” and “RailsConf”)


“Because we all make mistakes, we also know that everyone else makes mistakes. So, within reason, we don’t judge each other on the mistakes we make. We judge each other on how we deal with those inevitable mistakes.”

“You don’t win a race by trying not to lose.”

“The easiest way to never get anything done is to never commit to anything.”

“Concepts and patterns that your brain is sorting through and making sense of are much more scalable and universal than any specific vendor’s technology.”

“The older I get, the more I realize the biggest problem to solve in tech is to get people to stop making things harder than they have to be.”

“You can’t creatively help a business until you know how it works.”

“Software development is both challenging and rewarding. It’s creative like an art-form, but (unlike art) it provides concrete,measurable value.”

(An American director, author and software entrepreneur.)


“Thus, writing a clever piece of code at works is one thing; designing something that can support a long-lasting business is quite another. Commercial software design and production is, or should be, a rigorous, capital-intensive activity.”

(The author of the book “Learn to Program”, where he teaches programming using Ruby software language)


“Programming isn’t about what you know; it’s about what you can figure out.”

(An American venture investor, corporate advisor, entrepreneur, lawyer, as well as the owner of Lowercase Capital, a venture capital fund that invests in seed and early-stage technology companies in the U.S.)


“Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for.”

(Has 20+ years of software developer and manager career in different areas of the software and different technologies, known for his articles on Stack Overflow and Hacker Monthly)


“Any program that tries to be so generalized and configurable that it could handle any kind of task will either fall short of this goal, or will be horribly broken.”

(An American software developer and engineering manager.)


“Software isn’t about methodologies, languages, or even operating systems. It is about working applications.”

(Founder and partner at Arolla, the founder of the Paris Software Crafters community, a regular speaker at international conferences and the author of “Living Documentation: Continuous Knowledge Sharing by Design”)


“Software development is all about knowledge and decision-making based on that knowledge, which in turn creates additional knowledge.“


(An American businessman and engineer.)


“Sometimes the idea behind a program is one small creative effort.”

(An American electrical engineer, computer scientist, and retired NASA astronaut, specialized in artificial intelligence and robotics)


“There is never enough time to do it right, but there is always enough time to fix it or to do it over.”

(A professor in Computer Engineering at Waterloo University in Canada; has many published articles and books in software)


“A team of highly competent programmers who are also highly territorial, egotistical politicians will fail while a team of equally competent programmers, who are also egoless, cooperative, team players will succeed.”

(An American inventor, entrepreneur, and scientist, pioneered parallel computers and their use in the field of artificial intelligence, has over 300 published patents, is the author of the book “The Pattern on the Stone” published in 1998)


“The magic of a computer lies in its ability to become almost anything you can imagine, as long as you can explain exactly what that is.”

“With the right programming, a computer can become a theater, a musical instrument, a reference book, a chess opponent. No other entity in the world except a human being has such an adaptable, universal nature.”

(An American programmer who is an expert in compiler and language design, object-oriented application architectures and platform infrastructure, primarily known for his work on Delphi)


“Programming without an overall architecture or design in mind is like exploring a cave with only a flashlight: You don’t know where you’ve been, you don’t know where you’re going, and you don’t know quite where you are.”

(Considered as one of the pioneers of computer engineering in Canada, known for his significant contributions to the academic dissemination of computer engineering with more than 265 articles and reports he published)


“As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications.”

“One bad programmer can easily create two new jobs a year.”

(A computer programmer, writer, and publisher; co-author of the book “The Pragmatic Programmer” and co-founder of the publishing house “Pragmatic Bookshelf” with Andy Hunt)


“Write shy code – modules that don’t reveal anything unnecessary to other modules and that don’t rely on other modules’ implementations.”

“When you come across a stumbling block because the code doesn’t quite fit anymore, or you notice two things that should really be merged, or anything else at all strikes you as being “wrong”, don’t hesitate to change it. There’s no time like the present.”

(A Danish programmer, the creator of Ruby on Rails, co-founder and CTO of Basecamp, co-author of five books including best-sellers such as “Rework” and “It Doesn’t Have to Be Crazy at Work”)


“You can’t learn everything. You can’t hold every concept fully expanded in your head. And moreover, you shouldn’t. As we compress formerly fundamental concepts, we make room for new, grander abstractions.”

(A computer scientist and a computer science professor at the Cambridge University)


“Compatibility means deliberately repeating other people’s mistakes.”

(An American computer scientist.)


“Computer science research is different from these more traditional disciplines. Philosophically it differs from the physical sciences because it seeks not to discover, explain, or exploit the natural world, but instead to study the properties of machines of human creation. In this it as analogous to mathematics, and indeed the “science” part of computer science is, for the most part mathematical in spirit. But an inevitable aspect of computer science is the creation of computer programs: objects that, though intangible, are subject to commercial exchange.”

(A computer scientist and the author of the book “The Art of Computer Programming”)


“People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on eachother, like a wall of mini stones.”

“Let us change our traditional attitude to the construction of programs. Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.”

“Computer programming is an art, because it applies accumulated knowledge to the world, and it requires skill and ingenuity, A programmer who subconsciously views himself as an artist will enjoy what he does and will do it better.”

“Always remember, that there’s usually a simpler and better way to do something than the first way that pops into your head.”

(An American researcher, professor and author.)


“Two of the most important characteristics of good design are discoverability and understanding.”

(Founder of Reinertsen & Associates and author of “Managing the Design Factory“, “The Principles of Product Development Flow: Second Generation Lean Product Development“ and “Kanban: Successful Evolutionary Change for Your Technology Business“)


“To manage product development effectively, we must recognize that valuable new information is constantly arriving throughout the development cycle. Rather than remaining frozen in time, locked to our original plan, we must learn to make good economic choices using this emerging information.“

(An electrical and computer engineering professor at the Virginia Tech Engineering Faculty)


“A good programmer is someone who always looks both ways before crossing a one-way street.”

(A British science fiction author, a comic radio dramatist, and a musician; best known as the author of “The Hitchhiker’s Guide to the Galaxy” series)


“I am rarely happier than when spending an entire day programming my computer to perform automatically a task that would otherwise take me a good ten seconds to do by hand.”

(American computer programmer involved in the development of the JavaScript language.)


“We see a lot of feature-driven product design in which the cost of features is not properly accounted. Features can have a negative value to customers because they make the products more difficult to understand and use. We are finding that people like products that just work. It turns out that designs that just work are much harder to produce that designs that assemble long lists of features.”

“Math is important to programming; but it is only one of many important things. If you place too much emphasis on things that may be more important, like literacy, you are not putting enough emphasis on it.”

“By writing in a clear and consistent style, your programs become easier to read.”


(A Dutch system scientist, computer scientist, and writer; known for “Dijkstra’s algorithm”, received the Turing Award in 1972)


“Raise your quality standards as high as you can live with, avoid wasting your time on routine problems, and always try to work as closely as possible at the boundary of your abilities. Do this, because it is the only way of discovering how that boundary should be moved forward.”

“Perfecting oneself is as much unlearning as it is learning.”

“The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague.”

“We shall do a much better programming job, provided that we approach the task with a full appreciation of its tremendous difficulty, provided that we stick to modest and elegant programming languages, provided that we respect the intrinsic limitations of the human mind and approach the task as Very Humble Programmers.”

“If we wish to count lines of code, we should not regard them as “lines produced” but as “lines spent.”

“Besides a mathematical inclination, an exceptionally good mastery of one’s native tongue is the most vital asset of a competent programmer.”

“I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself “Dijkstra would not have liked this”, well, that would be enough immortality for me.”

“We have to fight chaos, and the most effective way of doing that is to prevent its emergence.”

“The tools we use have a profound and devious influence on our thinking habits, and therefore on our thinking abilities.”

“Simplicity and elegance are unpopular because they require hard work and discipline.”

(Founder of Quality Tree Software, Inc.’in, tester and developer.)


“I’ve had successes and failures with test automation. My greatest successes came from having an effective strategy for using the tools at my disposal. My worst failure was a result of assuming we needed to “automate everything.” ”

(A Unix system administrator specializing in security and system abuse, has worked as an anti-spam architect at Yahoo for many years, is the co-author of the book “Building Internet Firewalls”)


“The only thing more frightening than a programmer with a screwdriver or a hardware engineer with a program is a user with a pair of wire cutters and the root password.”

(An entrepreneur, businessman, founder, CEO and chief engineer of SpaceX.)


“If you also think technology just automatically gets better every year but it actually doesn’t. It only gets better if smart people work like crazy to make it better. That’s how any technology actually gets better. And by itself technology…if people don’t work on it, it actually will decline.”

(A thought leader in software design and domain modeling and is the founder and author of Domain Language.


“Success comes in an emerging set of abstract concepts that makes sense of all the detail. This distillation is a rigorous expression of the particular knowledge that has been found most relevant.”

“Contributing to open source projects is a great way to practice.”

(An American software developer and open source advocate, has many published books, including “The Cathedral & the Bazaar,” which explains how to run an open-source project)


“Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.”

“Every good work of software starts by scratching a developers personal itch.”


(A Uruguayan computer engineer progressed in the field of quality engineering after doing a doctorate on testing, focuses on performance testing, test automation, and functional testing, has a book published in Spanish)


“Any optimization that is not about the bottleneck is an illusion of improvement.”

(A German IT security expert living in Berlin, nicknamed FeFe, the principal author of the dietlibc, a C standard library, has a personal blog with broad media coverage in Germany)


“If the data structure can’t be explained on a beer coaster, it’s too complex.”


(An entrepreneur and computer scientist specializing in HTML / JavaScript, layout algorithms, browser technologies, interaction design, and project management)


“Debugging is like being the detective in a crime movie where you are also the murderer.”

(A system architect, computer engineer, and computer scientist, the author of “The Mythical Man-Month”, which has been recognized by many as the holy book of software)


“Adding manpower to a late software project makes it later.”

“Good features and ideas that do not integrate with a system’s basic concepts are best left out”

“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.”

“Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious.”

“You can learn more from failure than success. In failure you’re forced to find out what part did not work. But in success you can believe everything you did was great, when in fact some parts may not have worked at all. Failure forces you to face reality.”

(Specialized in Ruby, Nim, Elixir, agile methodologies, meta-programming, behavior-oriented development, concept networks, worked at every stage of the software development life cycle, currently works as a freelance full-stack software developer, writes blog posts and lectures at conferences)


“Memory leaks are like water leaks: they happen when you least expect it, take hours to locate and make you wish you had spent more time protecting your valuables.”


(An American computer scientist, entrepreneur, author of eight textbooks on computer science, made important contributions to microprocessor architecture)


“We try to solve the problem by rushing through the design process so that enough time is left at the end of the project to uncover the errors that were made because we rushed through the design process.”

(One of the first computer programmers to work on the Harvard Mark I project, considered a pioneer in the field of computer science, worked as a brigade in the American Navy, known for helping develop COBOL, recording the first real “bug” and inventing the first compiler)


“The most dangerous phrase in the language is: We’ve always done it this way. I am now going to make you a gift that will stay with you the rest of your life. For the rest of your life, every time you say, “We’ve always done it that way,” my ghost will appear and haunt you for twenty-four hours.”

(An American software engineer, mostly known for developing Unified Modeling Language (UML). He has gained international recognition with his innovative work in software architecture, software engineering, and collaborative development environments)


“Good people with a good process will outperform good people with no process every time.”

“The amateur software engineer is always in search of magic, some sensational method or tool whose application promises to render software development trivial. It is the mark of the professional software engineer to know that no such panacea exist.”

“The task of the software development team is to engineer the illusion of simplicity.”

(A British public speaker, leadership and business strategist, and the author of “Essentialism: The Disciplined Pursuit of Less”, “Multipliers: How the Best Leaders Make Everyone Smarter” and “Effortless: Make It Easier to Do What Matters Most”)


“Essentialism is not about how to get more things done; it’s about how to get the right things done. It doesn’t mean just doing less for the sake of less either. It is about making the wisest possible investment of your time and energy in order to operate at our highest point of contribution by doing only what is essential.“

(The creator of the Python programming language)


“Python is an experiment in how much freedom programmers need. Too much freedom and nobody can read another’s code; too little and expressiveness is endangered.”

“Invariably, you’ll find that if the language is any good, your users are going to take it to places where you never thought it would be taken.”

(An MIT graduate engineer and pioneer in making the first mini-computers in the world)


“Every big computing disaster has come from taking too many ideas and putting them in one place.”


(An American teacher and painter who embraced Abstract Expressionism.)


“The ability to simplify means to eliminate the unnecessary so that the necessary may speak.”

(An American civil engineer and professor of history at Duke University; has extensive writings on design, success and failure, engineering, and technology history)


“The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry.”

(A frequently referenced name in Ken Henderson’s “The Guru’s Guide to Transact-SQL” book. No other information was found about him.)


“While there is certainly an artistic element to engineering, nobody cares what color the bridge was that collapsed and killed fifty people.”

“Good engineering is the difference between code running in eight minutes or eight hours. It affects real people in real ways. It’s not a “matter of opinion.” any more than a bird taking a flight is a “matter of opinion.”

(He is a software engineer at Google.)


“With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.”


(A world-renowned Certified Scrum Trainer with extensive experience working with start-ups, market leaders and public companies to increase their agility with Scrum and is the author of the book “Scrum Shortcuts Without Cutting Corners”)


“Scrum without automation is like driving a sports car on a dirt track – you won’t experience the full potential, you will get frustrated, and you will probably end up blaming the car.”


(A Canadian computer scientist, often referred to as “Dr. Java”, known as the founder and chief designer of the Java programming language. When Gosling realized that the electronic device embedded system project he started designing with C ++ was getting cumbersome, he started working on Java taking the best features of C ++ to create a user-friendly programming language; with less complex syntax.)


“Java is C++ without the guns, knives, and clubs.”

(An American software tester, creator of the unFIX model, entrepreneur, and author of “How Google Tests Software”, “The 7 Stages of Creativity: Developing Your Creative Self”, “Exploratory Software Testing”)


“Small tests lead to code quality. Medium and large tests lead to product quality.”

(An American human-computer interface expert known for designing and launching the Macintosh project at Apple in the late 70s, the author of the book “The Humane Interface”)


“The place to start the implementation is to list exactly what the user will do to achieve his or her goals and how the system will respond to each user action.”

“If our field is ‘to advance’, we must – without displacing creativity and aesthetics – make sure our terminology is clear.”

“A well-designed and humane interface does not have to be split into beginner and expert subsystems.”

“An interface is humane if it is responsive to human needs and considerate of human frailties.”

(An American software developer and writer, also co-founder of Stack Overflow and owner of the programming blog “Coding Horror”)


“The best reaction to “this is confusing, where are the docs” is to rewrite the feature to make it less confusing, not write more docs.”

“We have to stop optimizing for programmers and start optimizing for users.”

(An American internet entrepreneur, industrialist, media proprietor, and investor, best known as the founder and CEO of Amazon)


“If your customer base is aging with you, then eventually you are going to become obsolete or irrelevant. You need to be constantly figuring out who are your new customers and what are you doing to stay forever young.”

“If you’re going to do anything new or innovative, you have to be willing to be misunderstood.”

“If you’re competitor-focused, you have to wait until there is a competitor doing something. Being customer-focused allows you to be more pioneering.”

(A software developer and one of the creators of the Scrum software development process, known as “Father of Scrum.” He contributed to the writing of the “Agile Manifesto” in 2001 and is the author of the “Scrum Guide.”)


“Scrum is like the rules of soccer. Following them does not make you a good player.”

(The CEO of Linkedin)


“Almost without exception, the best products are developed by teams with desire to solve a problem; not a company’s need to fulfill a strategy.”

(A web developer, musician and author.)


“Remember, the web isn’t about control. If a visitor to your site is familiar with using a browser’s native form doodad, you won’t be doing them any favors if you override the browser functionality with your own widget, even if you think your widget looks better.”


“One man’s crappy software is another man’s full time job.”

(A software developer, blogger and event speaker; currently works as DevOps and agile transformation consultant)


“A Fallacy of Software: If it works, and we don’t change anything, it will keep working.”

(American code, infrastructure and product developer, author.)


“There are two rules of thumb architects follow when decomposing systems. First, ensure that adding a new feature tends to change only one service or a component at a time. This reduces interface churn.6 Second, avoid “chatty” or fine-grained communication between services. Chatty services scale poorly and are harder to impersonate for testing purposes.”

(An American software engineer, author of many books on software development methodology, one of those who signed the “Agile Manifesto” and creator of the Adaptive Software Development concept)


“The best way to get a project done faster is to start sooner.”

“If we want to build great products, we need great people. If we want to attract and keep great people, we need great principles.”

“In high-performance teams, the leaders managed the principles, and the principles managed the team.”

“Agility is more attitude than process, more environment than methodology.”

“Simple rules guide innovative, intelligent responses. Comprehensive rules guide rote, routine responses.”

“The quality of results from any collaboration effort are driven by trust and respect.”

“Agile development reflects a product lifecycle approach, rather than a project approach.”

(An author, keynote speaker, co-creator of Core Protocols with Michele McCarthy, author of “Software for Your Head” and “Dynamics of Software Development” and has a patent on instant messaging. Worked at Bell Laboratories, Whitewater Group, and Microsoft)


“You can’t have great software without a great team, and most software teams behave like dysfunctional families.”

(An American software developer.)


“Teams move at the speed of trust. Be the kind of dependable person you would want to work with.”

(An American software engineer and author)


“We’re programmers. Programmers are, in their hearts, architects, and the first thing they want to do when they get to a site is to bulldoze the place flat and build something grand. We’re not excited by incremental renovation: tinkering, improving, planting flower beds.”

(An American computer scientist, led the team that created the FORTRAN, the inventor of the Backus-Naur form (BNF), developed the functional programming language “FP”, which advocated a mathematical approach to programming. In 1994, he received the Draper Award.)


“I myself have had many failures and I’ve learned that if you are not failing a lot, you are probably not being as creative as you could be, you aren’t stretching your imagination enough.”

(A computer programmer, video game developer, and engineer; led the team developing games such as Commander Keen, Wolfenstein 3D, Doom, and Quake)


“Programming is not a zero-sum game. Teaching something to a fellow programmer doesn’t take it away from you.”

“The cost of adding a feature isn’t just the time it takes to code it. The cost also includes the addition of an obstacle to future expansion. The trick is to pick the features that don’t fight each other.”

“Focus is a matter of deciding what things you’re not going to do.”

“Focused, hard work is the real key to success. Keep your eyes on the goal, and just keep taking the next step towards completing it. If you aren’t sure which way to do something, do it both ways and see which works better.”

(Started his career as a game developer, specialized in product management, accepted as an opinion leader in product management, his articles published in many different sources, known with the article “50 Things I’ve Learned About Product Management”)


“You tend to go where you look. If you look too hard at the competition you’ll go towards them, instead of towards point ahead of them.”

“If in doubt, get out of your head and gather data. Build something and test. Same goes with meetings where there is endless conjecture. Have a bias for action!”

“All bets are off until someone is trying to use the feature with their data, in their environment, in their day to day work. You have to leave time to iterate based on that feedback.”

“Trying to land a 747 on a speedboat is never a good idea. Work in small batches, and plan at the last responsible moment.”

“Driving out all uncertainty tends to drive out originality (and innovation).”

“Passing the trash to other departments (e.g. “support will deal with it”) always comes back to bite you.”

“Without a strong product vision, you’ll end up outsourcing product strategy to the rest of the company.”

“First solve the problem then write the code.”

(An American executive, designer and technologist.)


“Simplicity is about the unexpected pleasure derived from what is likely to be insignificant and would otherwise go unnoticed.”

(An American computer science professor and author.)


“Your job as a developer is not just to create code that you can work with easily, but to create code that others can also work with easily.”

“You’ll end up with a much better result if you consider multiple options for each major design decision.“

(An American director, designer, programmer and developer working in the gaming industry; co-founder of the company that created games such as Wolfenstein 3D, Dangerous Dave, Hexen, Doom, Doom II, and Quake, and the designer of the games)


“You might not think that programmers are artists, but programming is an extremely creative profession. It’s logic-based creativity.”

(An American computer scientist and business person, invented the PostScript language, best known as the co-founder of Adobe Systems Inc., pioneered the development of graphics, publishing, web and electronic document technologies that have revolutionized the field of publishing and visual communications)


“It’s very important that a programmer be able to look at a piece of code like a bad chapter of a book and scrap it without looking back. Never get too enamored with one idea, never hang onto anything tenaciously without being able to throw it away when necessary; that should be the programmer’s attitude.”

“Learn from small experiments rather than large ones. Don’t go into a two-year development with nothing coming out in the middle. Have something come out every two months, so you can evaluate, regroup, and restart.”

“To be successful, you want to surround yourself with very talented folks whose skills blend very well. That’s the secret of success.”

(A game programmer, no information was found other than the email he sent to the comp.lang.c ++ newsgroup in September 1991.)


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

(An American software engineer, published many books on Java including “Effective Java”, led the design and implementation of numerous Java platform features, including the Java Collections Framework, the java.math package, and the assert mechanism.)


“When you choose a language, you’re choosing more than a set of technical trade-offs-you’re choosing a community.”


(Self-taught coder since the age of 12, now teaches coding to children in Canada at Learning Labs – the institution that promotes organizations such as Learning Learning Code, Girls Learning Code, Kids Learning Code, and HackerYou.)


“Falling in love with code means falling in love with problem solving and being a part of a forever ongoing conversation. To be a computer programmer does not mean to live in isolation and solitude, but rather the exact opposite.”

(A designer and front-end developer, wrote the article “On writing maintainable front-end systems” in 2015.)


“Writing software as if we are the only person that ever has to comprehend it is one of the biggest mistakes and false assumptions that can be made.”

(A strong open source advocate, has worn every hat possible from technical support to software development or system administration, and has held various leadership roles throughout his career in technology, currently works as a “Staff Developer Advocate” at Google Cloud)


“Maintaining an open-source project is like being a flight attendant for an airline where all tickets are free and the majority of customer surveys offer suggestions on how to fly the airplane.”

(An American software engineer, creator of the agile software development methodology “Extreme Programming”, one of the 17 original signatories of “Agile Manifesto” and a pioneer of the software design patterns)


“I’m not a great programmer; I’m just a good programmer with great habits.”

“The craft of programming begins with empathy, not formatting or languages or tools or algorithms or data structures.”

“Optimism is an occupational hazard of programming; feedback is the treatment.”

“Tests are the Programmer’s stone, transmuting fear into boredom.”

“Everything in software changes. The requirements change. The design changes. The business changes. The technology changes. The team changes. The team members change. The problem isn’t change, because change is going to happen; the problem, rather, is our inability to cope with change.”

“Readers need to understand programs in detail and in concept. Sometimes they move from detail to concept, sometimes from concept to detail.”


(A software engineering professor, teaching software architecture at NJCSE, led major software projects at Bell Labs for 35 years)


“Don’t automate an undisciplined workflow. The computer won’t solve what the customer’s management can’t.”

(An American writer and retired businessman served as CEO of AlliedSignal -later Honeywell in the 1990s. He previously served in executive positions at General Electric for over 30 years.)


“Complexity has nothing to do with intelligence, simplicity does.”

“The foundation of changing behavior is linking rewards to performance and making the linkages transparent.”

“The hardware of a computer is useless without the right software. Similarly, in an organization the hardware (strategy and structure) is inert without the software (beliefs and behaviors).”

(A software engineer and professor at the Department of Mathematics and Engineering at Madeira University, has many publications on software science and corporate culture, considered as one of the pioneers of structural software design methodologies and specializes in interaction design and usability in complex systems)


“The best meetings get real work done. When your people learn that your meetings actually accomplish something, they will stop making excuses to be elsewhere.”

(An American computer science professor)


“There is no programming language, no matter how structured, that will prevent programmers from making bad programs.”

(The creator of the Perl programming language)


“The three chief virtues of a programmer are: Laziness, Impatience and Hubris.

Laziness: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don’t have to answer so many questions about it.

Impatience: The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to.

“Hubris: The quality that makes you write (and maintain) programs that other people won’t want to say bad things about.”

“Computer languages differ not so much in what they make possible, but in what they make easy.”

(A computer scientist who worked at Apple between 1980 and 1997, recognized as the inventor of the “Cut-Copy-Paste” commands on computers.)


“Every application has an inherent amount of irreducible complexity. The only question is who will have to deal with it, the user or the developer (programmer or engineer).”

(A Canadian educator and writer, best known for his “Peter principle” on hierarchy, published “Peter’s Almanac” in 1982)


“Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them.”

(A software engineer and the creator of the Linux kernel)


“Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.”

“Theory and practice sometimes clash. And when that happens, theory loses. Every single time.”

“Telling people “don’t do that” simply doesn’t work. Not if they can do it easily anyway. Things really don’t get fixed unless people have a certain pain-level to induce it to get fixed.”

(Specialized in agile methodologies and testing, has four books, helps testing community learn about DevOps and continuous delivery, and helps agile and DevOps communities know about testing, explores best practices in testing in the software community.)


“People, not methodologies or tools, make projects successful.”

(Has 30+ years of software career, is also a producer and an actor)


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


(An American computer scientist with a Ph.D. in robotics, worked at companies such as IBM Watson Research Center, Google, and Uber)


“Of all my programming bugs, 80% are syntax errors. Of the remaining 20%, 80% are trivial logical errors. Of the remaining 4%, 80% are pointer errors. And the remaining 0.8% are hard.”

(An Italian software engineer and Java expert, the author of the book “Java 8 in Action: Lambdas, Streams, and Functional-style Programming”, co-author of the book “Modern Java in Action”, currently works as “Drools Core Developer” in Red Hat)


“The code you write makes you a programmer. The code you delete makes you a good one. The code you don’t have to write makes you a great one.”

“Sometimes a bug is so big & you’re so focused on details that discovering it is like finding an elephant with a microscope. Take a step back.”

“Programs, like people, get old. We can’t prevent ageing, but we can understand its causes, limit its effects and reverse some of the damage.”

“You can optimise for low latency. You can optimise for high throughput. You can optimise for memory occupation. However 90% of times the most precious thing you should optimise for is maintainability.”

(A software engineer and entrepreneur)


“Programmers don’t burn out on hard work, they burn out on change-with-the-wind directives and not ‘shipping’”

(A consultant in the field of test techniques and test automation, lecturer, author, speaker, co-author of the book “Software Test Automation”, has more than 20 years of industry experience in the field of software testing)


“It is far better to improve the effectiveness of testing first than to improve the efficiency of poor testing. Automating chaos just gives faster chaos.”

(An English software developer specialized in agile software development methodologies including object-oriented analysis and design, UML, patterns and over-programming, a writer and an international speaker on software development, the author of many books including “Refactoring”)


“If you’re afraid to change something it is clearly poorly designed.”

“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.”

“A heuristic we follow is that whenever we feel the need to comment something, we write a method instead.”

“If you can get today’s work done today, but you do it in such a way that you can’t possibly get tomorrow’s work done tomorrow, then you lose.”

“I’m opposed to setting aside time for refactoring. In my view refactoring is not an activity you set aside time to do. Refactoring is something you do all the time in little bursts.”

“When you find you have to add a feature to a program, and the program’s code is not structured in a convenient way to add the feature, first refactor the program to make it easy to add the feature, then add the feature.”

(Started her career as a process control programmer, led the IT department of a manufacturing facility, and then shifted to product development, wrote four books on “Lean Software Development”, including “Implementing Lean Software Development: From Concept to Cash”)


“Every line of code costs money to write and more money to support. It is better for the developers to be surfing than writing code that won’t be needed.”

“The biggest cause of failure in software-intensive systems is not technical failure; it’s building the wrong thing.”

“Almost everything we know about good software architecture has to do with making software easy to change.”

“It is much more important to develop people with the expertise to make wise decisions than it is to develop decision-making processes that purportedly think for people.”

“It would be much better to assign work to established teams than to reconstitute teams around projects.”

“A disciplined approach to problem solving moves a team from wishful thinking to new knowledge, specific countermeasures, and permanent results.”

“The job of tests, and the people that develop and runs tests, is to prevent defects, not to find them.”

“If the vision of perceived integrity isn’t refreshed regularly, the engineers have a tendency to get lost in the technical details and forget the customer values.”

(Software developer at Google and author of ‘Code Simplicity’)


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

“Simplifying your code decreases the effort of maintenance, thereby increasing the desirability of every other possible change.”

(A programmer and an academician at Princeton University has studies and articles on the history of IBM’s virtual machine operating system VM)


“The best programs are the ones written when the programmer is supposed to be working on something else.”

(A software developer and publisher)


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

(Specialized in software and organizational design, has provided consultancy support to hundreds of organizations in the past 20 years on general software design, process change and code animation, is the author of “Working Effectively With Legacy Code”)


“Remember, code is your house, and you have to live in it.”

“The brutal truth is that architecture is too important to be left exclusively to a few people. It’s fine to have an architect, but the key way to keep an architecture intact is to make sure that everyone on the team knows what it is and has a stake in it.”

“Code without tests is bad code. It doesn’t matter how well written it is; it doesn’t matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don’t know if our code is getting better or worse.”

“Clean code always looks like it was written by someone who cares.”

“In a well-maintained system, it might take a while to figure out how to make a change, but once you do, the change is usually easy and you feel much more comfortable with the system. In a legacy system, it can take a long time to figure out what to do, and the change is difficult also.”

(A computer hardware specialist who has worked at IBM for many years, was appointed an IBM Fellow in 2002)


“Hardware eventually fails. Software eventually works.”

(A British computer scientist and computing consultant, visiting research professor at Open University in the UK, and author of many books)


“We follow two rules in the matter of optimization:

Rule 1: Don’t.

Rule 2: (for experts only). Don’t do it yet – that is, not until you have a perfectly clear and unoptimized solution.”

(An American software engineering executive, blogger, known as “Rands”, and the author of “The Art of Leadership: Small Things, Done Well”, “Managing Humans: Biting and Humorous Tales of a Software Engineering Manager” and “Being Geek: The Software Developer’s Career Handbook”.)


“A software metaphor is more like a searchlight than a road map. It doesn’t tell you where to find the answer; it tells you how to look for it.“

(An American programmer, architect and author.)


“Design with skepticism, and you will achieve resilience. Ask, “What can system X do to hurt me?” and then design a way to dodge, duck, dip, dive, and dodge whatever wrench your supposed ally throws.”

(Contributed to the development of Scrum, one of the founders of the Scrum Alliance, has books on agile methodology, supports the daily stand-up meetings)


“The benefit of allowing a team to self-organize isn’t that the team finds some optimal organization for its work that a manager may have missed. Rather, it is that by allowing the team to self-organize, it is encouraged to fully own the problem of performing its work.”

“Because the estimate for each feature is made relative to the estimates for other features, it does not matter if our estimates are correct, a little incorrect, or a lot incorrect. What matters is that they are consistent.”

“Individuals should be given every incentive possible to work as a team. If the team’s throughput is increased by my helping someone else, that’s what I should do.”

(Brazilian-Amerikan entrepreneur, software engineer and Instagram co-founder.)


“You can’t start a product simply by building it. You have to know why you’re building it, and you might go down the wrong rabbit hole, waste time, and confuse things. Spending long afternoons with a sketchbook or talking through your ideas with other people can save a year in software development later on.”

(Finnish computer security and privacy expert and columnist, known globally for the Hypponen Law on IoT security)


“Rarely is anyone thanked for the work they did to prevent the disaster that didn’t happen.”

(An information systems expert)


“No amount of elegant programming or technology will solve a problem if it is improperly specified or understood to begin with.”


(Completed his university education as a computer scientist who specializes in languages and compilers and a mathematician who specializes in statistical analysis. Known as an expert in agile engineering techniques and software architecture. Has many articles, books, and videos on software architecture, continuous distribution, functional programming)


“The problem with a completely new programming paradigm isn’t learning a new language. After all, everyone reading this has learned numerous computer languages—language syntax is merely details. The tricky part is learning to think in a different way.”

(An American technology executive, entrepreneur, and author.)


“Architects should collaborate closely with their users—the engineers who build and operate the systems through which the organization achieves its mission—to help them achieve better outcomes and provide them the tools and technologies that will enable these outcomes.”

“Responsibilities of a team leader include limiting work in process and eliminating roadblocks for the team so they can get their work done.”

(Has 20+ years in the software, mainly worked in game development and developed games such as Fist Of Awesome, Shirtless Bear-Fighter, Maximum Car, 8-Bit Waterslide)


“The first step of any project is to grossly underestimate its complexity and difficulty.”

(A Swiss computer scientist, designed many programming languages including Pascal, and pioneered classical topics in software engineering)


“A primary cause of complexity is that software vendors uncritically. adopt almost any feature that users want.”

(A database specialist with 20 years of industry experience)


“Don’t put your resume ahead of the requirements.”

(A computer scientist and president at AT&T Broadband Services Research)


“When code and comments disagree, both are probably wrong.”

(A businessman who worked in the field of aviation and space and chaired the “Human Space Flight Plans Committee” and published the “Augustine’s Laws” list in 1984)


“Software is like entropy. It is difficult to grasp, weighs nothing, and obeys the second law of thermodynamics; i.e. it always increases.”


(A software developer and entrepreneur)


“One of the best programming skills you can have is knowing when to walk away for a while.”


(An American computer scientist, known for his work on software requirements engineering, telecommunications services, protocol modeling, and validation. Currently working on network architecture at Princeton University)


“The purpose of software engineering is to control complexity, not to create it.”

(Irish entrepreneur and co-founder of Stripe.)


“Programming is full of odd ideas. Using shorter, less descriptive names often produces code that’s more readable overall. The most powerful languages usually have far fewer concepts than the lesser ones. And failing may be the best way to produce successful and original work.”

(A software engineer and entrepreneur, has many articles on programming and software marketing)


“Every great developer you know got there by solving problems they were unqualified to solve until they actually did it.”

(Started his career writing games for 8-bit home computers before he was a teenager, and since then has worked in diverse fields at all levels of abstraction, from microcode on bit-slice processors to high-level declarative programming, is the author of “Debug It!”)


“Bug fixing often uncovers opportunities for refactoring. The very fact that you’re working with code that contains a bug indicates that there is a chance that it could be clearer or better structured.”

(He is an American computer scientist, entrepreneur and author.)


“When you catch bugs early, you also get fewer compound bugs.  Compound bugs are two separate bugs that interact:  you trip going downstairs, and when you reach for the handrail it comes off in your hand.”

“A programming language is for thinking about programs, not for expressing programs you’ve already thought of. It should be a pencil, not a pen.”

“If you look inside good software, you find that parts no one is ever supposed to see are beautiful too. I’m not claiming I write great software, but I know that when it comes to code I behave in a way that would make me eligible for prescription drugs if I approached everyday life the same way. It drives me crazy to see code that’s badly indented, or that uses ugly variable names.”

“As for building something users love, here are some general tips. Start by making something clean and simple that you would want to use yourself.”

“You have to be able to see things from the user’s point of view.”

“Design and research are aiming for the same destination, just approaching it from different directions.”

(A software developer and author.)


“One of the reasons to see improved productivity in Agile is because of the simplicity principle.”

(A Canadian software developer, game creator and entrepreneur.)


“I’ve seen many intelligent people who are just not practical. They get lost pursuing some academic goal that is totally useless. Being practical is important to good programming. You must be able to guess accurately how long it will take to complete a project, have the ability to calculate what can and cannot be done in that time, and then do it, resisting the temptation to go off and do other things. Practicality is important when you’re trying to make every piece of work the best because you always have a limited amount of time to work on it. It’s easy to triple the time to complete a project when you’re consumed with making it the ultimate in elegance.”


(An American computer programmer and network engineer, mostly known for her invention of the spanning-tree protocol (STP) and known as the “mother of the internet”, has made extensive contributions to many other areas of network design and standardization)


“The world would be a better place if more engineers, like me, hated technology. The stuff I design, if I’m successful, nobody will ever notice. Things will just work, and will be self-managing.”

(A computer science researcher, one of the authors of the book “Design Patterns: Elements of Reusable Object-Oriented Software”)


“Before software can be reusable, it first has to be usable.”

(The creator of PHP programming language)


“PHP is about as exciting as your toothbrush. You use it every day, it does the job, it is a simple tool, so what? Who would want to read about toothbrushes?”

(Former Microsoft CTO, a software architect, and entrepreneur)


“Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.”

“Bugs are often characteristic of a bad interface between subsystems, which is frequently a result of inadequate communication among people when they design the subsystems. When a bug is found, there is a tendency to handle it within the subsystem and not look at the program as a whole.”

(American computer science professor and Chief Technology Officer of ThoughtWorks.)


“It’s never too early to think about performance.”

(An experienced Irish software developer, trainer, and mentor)


“Teams are immutable. Every time someone leaves, or joins, you have a new team, not a changed team.”

(A Canadian software developer with 30+ years of software and programming experience in a wide range of languages and fields)


“Simple, elegant languages remove the cognitive burden that afflicts users of more complex languages, so the theory goes. Programmers can be more productive and not waste time overcoming a substantive learning curve.”

(A senior software engineer, independent consultant, publishes books for O’Reilly and Pluralsight)


“You don‘t drive the architecture, the requirements do.”

“Design is a discovery process, as we implement we discover new information, often impossible to know up front.”

(A professor of computer science, the creator of Karel programming language, currently teaching introductory programming and data structures at the University of California)


“When debugging, novices insert corrective code; experts remove defective code.”

“Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.”

“If you cannot grok the overall structure of a program while taking a shower, you are not ready to code it.”

“The structure of a software system provides the ecology in which code is born, matures, and dies. A well-designed habitat allows for the successful evolution of all the components needed in a software system.”

(An American free software activist and programmer.)


“Creativity can be a social contribution, but only in so far as society is free to use the results.”

(A software consultant working on software analysis, architecture, application, and management for 20+ years)


“Don’t make the user provide information that the system already knows.”

(A Canadian programmer and author.)


“Data dominates. If you’ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.”

(An American software engineer and instructor, popularly referred as “Uncle Bob”, best known for being one of the authors of the Agile Manifesto, the author of the book “The Clean Code”, and for developing several software design principles such as S.O.L.I.D.)


“[Most managers] may defend the schedule and requirements with passion; but that’s their job. It’s your job to defend the code with equal passion.”

“Slaves are not allowed to say no. Laborers may be hesitant to say no. But. professionals are expected to say no. It’s the only way you can really get anything done.””

“Don’t be afraid to make a name long. A long descriptive name is better than a short enigmatic name. A long descriptive name is better than a long descriptive comment.”

“It is not the language that makes programs appear simple. It is the programmer that make the language appear simple.”

“Agile is not about going faster. Agile is about destroying hope. The data produced by a good agile team provides a cold dose of reality to the managers — in time for them to — manage.”

“In the last three decades we have irrevocably moved software into the very foundations of our civilization. We programmers now bear an awe inducing responsibility. Civilization is now ours to improve or destroy.”

“Every time you write a comment, you should grimace and feel the failure of your ability of expression.”

“The first concern of the architect is to make sure that the house is usable — not to ensure that the house is made of bricks.”

“Good architecture makes the system easy to understand, easy to develop, easy to maintain, and easy to deploy.”

“Programmers must avoid leaving false clues that obscure the meaning of code.”

(Specialized in big data, data analytics, database technologies, and cloud, has six published books and numerous articles, attends technology events worldwide as a speaker and presenter)


“While it is a known fact that programmers never make mistakes, it is still a good idea to humor the users by checking for errors at critical points in your program.”

(The pseudonym Mark Stephens used for publishing his books and articles on technology in publications such as InfoWorld, Forbes, Newsweek, Success, The New York Times, Upside, Worth and producing the NerdTV internet program)


“If the automobile had followed the same development as the computer, a Rolls Royce would today cost $100 and get a million miles per gallon, and explode once a year killing everyone inside.”

(A Canadian programmer, software consultant, and activist, known on the Internet for his “Java and Internet Dictionary”)


“The cardinal rule of writing unmaintainable code is to specify each fact in as many places as possible and in as many ways as possible.”

(One of the creators of Extreme Programming, an Agile software development methodology)


“Code never lies, comments sometimes do.”


(An American entrepreneur, investor, programmer, and blogger, best known as the CEO of OpenAI and former president of Y Combinator)


“Great execution is at least 10 times more important and a 100 times harder than a good idea.”

(British software developer, founder and author of the London Software Craftsmanship Community (LSCC).)


“Contributing to open source projects is a great way to practice.”

(A MIT graduate computer scientist with 30+ years of experience as a software developer, open-source and free software advocate, and has a Ph.D. in bioinformatics)


“The software isn’t finished until the last user is dead.”

(A world-renowned British theoretical physicist, cosmologist, writer, was a research director at the Theoretical Cosmology Center at Cambridge University in his recent years)


“The greatest enemy of knowledge is not ignorance; it is the illusion of knowledge.”

(American business magnate, industrial designer and founder of Apple.)


“You can’t just ask customers what they want and then try to give that to them. By the time you get it built, they’ll want something new.”

(A computer engineer and the author of books such as “Code Complete”, “Rapid Development” and “Software Estimation” that left their mark on the history of software)


“Good code is its own best documentation. As you’re about to add a comment, ask yourself, ‘How can I improve the code so that this comment isn’t needed?”

“Programming requires more concentration than other activities. It’s the reason programmers get upset about ‘quick interruptions’ – such interruptions are tantamount to asking a juggler to keep three balls in the air and hold your groceries at the same time.”

“Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. If you want to improve your software, don’t test more; develop better.”

“In software, the chain isn’t as strong as its weakest link; it’s as weak as all the weak links multiplied together.”

“The big optimizations come from refining the high-level design, not the individual routines.”

“Once you start coding, you get emotionally involved with your code and it becomes harder to throw away a bad design and start over.”

“It’s hard enough to find an error in your code when you’re looking for it; it’s even harder when you’ve assumed your code is error-free.”

“There are no secrets on a successful software project. Both good and bad news must be able to move up and down the ptoject hierarchy without restriction.”

”Software projects fail for one of two general reasons: the project team lacks the knowledge to conduct a software project successfully, or the project team lacks the resolve to conduct a project effectively.”

“A good estimate is an estimate that provides a clear enough view of the project reality to allow the project leadership to make good decisions about how to control the project to hit its targets.”

“The default movement on a software project should be in the direction of taking elements of the software away to make it simpler rather than adding elements to make it more complex.”

“Motivation is undoubtedly the single greatest influence on how well people perform.”

(A software development manager who has worked at Microsoft for many years, has extensive experience in distributed systems, platform and frame development, cloud software, and e-commerce)


“When you are stuck in a traffic jam with a Porsche, all you do is burn more gas in idle. Scalability is about building wider roads, not about building faster cars.”


(A British computer scientist, professor, author and inventor of World Wide Web.)


“The web is more a social creation than a technical one. I designed it for a social effect – to help people work together – and not as a technical toy.”

(An American car designer known for his work with Chrysler, Dodge and Plymouth)


“Good design adds value faster than it adds cost.”

(Known in the field of object-oriented programming and the “90–90 rule”. Worked extensively on debuggers written in C ++, and is the author of the book “C ++ Programming Style.” Offers consulting services to companies and technology courses and workshops on C ++, Java, XML, and OOP)


“The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.”

(An American software engineer and also works as a software engineering consultant.)


“The manager’s function is not to make people work, but to make it possible for people to work.”

“First law of Bad Management: If something isn’t working, do more of it.”

“Computer system analysis is like child-rearing; you can do grievous damage, but you cannot ensure success.”

“Quality, far beyond that required by the end user, is a means to higher productivity.”

“The business we’re in is more sociological than technological, more dependent on workers’ abilities to communicate with each other than their abilities to communicate with machines.”

“Successful change can only come in the context of a clear understanding of what may never change, what the organization stands for.”

(An American systems engineer, consultant, and author, known for the development of software metrics, software inspection, and evolutionary processes, which was a forerunner of agile software development methods)


“At the source of every error which is blamed on the computer, you will find at least two human errors, one of which is the error of blaming it on the computer.”

(A computer scientist with a Ph.D. in Cognitive Science at the University of Washington, the author of the book “Object Lessons: Lessons Learned in Object-Oriented Development” on OOP, and one of the creators of Objective-C)


“The key to efficient development is to ‘make interesting new mistakes.”

(An American computer engineer with BA in mathematics from MIT, participated in Project MAC, which is the origin of the MIT Computer Science and Artificial Intelligence)


“When somebody begins a sentence with “It would be nice if…” the right thing to do is to wait politely for the speaker to finish. No project ever gets around to the it-would-be-nice features: or it they do, they regret it. Wait for sentences that begin “We have to…” and pay close attention, and see if you agree.”

(A writer and journalist, works as a manager at Lambda School, which teaches software development and coding online.)


“The best learners are the people who push through the discomfort of being objectively bad at something.”

(A British computer scientist who made fundamental contributions to programming languages, algorithms, operating systems, formal verification and concurrent computing.)


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.”


(A veteran software craftsman and thought leader in simplifying software design and implementation. )


“Developers are too wrapped up with technology and trying to solve problems using technology rather than careful thought and design. This leads developers to constantly chase after new “shiny objects,” which are the latest fads in technology.”


(An American engineer, statistician, professor, author, lecturer, and management consultant; best known for his work in Japan after World War II)


“Without data, you’re just another person with an opinion.”

(An American computer programmer, a pioneer in design patterns and extreme programming, developed the first Wiki, and co-authored the Agile Manifesto)


“The best way to get the right answer on the Internet is not to ask a question, it’s to post the wrong answer.”

“It was a turning point in my programming career when I realized that I didn’t have to win every argument. I’d be talking about code with someone, and I’d say, “I think the best way to do it is A.” And they’d say, “I think the best way to do it is B. I’d say, “Well no, it’s really A.” And they’d say, “Well, we want to do B.” It was a turning point for me when I could say, “Fine. Do B. It’s not going to hurt us that much if I’m wrong. It’s not going to hurt us that much if I’m right and you do B, because, we can correct mistakes. So lets find out if it’s a mistake.”

“Putting a new feature into a program is important, but refactoring so new features can be added in the future is equally important.”

“Over and over, people try to design systems that make tomorrow’s work easy. But when tomorrow comes it turns out they didn’t quite understand tomorrow’s work, and they actually made it harder.”

(A Dutch programmer and physicist, best known for writing the Postfix e-mail system and Coroner’s Toolkit)


“When I write software, I know that it will fail, either due to my own mistake, or due to some other cause.”


(A Russian programmer, entrepreneur, investor, and open source advocate, known for his book “Code Ahead” and blog posts, has created some patented methodologies such as PDD)


“Quality must be enforced, otherwise it won’t happen. We programmers must be required to write tests, otherwise we won’t do it.”

“Being a senior developer doesn’t mean getting a large salary or being appreciated in the office. It means belonging to an elite group of developers who know how to do certain things and can do them.”

“The higher the price of information in a software team, the less effective the team is.”

“We must not blame programmers for their bugs. They belong to them only until the code is merged to the repository. After that, all bugs are ours!”

“Punishment demotivates when it comes from people rather than a system of well-defined rules.”

“Any software project must have a technical leader, who is responsible for all technical decisions made by the team and have enough authority to make them. Responsibility and authority are two mandatory components that must be present in order to make it possible to call such a person an architect.”

“Debugging is anticipated with distaste, performed with reluctance, and bragged about forever.”


Author: Gizem Terzi Türkoğlu

Date Published: May 13, 2020
Last Updated: Sep 21, 2022