Products Solutions Contact TR

Inspiring Quotes for Software Developers

For almost two years, 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.”

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

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

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

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


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

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

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

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

(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, 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.”

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

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

“First solve the problem then write the code.”

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

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

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


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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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


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


Author: Gizem Terzi Türkoğlu

Date Published: May 13, 2020
Last Updated: Sep 18, 2020