Programming computers has been in my blood since I got a Commodore 64 in 1984. Since then I’ve worked on many projects either building a software solution from scratch, maintaining existing systems or designing system architecture and handing the plans over to teams of programmers.

I was lucky enough to have been trained in programming at the Dublin Institute of Technology which took some skills (and bad habits) I had already learned by osmosis and shaped them into an asset that would see me through the next few decades of technology changes.

Freelance Programming

If you already have a software design in mind and need the skills of a qualified, experienced and professional programmer, I’m your man. I’ve heard programmers speak in terms of how many lines of code they cut before breakfast. I’m not that man. I’ll look to what the end goal is and find some code that’s been used (and tested) in the past. I’ll copy and paste it and credit the original programmer with the work. The end goal is you get your programming done quicker and more reliably than the code monkey with the intravenous caffeine supply who’s hacking away at line number 2081.

User Requirements

I take great pride in understanding my client’s requirements. I use a variety of techniques to ensure that user requirements are fully documented, understood and agreed. A controlled approach to software development ensures that changes to requirements during the course of a project can be properly assessed and catered for.

Software Architecture

I have sought to become a skilled practitioners of component-based and Internet-based technologies. I have programmed solutions using distributed architectures that are highly scalable, robust and that support rapid development. I have considerable expertise in large transaction processing based systems using .NET, Java, Ruby on Rails and PHP. I use open software architectures which can provide clients with the scalability and performance they need in significant Internet-based applications.

Analysis and Design

I use a formal object-oriented analysis and design methodology (UML) and appropriate tools for all of my programming projects. In addition I have considerable experience with many commercial component and class libraries, design patterns, and security and performance approaches.

Project Management

I have an excellent track record in delivering quality software to customers on time and on budget. I employ a rigorous approach to project management and a formal methodology on all of programming undertaken in-house. All projects are tracked and managed with open source tools. Metrics have been collected for many previous projects and reused to accurately estimate future work.