Click here to Skip to main content
15,860,972 members
Articles / All Topics

A Coder Interview With Pete O'Hanlon

,
Rate me:
Please Sign up or sign in to vote.
4.97/5 (42 votes)
19 Oct 2011CPOL7 min read 58.8K   11   49
Welcome to our continuing series of Code Project interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we track down Code Project member Pete O'Hanlon.

Welcome to our continuing series of Code Project interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we track down Code Project member Pete O'Hanlon.

Pete has been a Code Project member since 2003 and been a Code Project MVP every year since 2008. Developers like Pete make Code Project what it is and that's probably why his interview was one of the most requested from the community.

Who are you?

A long time ago, in a galaxy far, far away, the old republic was overthrown by a Sith lord to form a new empire. To form the empire, he deemed that the protectors of the republic, the Jedi Knights, would be hunted down and removed. A handful of Jedi Knights escaped the cull and were scattered across the galaxy. We sought refuge in places such as Dagobah and Tattooine. The thing that these places had in common was that they were all considered inhospitable back waters. One by one, these Knights died out until only one was left; the one known as the Geordie Jedi; this is his story, and the story of how he came to help shape a new republic, the republic known as the Code Project.

For those who have had the good fortune never to have met me, my name really is Pete O'Hanlon (no wishy-washy pseudonyms for me), and I run a small consultancy based out of the North East of England. I've been coding software since the end of the 70s, and have been coding professionally since the late 80s when I was a C and Informix developer on HP Unix boxes.

Over the last 5 years or so, I've become a semi-permanent fixture in the Code Project forums and have authored a few articles, some of which I actually quite like.

As a proponent of XAML based technologies, I am lucky enough to be in regular contact with some amazing developers, such as Jesse Liberty and the god of Windows programming Charles Petzold (who really is as deep as his books suggest).

What do you do?

Paperwork. A lot of it. As a company owner, I spend an inordinate amount of time reading things and talking to clients. Actually, the talking to clients side is really rewarding, and can be really enlightening; this side of the business really takes you out of the developer comfort zone and forces you to think about all sides of the delivery process.

Unsurprisingly, I also do a lot of WPF and Silverlight. I've played some small part in developing the Silverlight portions of Onyx and some work on MefedMVVM, and I have written my own application framework called Goldlight which is being rewritten from the ground up to be an adjunct to MefedMVVM (for WPF, Silverlight and WP7). Once WinRT has stabilised, Goldlight will also support Metro applications.

Inspired by Karl Shifflett, I developed a Visual Studio addin called MoXAML Power Toys which introduced productivity functionality for XAML applications in Visual Studio. I have recently updated this to be plugin based, and have released this on CodePlex.

Currently, I am working on a project with Code Project legend Sacha Barber which is pretty darned cool. We think it will be of great benefit to developers and teams of developers.

I occasionally remember to transfer notes from various post it notes into articles here on Code Project, and to my somewhat rambling blog.

What is your development environment?

Surprisingly enough, I spend most of my time using a fairly low powered laptop. It's a Dual core running Windows 7 64 bit, and has 4 GB RAM. The reason I develop on this is so I can get instant feedback on how an application runs on a lower spec machine. My sole luxury here is my dual monitor setup, which is absolutely vital for me running Visual Studio 2010 SP 1 and Expression Blend 4 side by side.

How did you get started programming?

I kind of fell into programming, almost by accident. I'd been in hospital when I was a kid following an operation to correct Talipes feet, and I was off school for a long period of time. My parents took pity on me and bought me first one computer, then another.

Within a couple of years, I'd moved onto the usual array of ZX81s, Commodore 64s, Spectrums and BBC B, before taking a course programming in C. C was this huge intellectual puzzle which fascinated me, and I became hooked, eventually being lucky enough to land a job developing in it. From there, I graduated to C++ and then C#, and I have never looked back.

What is your coding pet peeve?

I'm fairly easy going with coding style, so I don't have much in the way of peeve. I only really have four things that get to me:

  1. Inconsistency. If you have a style, stick to it. Don't chop and change because it makes me work harder to try and understand what your code is doing.

  2. I really don't like long complex functions. Please break them down as I am a bear of little brain, so I can't comprehend it all in one go.

  3. Public methods put in conditionals just to test private code. Exercising private code should happen as a result of testing your public methods you shouldn't have to add extra code to get to it.

  4. If you must comment code out, and you don't intend to put it back in, then remove it all together. Again, if I have to skip over commented out code then it makes it harder for me to comprehend what your code is doing.

What new tools, languages or frameworks interest you?

I'd have to say that WinRT is my big fascination right now. I'm currently looking to see how my company can make money out of this, and I'm also satisfying some of my old C++ itch by developing some of the functionality in C++, which is super-easy in Windows 8.

How has the developer community influenced your coding?

I never stop learning. I have picked up so much from authors here on Code Project both in areas that I am working in, and in unrelated areas where somebody has done something cool that I can just marvel at the beauty of their code.

What advice would you offer to an up-and-coming programmer?

First of all, get yourself a life outside of computers. I know it's odd hearing this from somebody who spends so much time on Code Project, but you need to have interests outside of coding; trust me, perspective makes you a better coder. I am a husband and father first and foremost, a guitarist second, and a coder third.

