5. Reinvent or Perish
•You may have it good, now...
•Plan to retool every 5 years
•Continuous learning is the answer
H
Valua
Interest
No
wh
0 1 2 3 4 5 6 7 8 9 10
6. The Essential Programmer
Library
• The Pragmatic Programmer
• Code Complete
• The Passionate Programmer
• Coders at Work
• + blog post: Don’t call yourself a
programmer
7. The Pragmatic Programmer
• Andrew Hunt (the other
one) and David Thomas
• published: 2000
• Authors took part in
Agile Manifesto, also
Ruby on Rails
• “How to Program”
8. The Pragmatic Programmer
Key Points
A Pragmatic Philosophy
• Take responsibility
• Software Entropy - Don’t live with
broken windows
• Be a catalyst for change
• Good Enough Software
• Your Knowledge Portfolio
• Communicate!
9. The Pragmatic Programmer
Key Points
A Pragmatic Approach
• DRY
• Orthogonality
• Tracer Bullets
• Prototypes
• Problem Domain/Languages
• Estimating
10. The Pragmatic Programmer
Key Points
Tools/Approaches
• Power of Plain Text
• Shell programming
• Debugging Strategies
• Paranoia
• Decoupling
• Metaprogramming
• MVC!
11. The Pragmatic Programmer
Key Points
Tools/Approaches
• Programming by Coincidence/
Deliberate
• Unit Testing
• Start When you’re ready
• Automation
• Sign your work
12. Code Complete, 2nd Edition
• Steven McConnell
• published: 2004
• Microsoft Press!
• All about the craft of
software construction
13. Code Complete
Key Points
• Nobody is Smart Enough to Program a
Computer**
• Algorithm vs Heuristic
• Importance of Requirements*
• Choice of Language*
• Class Design Guidelines**
• High Quality Routines
14. Code Complete
Key Points
• Pseudocode Programming process**
• Importance of Names**
• Defensive/Offensive Programming
• Organizing Code - Loops, Boolean
Expressions*, LUTs
• How Important is Complexity?*
• The Devil’s Guide to Debugging**
16. The Passionate Programmer
• Chad Fowler
• published: 2009, Pragmatic
Bookshelf
• How to have a career as a
programmer
Prepared exclusively for Alison Tyler
17. The Passionate Programmer
Key Points
• Self-taught programmer
• Original title: “My Job Went to India
and all I got was this Lousy Book”
• You have to own your career
18. The Passionate Programmer
Key Points
• Make Wise Bets: Java or BeOS?
• Supply and Demand
• Coding is NOT Enough
• Be the Worst!
• Invest
• Ignore your parents
19. The Passionate Programmer
Key Points
• Be a Generalist* AND a Specialist
• Don’t Put All Your Eggs in Someone
Else’s Basket
• Love It or Leave It*
• Learn How Business Really Works
• Find a Mentor
• Be a Mentor
20. The Passionate Programmer
Key Points
• Read Code
• Learn Automation
• Remember Who You Work for
• Be Where you’re at
• Do Daily tasks better
• How much are you worth?
• Love Maintenance/8 hour burn/Say NO
21. The Passionate Programmer
Key Points
• Perceptions matter*
• Learn to Write and Speak well
• Be Present
• What would you tell the CEO?
• Contribute to the community
• Schmooze
• You’ve already lost your job
22. Coders at Work
interviews with some of the top programmers of our times
• Peter Seibel
Jamie Zawinski Guy Steele
Brad Fitzpatrick
Douglas Crockford
Dan Ingalls
L Peter Deutsch
• published: 2009, Pragmatic
Bookshelf
Coders
at Work • “Interviews with some of the
Reflections on the Craft of Programming top programmers of our
Brendan Eich
Joshua Bloch
Ken Thompson
Fran Allen
times”
Joe Armstrong Bernie Cosell
Simon Peyton Jones
Peter Norvig
Donald Knuth
• Will make you feel like an
“Peter Seibel asks the sort of questions only a fellow programmer would ask. Reading this book
may be the next best thing to chatting with these illustrious programmers in person.” asshole that you don’t know
—Ehud Lamm, Founder of Lambda the Ultimate - the programming languages weblog
P e t e r S e i b e l
LISP
23. Coders at Work
Key Points
• No time, only dogears and Post-Its and
my faulty memory
Hinweis der Redaktion
\n
\n
CS Degree, I know how to program\nKing of Director (Colin joke here)\n
\n
Learned this lesson painfully\n\n
These books gave me the education I was missing, even after an MS in CompSci\n
\n
\n
\n
\n
\n
\n
* Intelligence and Humility bookmark - Keep going to Intellectual honesty\n*Characteristics that don’t matter!\n
One var= one purpose!\nNames to avoid*\nEpic naming fail*\n
\n
\n
\n
\n
\n
\n
\n
Inspiration! Much in common\nMost important thing is communication\nWriting code for other humans, passion\n