SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Getting on the
Righteous Path
   A Cautionary Tale
Technology Lifecycle

   Hot



 Valuable



Interesting



  Novel



  what?

              0    1   2   3   4   5   6   7   8   9   10
Technology Lifecycle
                                   Fun, $$!
   Hot



 Valuable



Interesting



  Novel



  what?

              0    1   2   3   4   5   6      7   8   9   10
Technology Lifecycle
                                       Fun!
   Hot



 Valuable



Interesting
                                                      Not Fun!

  Novel



  what?

              0    1   2   3   4   5    6     7   8   9   10
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
The Essential Programmer
            Library

• The Pragmatic Programmer
• Code Complete
• The Passionate Programmer
• Coders at Work


• + blog post: Don’t call yourself a
  programmer
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”
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!
The Pragmatic Programmer
         Key Points

A Pragmatic Approach
• DRY
• Orthogonality
• Tracer Bullets
• Prototypes
• Problem Domain/Languages
• Estimating
The Pragmatic Programmer
         Key Points

Tools/Approaches
• Power of Plain Text
• Shell programming
• Debugging Strategies
• Paranoia
• Decoupling
• Metaprogramming
• MVC!
The Pragmatic Programmer
         Key Points

Tools/Approaches
• Programming by Coincidence/
  Deliberate
• Unit Testing
• Start When you’re ready
• Automation
• Sign your work
Code Complete, 2nd Edition


            • Steven McConnell
            • published: 2004
            • Microsoft Press!
            • All about the craft of
              software construction
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
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**
Code Complete
              Key Points

• Fixing Defects**
• Code Optimization**
• Testing
• Layout!
• Commenting
The Passionate Programmer

                                        • Chad Fowler
                                        • published: 2009, Pragmatic
                                          Bookshelf
                                        • How to have a career as a
                                          programmer




Prepared exclusively for Alison Tyler
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
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
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
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
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
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
Coders at Work
           Key Points

• No time, only dogears and Post-Its and
  my faulty memory

Weitere ähnliche Inhalte

Was ist angesagt? (6)

Design Patterns Summer Course 2009-2010 - Session#1
Design Patterns Summer Course 2009-2010 - Session#1Design Patterns Summer Course 2009-2010 - Session#1
Design Patterns Summer Course 2009-2010 - Session#1
 
Five Stages of Development - Nordic.js
Five Stages of Development  - Nordic.jsFive Stages of Development  - Nordic.js
Five Stages of Development - Nordic.js
 
Search-Driven Programming
Search-Driven ProgrammingSearch-Driven Programming
Search-Driven Programming
 
Rapid Prototyping with Boltmade
Rapid Prototyping with BoltmadeRapid Prototyping with Boltmade
Rapid Prototyping with Boltmade
 
Android Developer Skills, Techniques, and Patterns
Android Developer Skills, Techniques, and PatternsAndroid Developer Skills, Techniques, and Patterns
Android Developer Skills, Techniques, and Patterns
 
Level Design Workshop - GDC China 2012
Level Design Workshop - GDC China 2012Level Design Workshop - GDC China 2012
Level Design Workshop - GDC China 2012
 

Andere mochten auch

Andere mochten auch (8)

Ruby on Rails All Hands Meeting
Ruby on Rails All Hands MeetingRuby on Rails All Hands Meeting
Ruby on Rails All Hands Meeting
 
Ruby on Rails in UbiSunrise
Ruby on Rails in UbiSunriseRuby on Rails in UbiSunrise
Ruby on Rails in UbiSunrise
 
Slides
SlidesSlides
Slides
 
Rubynetto
RubynettoRubynetto
Rubynetto
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
RoR (Ruby on Rails)
RoR (Ruby on Rails)RoR (Ruby on Rails)
RoR (Ruby on Rails)
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentation
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Ähnlich wie Essential programmer library

Xconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceXconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open Source
Paras Narang
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
Johannes Brodwall
 
