Derek Graham

Information & Communications Technology

sketchnoting mob programming pair programming visual thinking extreme programming xp tdd agile Test-Driven Development

Newcastle upon Tyne, England, United Kingdom

Throw Me the Idol

Finding yourself in a situation where you need to make sense of, and maybe maintain, someone else's code is often said to be like gardening or, in extreme cases, archaeology. The code needn't been an old legacy system filled with ancient secrets and artefacts, it could be the newest piece of JavaScript framework wondrousness from another team or a proof-of-concept idea you now have to make production-ready.

If you have ever found yourself Indiana-Jonesing it through this kind of codebase, or expect to anytime in your career, what strategies and techniques can you use to stay ahead of the boulders and out of the clutches of the Nazis?

I have inherited more than my fair share of nightmare codebases through my career, many measured in millions of lines of code, and will share my insights for coping with impenetrable programs, how to gain confidence in the code before making changes and strategies for refactoring into a better state for the future.

Unless things go terribly wrong, none of this should involve any snakes.


Derek Graham

Principal Developer, Sage UK

I'm a Principal Software Developer working for a very popular business software company in the North East of England.

I co-organize NE Bytes, a monthly .Net community get-together and Agile North East, both hosted in Newcastle city centre.

I am an Extreme Programmer, an Infrequent Sketchnoter, a Collector of Programming Languages, a Speaker, a Mob Programmer, a Test-Driven Developer and Struggling Agilista. I am also a STEM ambassador, microbit hacker and project lead for the "Makers & Creators" events at Campus North with Tech for Life UK.

My main areas of interest are in using agile methods to help improve what we ship, test-driven development, unit testing, continuous and deliberate learning, visual thinking, design and, of course, code.

Derek's full speaker profile