Giants are made by standing on the shoulders of dwarves.... lots of them

Giants are made by standing on the shoulders of dwarves.... lots of them

A lightning talk given in May 2013 when I was in London anyway and thought I'd pop along to a user group. Basically a good system/developer uses many tools to get her/his work done. These small tools then make the developer better and able to build better software.

The 'PDF Export' of this talk has had a bit of trouble - so if you want to see the talk I really recommend viewing it properly on
http://www.theonlystephen.com/talk-giants-are-made-from-standing-on-the-shoulders-of-dwarves....lots-of-them/

1f3d30c33ce0b2f5bf9925d7dc3452e1?s=128

Stephen McCullough

May 01, 2013
Tweet

Transcript

  1. GIANTS ARE MADE BY STANDING ON THE SHOULDERS OF DWARVES...

    ...LOTS OF THEM Created by / Stephen McCullough @swmcc
  2. .... AND I MEAN LOTS!

  3. "A practise of developing by understanding and building on the

    research and works created by others"
  4. FRAMEWORKS RUBY ON RAILS SINATRA EXPRESS DJANGO ZEND

  5. SITES BASECAMP/CAMPIRE AKA 37SIGNALS GITHUB TWITTER FUNDRY HOUSETRIP

  6. DEVELOPERS? I firmly believe that good/happy developers can use this

    process as well.
  7. PROCESSES (THE DRAWVES) Processes, in my opinon seperate the good/happy

    developers from the bad/unhappy ones. WHAT IS A PROCESS? A process is simply a serious of steps you do to complete a given task. One task - one process. It should simply be a discipline you adpot in order to make your life easier.
  8. EXAMPLES They shouldn't be restricted by just being 'tools' (IDE's

    or frameworks). It should incorporate the following: Fundamental Principles (TDD, Reviewing) Workflow Time Management Estimation Collaboration
  9. TOOLS GIT More than just a source control package. Improves

    workflow and eases in communication between team members. IDE I don't use one. I flip between macvim, vim and Sublime Text 2 depending on my mood. DOTFILES - if you are interested... Taking screen shots Copying a file to my clipboard Logging onto environments Restarting servers/deamons https://github.com/swmcc/dotfiles
  10. FUNDAMENTAL PRINCIPLES TDD TDD - 80% of the time In

    my opinon - its a waste of time to have 100% coverage, usually. THE 'ALMOST CERTAIN PRINCIPLE' Confidence Infection Rate Bravery First thing I do when looking at new code is (after the README) is look at the tests. Test code doesn't lie.. Note I said code not tests ;)
  11. FUNDAMENTAL PRINCIPLES TIME MANAGEMENT "In the zone" programming is (in

    my opinon) good if you have good processes to catch you out when you do something daft. Coding is a highly CREATIVE activity, if done right. If you live in a good eco system you can go "in the zone" without fear. WORK FLOW Not just confined to your work. PLAY TIME Play time can be productive. One to two hours on a Friday morning I try and improve something that annoyed me this week. I keep a file somewhere of the annoying things I have or want to learn and try and incorporate that into my workflow. Sometimes it works, sometimes it doesn't - main thing is that I learn from it. Doing new things in your own time leads to other things - for instance I am doing a talk on neo4j to Belfast Ruby soon.
  12. CRAFTMANSHIP WE ARE CREATIVE DAMMIT! I feel privileged to be

    able code and build something from nothing. I could talk about the any one of the previous topics at length. I love processes. I read somewhere (can't remember so typing it out from my head): "You can teach the theory behind programming but you can't teach the discipline, practises and skills of it. These things are aquired through maturity, practise and mentoring..." To me that's what the 'dwarves' represent. They are stacked high to enable us to deliver better software so then we can build better code and enable us to build better applications/sites.
  13. FIN