Class One: The Computer
Class One: The ComputerClass One: The Computer
Class One: The Computer
Ian Kane
 

Ähnlich wie Essential programmer library (20)

12 Things Every Programmer Should Know
12 Things Every Programmer Should Know12 Things Every Programmer Should Know
12 Things Every Programmer Should Know
 
Becoming a Web Design Champion
Becoming a Web Design ChampionBecoming a Web Design Champion
Becoming a Web Design Champion
 
Intro to game design
Intro to game designIntro to game design
Intro to game design
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming Live
 
Xconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open SourceXconf 2014 - Contributing to Open Source
Xconf 2014 - Contributing to Open Source
 
Computing basics
Computing basicsComputing basics
Computing basics
 
Meaningful code - BeCode Brussels - August 2018
Meaningful code - BeCode Brussels - August 2018Meaningful code - BeCode Brussels - August 2018
Meaningful code - BeCode Brussels - August 2018
 
Stuff I wish someone told me about being an engineer
Stuff I wish someone told me about being an engineerStuff I wish someone told me about being an engineer
Stuff I wish someone told me about being an engineer
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
 
XP should be dead. Here is why!
XP should be dead. Here is why!XP should be dead. Here is why!
XP should be dead. Here is why!
 
Hiep le - xp should be dead! here is why.
Hiep le - xp should be dead! here is why. Hiep le - xp should be dead! here is why.
Hiep le - xp should be dead! here is why.
 
LocJAM Japan Presentation - Kyoto Study Group (December 2016)
LocJAM Japan Presentation - Kyoto Study Group (December 2016)LocJAM Japan Presentation - Kyoto Study Group (December 2016)
LocJAM Japan Presentation - Kyoto Study Group (December 2016)
 
Write a better FM
Write a better FMWrite a better FM
Write a better FM
 
[GAMENEXT] Five mantras for l10 (LatisGlboal)
[GAMENEXT] Five mantras for l10 (LatisGlboal)[GAMENEXT] Five mantras for l10 (LatisGlboal)
[GAMENEXT] Five mantras for l10 (LatisGlboal)
 
LocJAM3 Kyoto Workshop March 2016
LocJAM3 Kyoto Workshop March 2016LocJAM3 Kyoto Workshop March 2016
LocJAM3 Kyoto Workshop March 2016
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
 
Be a passionate Programmer!
Be a passionate Programmer!Be a passionate Programmer!
Be a passionate Programmer!
 
CPP01 - Introduction to C++
CPP01 - Introduction to C++CPP01 - Introduction to C++
CPP01 - Introduction to C++
 
Class One: The Computer
Class One: The ComputerClass One: The Computer
Class One: The Computer
 
Developers Best Practices
Developers Best PracticesDevelopers Best Practices
Developers Best Practices
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Essential programmer library

  • 1. Getting on the Righteous Path A Cautionary Tale
  • 2. Technology Lifecycle Hot Valuable Interesting Novel what? 0 1 2 3 4 5 6 7 8 9 10
  • 3. Technology Lifecycle Fun, $$! Hot Valuable Interesting Novel what? 0 1 2 3 4 5 6 7 8 9 10
  • 4. Technology Lifecycle Fun! Hot Valuable Interesting Not Fun! Novel what? 0 1 2 3 4 5 6 7 8 9 10
  • 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**
  • 15. Code Complete Key Points • Fixing Defects** • Code Optimization** • Testing • Layout! • Commenting
  • 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

  1. \n
  2. \n
  3. CS Degree, I know how to program\nKing of Director (Colin joke here)\n
  4. \n
  5. Learned this lesson painfully\n\n
  6. These books gave me the education I was missing, even after an MS in CompSci\n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. * Intelligence and Humility bookmark - Keep going to Intellectual honesty\n*Characteristics that don’t matter!\n
  14. One var= one purpose!\nNames to avoid*\nEpic naming fail*\n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. Inspiration! Much in common\nMost important thing is communication\nWriting code for other humans, passion\n
  23. \n