Don't be afraid to read around the subject and to try noddy applications. The best way to learn something is by doing it, so if writing a console app calculator helps you master a language, then good for you.

Coding requires discipline. Write unit tests. Think about inputs to your routines, and try and cope with the bad as well as the good.

Delivering software is about more than just writing code. Listen to what your clients want; don't try and sell them on cool technologies just so you can play with them, actually figure out what will solve the problem the client has.

Give something back. It took me a while before I started helping out in the forums, but I eventually started to answer questions just as a way of thanking those who helped me when I started here on Code Project. If you give good answers, you'll grow as a developer, and this should help you in your career.

Finally, don't be afraid of other coders, no matter what their reputation is. Your opinion can be just as valid, so don't let yourself be browbeaten. But if you are wrong, admit it and move on.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
CEO
United Kingdom United Kingdom
A developer for over 30 years, I've been lucky enough to write articles and applications for Code Project as well as the Intel Ultimate Coder - Going Perceptual challenge. I live in the North East of England with 2 wonderful daughters and a wonderful wife.

I am not the Stig, but I do wish I had Lotus Tuned Suspension.

Written By
Software Developer CodeProject Solutions
Canada Canada
The CodeProject team have been writing software, building communities, and hosting CodeProject.com for over 20 years. We are passionate about helping developers share knowledge, learn new skills, and connect. We believe everyone can code, and every contribution, no matter how small, helps.

The CodeProject team is currently focussing on CodeProject.AI Server, a stand-alone, self-hosted server that provides AI inferencing services on any platform for any language. Learn AI by jumping in the deep end with us: codeproject.com/AI.
This is a Organisation

4 members

Comments and Discussions

 
QuestionConfusion Pin
perilbrain29-Jun-12 9:51
perilbrain29-Jun-12 9:51 
GeneralMy vote of 5 Pin
ProEnggSoft29-Feb-12 18:06
ProEnggSoft29-Feb-12 18:06 
GeneralMy vote of 5 Pin
Nagy Vilmos28-Oct-11 2:20
professionalNagy Vilmos28-Oct-11 2:20 
GeneralRe: My vote of 5 Pin
Pete O'Hanlon31-Oct-11 8:45
subeditorPete O'Hanlon31-Oct-11 8:45 
QuestionInspiring Pin
Slacker00721-Oct-11 1:27
professionalSlacker00721-Oct-11 1:27 
AnswerRe: Inspiring Pin
Pete O'Hanlon21-Oct-11 1:30
subeditorPete O'Hanlon21-Oct-11 1:30 
GeneralMy vote of 5 Pin
Luc Pattyn20-Oct-11 11:22
sitebuilderLuc Pattyn20-Oct-11 11:22 
GeneralRe: My vote of 5 Pin
Pete O'Hanlon20-Oct-11 11:41
subeditorPete O'Hanlon20-Oct-11 11:41 
GeneralMy vote of 5 Pin
AnnieMacD20-Oct-11 6:11
AnnieMacD20-Oct-11 6:11 
GeneralRe: My vote of 5 Pin
Pete O'Hanlon20-Oct-11 6:32
subeditorPete O'Hanlon20-Oct-11 6:32 
QuestionGreat stuff Pete. Pin
Sacha Barber20-Oct-11 5:59
Sacha Barber20-Oct-11 5:59 
AnswerRe: Great stuff Pete. Pin
Pete O'Hanlon20-Oct-11 6:00
subeditorPete O'Hanlon20-Oct-11 6:00 
GeneralMy vote of 5 Pin
linuxjr20-Oct-11 4:28
professionallinuxjr20-Oct-11 4:28 
GeneralRe: My vote of 5 Pin
Pete O'Hanlon20-Oct-11 4:32
subeditorPete O'Hanlon20-Oct-11 4:32 
GeneralRe: My vote of 5 Pin
linuxjr20-Oct-11 4:42
professionallinuxjr20-Oct-11 4:42 
QuestionNice interview Pin
agolddog20-Oct-11 4:05
agolddog20-Oct-11 4:05 
AnswerRe: Nice interview Pin
Pete O'Hanlon20-Oct-11 4:17
subeditorPete O'Hanlon20-Oct-11 4:17 
QuestionA Jedi Knight you will be Pin
IAbstract20-Oct-11 3:46
IAbstract20-Oct-11 3:46 
GeneralMy vote of 5 Pin
IAbstract20-Oct-11 3:40
IAbstract20-Oct-11 3:40 
GeneralRe: My vote of 5 Pin
Pete O'Hanlon20-Oct-11 4:16
subeditorPete O'Hanlon20-Oct-11 4:16 
GeneralRe: My vote of 5 Pin
DaveAuld20-Oct-11 5:12
professionalDaveAuld20-Oct-11 5:12 
GeneralMy vote of 5 Pin
Fabio Franco20-Oct-11 3:32
professionalFabio Franco20-Oct-11 3:32 
GeneralRe: My vote of 5 Pin
Pete O'Hanlon20-Oct-11 4:14
subeditorPete O'Hanlon20-Oct-11 4:14 
GeneralRe: My vote of 5 Pin
Fabio Franco20-Oct-11 5:06
professionalFabio Franco20-Oct-11 5:06 
QuestionGreat advice Pin
Daniel Vaughan20-Oct-11 3:32
Daniel Vaughan20-Oct-11 3:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.