Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For example, being a beginner, I find a lot of inspiration and direction from reading this post by Bryan Woods.


locked by maple_shaft May 29 '13 at 10:54

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Jim G., Mark Trapp Dec 9 '11 at 6:36

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

39 Answers 39

up vote 26 down vote accepted

I'm surprised no one has mentioned The Pragmatic Programmer. It's a must-read if you are at all interested in your craft.

@kirk.burleson: It still is. – Steve Evers Nov 11 '10 at 20:48

As a teenager, I read translations of articles from Dave Small (*) in an Atari ST-related magazine and his writings were very inspiring to me. This guy was having fun solving tricky problems, not working for a big company but for his own and had great advice about people. People matter, not technology!

(*) Or David Small, from Gadgets by Small who emulated a Mac on an Atari.


To read

To view

Sometimes it's more about people...

And a bunch of people on whose footsteps to follow, and on whose shoulders to stand (in no particular order and listed as they come to my mind now in free-flow): Alan Kay, Richard Stallman, Ken Thompson, Dennis Ritchie, Brian Kernighan, Theo de Raadt, Linus Torvalds, Eric S. Raymond, Rob Pike, Bill Gates, Steve Jobs, John MacCarthy, John Conway, Martin Odersky, James Gosling, Guy Steele, Donald Knuth, Edsger Dijkstra, John Carmack, Peter Molyneux... Either their own words and works were inspirational or their stories told by others. As long as you keep in mind that their skills and genius in some areas doesn't prevent them to be blind-sided by their own beliefs in others. Like anyone else. (The 2 books listed above will already cover them fairly well, for most of them!)

Or less famous but nonetheless active technologists that are interesting to follow from afar: Neal Gafter, Martin Fowler, Don Syme, etc...

I was inspired by the works of these people, and the things they did to achieve (or abandon) their projects.

Sometimes it's more about a culture and a dream, and breaking barriers...

Reading the 2600 as a kid when my English was embyonic, the story of early phreakers like Captain Crunch or the birth of the PC era with Wozniak at Apple and reading books and essays by William Gibson and Neil Stephenson were also inspirational for me as a programmer, though it didn't relate to programming directly. In that vein, even the Hacker's Manifesto, the Agile Manigesto or even things like the IEEE Code of Ethics were and still are inspirational.


Uncle Bob Martin's programming posts. It is no longer active as Robert Martin is now posting videos on his new blog.


I highly recommend reading Charles Petzold's Code The Hidden Language of Computer Hardware and Software and of course the Mythical Man Month by Frederick P. Brooks. The first is an excellent insight into computers in general and how hardware and software play together. The latter is more about producing software in the real world. Both are extremely useful books.


The most inspiring talk I've ever heard was Richard Gabriel talking about that writing software is similar to writing poems. Poets often use a lot of effort to get few words just right - think Haikus - and we should strive towards the same kind of excellence and elegance when writing software.

Elegance and conciseness is as important in programming as in poetry and math, and it requires a lot of effort to do so fluently.

See some of the points on


Coder to Developer - Mike gunderloy (Amazing Read)

97 Things Every Programmer Should Know - Kevlin Henney.

Masterminds of Programming - Federico Biancuzzi.

Just For Fun: Linus Torvalds

Design Patterns: Elements of Reusable Object-Oriented Software.

Videos from yahoo : Douglas Crockford and Grady Booch.


The Practice of Programming by Brian W. Kernighan and Rob Pike

I found it unusual in that it promotes thinking, instead a lot of the typical lingo driven self promotionial books.


"Structure and Interpretation of Computer Programs", Abelson & Sussman.

"Structured Programming", Dahl, Dijkstra & Hoare.

"GOTO Statement Considered Harmful", Dijkstra.


Code Complete . It covers most of the basic subjects you need to know as a programmer, and gives you directions to learn more about each of them. A very good first step in a learning path. Myself and lots of people I know, wish they read it earlier in their programmer life.


The book programmers at work :

A great book which feature interviews of world class programmers of the 80's


Ted Felix's Qbasic Tutorial encouraged me to learn to program with basic. From there I was so motivated that I went on to try to learn other languages. It is a very inspiring tutorial for beginning programming.


The Annotated Turing

Just picturing someone designing such complex methods & algorithms almost a century ago gets me motivated.


I know it's a hard read, but Knuth's The Art of Computer Programming is a Really Big Deal in our field. And Douglas Hofstadter's Gödel, Escher, Bach: An Eternal Golden Braid is inspirational for those of us with a mathematical or algorithmic bent.


The Last Lecture a book written by Randy Pausch the man behind Alice. It goes along with his last lecture "Really Achieving your Childhood Dreams". Always gotta remember to be a Tigger.


