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
GIANTS ARE MADE BY
ON THE SHOULDERS OF DWARVES...
...LOTS OF THEM
Created by /
Stephen McCullough @swmcc
.... AND I MEAN LOTS!
"A practise of developing by understanding and
building on the research and works created by
RUBY ON RAILS
BASECAMP/CAMPIRE AKA 37SIGNALS
I firmly believe that good/happy developers can
use this process as well.
PROCESSES (THE DRAWVES)
Processes, in my opinon seperate the
good/happy developers from the bad/unhappy
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.
They shouldn't be restricted by just being 'tools'
(IDE's or frameworks). It should incorporate the
Fundamental Principles (TDD, Reviewing)
More than just a source control package.
Improves workflow and eases in communication
between team members.
I don't use one. I flip between macvim, vim and
Sublime Text 2 depending on my mood.
- if you are
Taking screen shots
Copying a file to my clipboard
Logging onto environments
TDD - 80% of the time
In my opinon - its a waste of time to have 100%
THE 'ALMOST CERTAIN PRINCIPLE'
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 ;)
"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.
Not just confined to your work.
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.
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
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.