Post

Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman

Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman

Hi all,

Today I want share with you my notes after read the following book:
Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman.

Preface

  • Kent Back
  • Tektronix Company
  • Smalltalk programming language
  • Agile Programming

Introduction

  • Lady Isabel Burton
  • Stickyminds.com
  • Software Craftmanship
  • Developer Chris Morris blog
  • Pat Metheny guitar
  • Dave blog - redsquirrel.com
  • Laurent Bossavit
  • Darragh Farrel
  • Kraig Parkinson
  • Pattern Languages of Programs - hillside.net/plop/1
  • Język wzorców. Miasta, budynki, konstrukcja - Christopher Alexander book
  • Edventions Company
  • Risetime Technologies Company
  • Object Mentor Company
  • ThoughWorks Company
  • XP France conference
  • Martin Fowler
  • Obtiva Company
  • C2 Wiki
  • Extreme Tuesday Club
  • OmniGraffle diagrams
  • Graphviz diagrams

Software Craftmanship Manifesto

Chapter 1: Introduction

  • Perl programming language
  • Basic programming language
  • Apple IIe computer
  • Java Applets
  • Perl. Programming. book
  • Extreme Programming - XP
  • Agile Development
  • Bob Martin
  • Kent Beck
  • Refactorisation to Project Patterns - Joshua Kerievsky book
  • Programowanie zorientowane obiektowo book
  • Jezyk wzorców. Miasta, budynki, konstrukcja - Christopher Alexander book
  • Ruby programming language
  • Ruby on Rails framework
  • Carol Dweck - Growth Mindset
  • Wewnetrzne poczucie umiejscowienia kontroli book
  • Etienne Wenger - Expert in Earshot pattern (Paul and Elixir language)
  • Software Craftmanship: The New Imperative - Pete McBreen book
  • Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku. book
  • Refaktoryzacja. Ulepszanie struktury istniejącego kodu - Martin Fowler book

Chapter 2: Empty the cup

Your first language

  • Ruby - irb console
  • Ruby on Rails Framework - script/console
  • Erlang - erb
  • Firefox - Firebug
  • TDD - Test Driven Development
  • Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku - Ralph Johnson book
  • Effective Perl Programming book
  • Java. Efektywne programowanie book
  • C++. 50 efektywnych sposobów na udoskonalenie Twoich programów book
  • The shape of your mind - Eric Merritt blog
  • Pragmatic Programmer: From Journeyman to Master - Dave Thomas, Andy Hunt book
  • Muench method
  • Schwartz transformation
  • Duff mechanism

The White belt

  • Mastery: The Keys to Success and Long-Term Fulfillment - George Leonard book
  • Psychology Abraham Maslow
  • Ashleigh Montagu
  • Michael Feathers developer
  • Praca z zastanym kodem. Najlepsze techniki book
  • Becoming a Technical Leader - Jerry Weinberg book

Release your enthusiasm

  • Mądrość tłumu. Większość ma rację w ekonomii, biznesie i polityce - James Surowiecki book
  • Collective Mind in Organizations - Karl Weick and Karlene Roberts book

Specific skills

  • Hibernate framework
  • Struts framework
  • TODO: Review jour CV regularly to create list of your strong skills

Admit your ignorance

  • My Apparenticeship at Object Mentor - Jake Scruggs book

Face your ignorance

  • O stawaniu się osobą. Poglądy terapeuty na psychologię - Carl Rogers book

Deep water

  • So you want to be a Software Consultant? - Christopher Hawkins book

Withdraw into competence

  • Zen i sztuka obsługi motocykla - Robert Pirsig book

Charter 3: Walking along a long way

Long way

  • http://perlmonks.org
  • com.lang.perl.*
  • Extreme Programming Installed - Ron Jeffries book
  • Donald Knuth
  • Linus Torvalds
  • Moore Law

Craftsmanship over art

  • Art and Computer Programming - Richard Stallman

Solid motivation

  • The Psychology of Computer Programming - Jerry Weinberg book
  • Hakerzy i malarze. Wielkie idee ery komputerów - Paul Graham book
  • More Secrets of Consulting: The Consultant’s Tool Kit - Jerry Weinberg book