I started off from games programming. It all comes from NES days. Aspired to be game developer and I achieved it but changed to Application Software/Hardware Analyst for better career as my country for games industries is too niche.

During my early days, I actually felt a bit regret of entering into this IT roles. But later was inspired and influenced by my ex-colleagues on his accomplishments and they were quite active in these new technical development areas. During my free time, I will mingle with software programming to work on personal projects with my ex-colleagues.


The book of five rings by Myomoto Musasashi.

Some highlights.

Don't have a a favorite tool. Learn to use every tool, learn when it is appropriate to use, learn its weaknesses and strengths.

Staff whose work is not perfect can be used in places where the quality of their workmanship is in public view. The pillars that support the floor under a building do not have to have a perfect finish (they just have to work).

By doing one thing, do many things. So if there is a choice between doing A and B, but B can be used to do many things next week, do B if you can afford it.


The Little LISPer blew my mind.

I took a High School pascal programming class. I already knew C64 basic pretty well and asked the teacher if all programming languages were like Basic and Pascal. He lent me his copy of the Little LISPer. After spending the weekend reading it, I didn't believe such an odd language could exist or would work. When I saw it running on dial up mini he has access to, I was floored. It did exist.

After my second university level programming class; Algorithms and Data Structures, I switched majors to get access to the better CS Computer lab. They had Unix machines with lisp, scheme, prolog, SmallTalk80 and a ton of other tools.


Seth Godin, while not totally programming-related, has some inspiring posts for me as a programmer and hopeful business person (in addition to Joel on Software).


Soul of a new Machine (inspiration when I was in high school) SICP (probably one of the best books related to software development I have ever read)


Code Complete, Second Edition by Steve McConnell.

Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma

I'm entirely self-taught, and I was fortunate enough to stumble upon an article (I've long since forgotten where) early on in my work that pointed me to these two books. The transformation of my code after I read those two books was staggering. I owe a lot to those authors.


Marvin Minsky

  • Computation: Finite and Infinite Machines

  • Semantic Information Processing


I found You and Your Research to be very valuable advice. This was a lecture by Hamming to his colleagues at Bell Labs.

What Bode was saying was this: "Knowledge and productivity are like compound interest." Given two people of approximately the same ability and one person who works ten percent more than the other, the latter will more than twice outproduce the former. The more you know, the more you learn; the more you learn, the more you can do; the more you can do, the more the opportunity - it is very much like compound interest. I don't want to give you a rate, but it is a very high rate. Given two people with exactly the same ability, the one person who manages day in and day out to get in one more hour of thinking will be tremendously more productive over a lifetime. I took Bode's remark to heart; I spent a good deal more of my time for some years trying to work a bit harder and I found, in fact, I could get more work done. I don't like to say it in front of my wife, but I did sort of neglect her sometimes; I needed to study. You have to neglect things if you intend to get what you want done.


I found How to Become a Hacker very inspirational. It also gives a workable roadmap for developing as a programmer.


As Alan Kay said almost 30 years ago, point of view is worth 80 IQ points. Books that changed my point of view:

  • "Philosophical Investigations" by Ludwig Wittgenstein

    Sometimes we think we know, when in fact, we don't know. W. shows how to take a closer look.

  • "Fact, Fiction, and Forecast" by Nelson Goodman

    Here I've learned what the word analytic really means. Also, what the word pragmatic really means.

  • "Zen and the Art of Motorcycle Maintanance" by Robert M. Pirsig

    How can there be things that are better than other things? Why isn't everything the same, quality-wise? IOW, what is it that good movies, good cars, good food and good software have in common, that makes them good?



Gloves - take a good, hard look at your first revision and just say to yourself, "gloves."

This post from the Daily WTF has kept me on the right path. I'll admit to several times having started developing something where a pair of "gloves" were the appropriate solution.

I don't get it. – kirk.burleson Nov 7 '10 at 16:31
Kirk, you need to read the linked article for the answer to possibly make sense... though even then it doesn't really. – Peter Boughton Nov 7 '10 at 21:01
It means when you overthink a problem you can end up with horribly complex solutions that end up getting more complicated due to the previous design choices. To summarize the article linked they try to create a ridiculous body heating system to keep your hands warm. Instead of just wearing gloves – Matt Phillips Nov 12 '10 at 21:53

Originaly Joel on Software, the way he writes made it very easy to grasp the concepts when I was beginning.

He's a good writer and I love to read his stuff. Just take some of it with a grain of salt or you may get depressed if you're not a rockstar developer. – kirk.burleson Nov 7 '10 at 16:34
I wanna be a rockstar developer like I wanna be a douchebag. – Jonathan Sterling Nov 12 '10 at 16:31

Not the answer you're looking for? Browse other questions tagged or ask your own question.