Ryan O'NeillProfessional software developer
Portrait photo of Ryan O'Neill from 2016

About

I've been developing software since before I was a teenager in the '80s and have been a professional developer since 1987.

This headshot is from 2016, so I've aged since then. Unlike the software I build, I can't rejuvenate myself.

A developer's life in (line) numbers

  • 101987

    I started work with the Youth Training Scheme (YTS) for a company building Process Control Systems (factory automation). The systems were written in assembly and a C-like language and used a real-time operating system for development.

    The runtime was a custom-built 6809-based OS burned onto UV-erasable EPROMs and deployment often meant swapping chips out. The master system was 68000-based and loaded from a 3.5-inch drive.

    The work ranged from low-level debugging serial ports with oscilloscopes through to physical hardware installation (cabling, wiring, and setting up valves and motors).

    I very much appreciate the people who hired me and put up with a moody teenager, and I'm still friends with some of them.

  • 201990s

    A brief stint in Manchester working on emergency shutdown systems for oil and gas platforms using the same systems as the YTS work (PL/9, Windrush Micro, 6809, 68000, real-time OS).

    Work was becoming harder to find in the real-time systems world, so I went on a training course for Visual Basic in London, and while taking that course, I was offered a job in Yeovil developing in Visual Basic.

    The work in Yeovil for Collingworth Consulting was for the development of Electronic Data Interchange (EDI) systems for Royal Mail (this was before the internet really took off).

    The move out of real-time systems worked well, and contracts at The Prudential in the City of London followed, after which I started my own web development agency building ASP-based (Active Server Pages) websites.

  • 302000s

    The web agency grew to around 15 people at one point, which was great fun but very stressful. Managing people and trying to bring in enough work to keep everyone paid were the major pain points.

    It was mostly websites and commerce platforms built in .NET for a few big clients such as The Prudential, Marks & Spencer and the UK Ministry of Defence.

    My wife and I sold our shares in that business to our partners and I moved on to working on WinForms business apps and web front ends as an employee. Contracting for others gives you freedom at the expense of job security. Being employed seems secure but people are often laid off without notice, whereas if you run the business, at least you can see it coming. I left permanent employment after a year and settled for the hybrid option of being employed by my own limited company working on software development with clients who are happy to give me repeat work.

  • 402007

    Since the financial crash of 2007 I've worked remotely for clients, modernising codebases and working on code security, printer drivers, systems architecture and releases. Some codebases were large but fairly recent (VB.NET, WebForms, WinForms) and they've been migrated through to the latest incarnation of .NET, C# and web frameworks.

  • 50Now

    I'm still working on multiple systems (online and offline retail, scientific, entertainment).

    My favourite project is the modernisation of a Charged Particle Optics simulation system originally written in Fortran. Before changing anything in the code, it was wrapped in a layer of protective unit and integration tests with automated pipelines to spot any deviations in results, timing or stability.

    Not only am I writing the code and running the business, but I'm getting into the physics which is very enjoyable.

My working setup

Remote but connected

I support all of my clients remotely and can respond very quickly. Clients often have their own IT teams who handle software deployments to computers they control. For others I've automated the submission, testing, review, deployment and hosting for them.

AI?

The software industry is now undergoing a major upheaval with AI being used extensively. I've not been able to avoid this as clients have specifically requested we work together with AI-enhanced coding tools. With my experience of software architecture and testing, I've been able to make sure we build safe and tested software while still delivering it at a much faster pace than usual.

In my own words

All editorial content (words, images and ideas) for this site was created by me. Where images are used, they're my own or from stock photography libraries. If I do need additional imagery, I'll commission local artists directly.

Although I use AI-enhanced coding tools, I don't want to read AI-generated content and I don't think a lot of people do either. We need new, original thought in order to progress.

The inspiration for this website

The design of this site is heavily influenced by my memories of my first computer, the Sinclair Spectrum. I wanted something quirky and a bit playful, and I have fond memories of my younger years playing video games.

The menu links are the rubber keys of the original Spectrum keyboard. The green text above and red text below are from the original keyboard, which required shifting the input modes to access. It was quite a pain to get used to typing on and I've never seen another system like it.

The flashing cursors are also based on original Sinclair Spectrum input cursors.

The summary lines work similarly to bullet points but here are shown as BASIC line numbers (BASIC was the language the Spectrum started in when you switched it on).

The green background (you won't be able to see this if you are on a mobile device) is based on the green of Mortimer Forest, where I live (in a house with my wife, not in the trees with the deer). Although I really enjoy technology, I do love nature and history too. I've tried to show that in the design too.

The 404 (not found) page mimics the tape load error on the Spectrum.

The website has been designed to be accessible. If you have the 'reduce motion' setting switched on then you won't see the flashing cursor in the menu or footer. The design also adapts to small screens and there is minimal JavaScript (the projects list degrades gracefully if JavaScript is switched off).