Cherish your passions

  • Mityczny osobomiesiąc. Eseje o inżynierii oprogramowania - Frederick Brooks book
  • Great Hackers presentation
  • 0SCON - O’Reilly 0pen Source Convention
  • Knowledge Hydrant pattern
  • A Pattern Language for Study Groups - Joshua Kerievsky publication

Draw your own map

Use your title

Stay in the trenches

Another way

  • Duży mały poradnik życia - H. Jackson Brown Jr. book
  • The Peopleware Papers: Notes on the Human Side of Software - Larry Constantine book

Summary

Chapter 4: Proper self-esteem

Be the worst

Find mentors

Soul mates

  • Extreme Programming Explained: Embrance Change book
  • Refaktoryzacja. Ulepszanie struktury istniejącego kodu book
  • Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku book
  • Czynnik ludzki. Skuteczne przedsięwzięcia i wydajne zespoły book

Friendship

  • Pair Programming
  • TDD
  • Ping-Pong Programming
  • Etyka dobrej roboty - Richard Sennet book

Remember the floor

Chapter 5: Constant learning

  • Nauka w czasach wojny - Brzemię chwały - C.S. Lewis book
  • Developer Andy Hunt

Increase your bandwidth

  • Agile Software Development Ecosystem - Jim Highsmith book
  • Tim O’Reilly - Watching the “Alpha Geeks” OS X and the Next Big Think
  • GoogleTechTalks
  • Perl Programming Language
  • http://perlmonks.org/
  • Extreme Programming Explained: Embrance Change - Kent Beck book
  • Ruby on Rails framework
  • Obtiva company
  • Obtiva Software Studio department

Practice Practice Practice

  • Perełki oprogramowania book
  • Więcej perełek oprogramowania book
  • Wyznania programisty book
  • Etudes for Programmers book

Toys to break

  • Shortest Wiki Contest
  • Simple game, blogging tool, IRC client in each new programming language
  • Wiki system from scratch

Use the source

  • Programmers at work - Bill Gates book
  • Linus Torwalds blog
  • Daniel J. Bernstein blog
  • Task: review open source version control code, ex. git

Be reflective when working

  • Project Retrospectives: A handbook for Teams Reviews - Norm Kerth book
  • Personal Practices Map

Write down what you are learning

  • Lepiej. Zapiski chirurga o efektywności medycyny - Atul Gawande book

Share what you learn

  • The Creative Habit: Learn It and Use It for Life - Twyla Tharp bookm

Create loops of feedback

  • Dave Winer - What is Stop Energy?

Learn how you fail

Summary

  • The Five Orders of Ignorance - Philip Armour book

Chapter 6: construct your learning program

  • Zen i sztuka obsługi motocykla - Robert Pirsig book
  • Jerry Weinberg
  • Fred Brooks
  • Steve McConnell
  • Kent Beck

Reading list

  • A school Is a Lousy Place to Learn Anything In - Howard S. Becker
  • http://bookshelves.org/
  • 35 chapter from book: Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów book
  • Pragmatic Programmer: From Journeyman to Master - Dave Thomas, Andy Hunt book
  • Book chain - Ravi Mohan
  • Sequential Study from: Pattern Language for Study Groups - Joshua Kerievsky
  • Refaktoryzacja. Ulepszanie struktury istniejącego kodu book
  • Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku.
  • TODO: Create file with reading list, put there currently reading list and update it regularly

Constantly read

  • Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów. - Steve McConnell book
  • Put books over blogs

Study the classics

  • Joshua Kerievsky - Knowledge Hydrant: A Pattern Language for Study Groups
  • The Psychology of Computer Programming book

Dig deeper

  • Steven S. Sukienka - The Algorithm Design Manual
  • Roy Fielding - REST thesis
  • Steve Vinoski - RPC

Familiar tools

  • Eric Hoffer - Reflections on the Human Condition

Chapter 7: Conclusions

  • Etyka dobrej roboty - Richard Sennet book
  • Kruger - Dunning effect

It is everything that I have for today.
Everyone is a blacksmith of own fate.
Mateusz.

This post is licensed under CC BY 4.0 by the author.