Who am I

Ciaran Robertson
Software Developer

For over a decade I've been creating software with a passion for solving problems and a drive to overcome challenges. I've delivered projects for clients small and large combined with teams ranging from just myself and a junior to entire departments.

I've created micro-services; monoliths and most things in between. Believing strongly in choosing the right architecture at the right time to be the main difference in success.

During this time I've deployed across the full spectrum of options; all cloud environments using Azure and AWS; hybrid-clouds and on-premise; all the way down to a single VPS.


“Ciaran has an amazing ability to pick up both product knowledge and architectural understanding quickly, and then apply his practical experiences to deliver effective solutions.”
Ellis Smith, Lead Software Developer at Augustus Martin Ltd

What do I know

C#, JS, F#, SQL, React, Azure, DevOps

My break into development came from teaching myself C# and Asp.Net WebForms from the big yellow Apress book in 2010. Since then I have continued to expand my skills not just from adapting new technology into my work but by embracing other disciplines including graphic design, user experience, database architecture and even teaching.

Keeping on top of best-practice has forced me to adapt to radical new ideas. Having to learn server-side generation with Classic ASP in my very first role then quickly following on with dynamic HTML via WebForms and ASP MVC. I continued to teach myself as I learned React JS (the old one) and the concept of Single Page Applications.

When I'm not on-contract I've explored areas outside of commercial development including creating a TIS-100 emulator; a Gopher server and client; and multiplayer game development (ask for a demo!).

Where have I worked

Youth Justice Team, Medway Council
Lead Developer, 6 month contract, extended - 2022 JS, React, C#, SQL, Azure

I was chosen to lead the development of a new social network platform to help young offenders re-integrate into society successfully.

Joining Medway's small team of two people I spearheaded the creation of a new platform using modern software development practices. My goal was not only to deliver on the project but also to help up-skill the existing team. I laid out the architecture for two React client sites and a C#/WebAPI server backed by a MS-SQL database. This required teaching how to develop with React alongside modern JavaScript practices.

I pushed for the use of Azure DevOps Pipelines to successfully introduce Continuous Integration and Delivery; the existing projects were hand deployed by copying files to production!

As lead developer I also reported the progress of the project to external stakeholders and presented, along with the team, demos to showcase various milestones. I worked closely with both digital designers and product managers to ensure all required functionality was present.

Code Review Consultant
Independent developer, 1 month contract - 2021 C#, Angular, SQL

I was brought in to provide an expert opinion on a recently completed out-sourced project. My task was to validate the architecture and implementation for security; resiliency and correctness.

Reporting to the Head of Development I constructed a review document that detailed both positives and negatives about the project, extending out to the development practice used and resulting deployment routines.

RiskFirst (Moody's Analytics)
Senior Developer, 6 month contract - 2021 C#, OAuth, Micro-Services, SQL, Azure, Hybrid-Cloud

I joined a new team within the department that was tasked with providing new authentication and control services.

As part of a larger move towards breaking their existing CQRS based Monolith into micro-services I helped create an authentication service. This service provided OAuth capability to issue new JWTs; transfer external tokens to internal ones and validate data and method access for other services.

As part of the work I integrated it into their existing Octodeploy pipeline to create both the server to deployed and a NuGet package for clients to call it.

Compositional IT
F# Developer, 2 month contract - 2021 F#, SAFE, SQL, Azure

Joining a small team within Compositional to migrate an existing desktop F# tool to the web I helped create a SAFE based site. The entire application was written in F# which required me to quickly improve my skills to contribute effectively.

I began teaching myself F# during the summer of 2020 and being able to produce high enough quality code to satisfy the highly regarded Compositional IT and Isaac was extremely rewarding. Since then I have continued to work with F# and champion it as the future of development.

Augustus Martin
Senior Developer, 3 month contract, multiple extensions - 2019 C#, MVC, React, SQL, Azure

Being brought on to help in-house a new project that had been developed externally I set up an Agile workflow including daily standups and code reviews for the new team. The incoming codebase was in poor condition, with no clear architecture, containing a number of bugs and performance issues and hindering the development of new features.

I led the refactoring to the more appropriate Onion Architecture during which I identified areas areas most in need of development. This change significantly improved project velocity due to the reduction in complexity while ensuring the safe refactoring of business critical logic.

Dazed Media
Interim Lead Developer - 2018 JS, C#, MVC, SQL

Taking over the lead role with a single day handover I launched a new micro-site for Dazed on a platform that did not yet support it. I worked closely with front-end developers and freelance 3d graphics artists to integrate their content. This required learning the design and architecture of the CMS quickly to extend it and involved setting expectations of the internal customers who had not been stakeholders in the development.

The project was launched on time and without any issues despite the short timeline and constraints.

Gaydar (CPC Connect)
Senior Developer - 2016 JS, C#, SQL, AWS, Stripe, Apple Pay

I joined a small new team at Gaydar tasked with migrating their legacy system based around matching users through checkboxes to a geolocated distance based design. Performance issues with the database required it to be re-architected by just two developers including myself. I worked closely with the designers to customize a Vue.JS chat platform based on Rocket Chat that provided real-time chat interactions for all users on the platform.

Other projects involved creating an OAuth Server and Client allowing internal systems to authorize our users transparently and provide login with Facebook for both web and iOS/Android apps.

Antycip Simulation
Systems Engineer - 2012 Systems ToolKit (STK), Exata & Qualnet, C#, Java, JS

Joining Antycip I was tasked with learning their systems modelling platform STK; I achieved this by completing AGI’s master level certificate in 3 months instead of the expected 6. My role kept me in direct contact with potential and existing customers and required quickly understanding their requirements and demonstrating how STK could solve them. I lead training classes of up to 30 people at a time teaching them how to use STK across a wide range of industries.

ttMobiles
Developer - 2011 C#, JS, SQL

I worked in a small team of 3 developers to support and maintain a large enterprise phone bill management platform. Learning from my Lead Developer I gained valuable knowledge of the development life cycle. I helped to improve relations between the development team and the internal support teams by listening to their issues with the back end tools and addressing them.

xit2
Developer - 2010 Classic ASP, VB6

As a new developer with no formal training I was given the opportunity to join and pick up a new language at the same time. Working alongside the Head of Security gave me a solid foundation that I continued to build in subsequent roles.

What's my Education

Aerospace Engineering, University of Liverpool
B.Eng 2009

Reading engineering was a great challenge that expanded my worldview considerably. I was introduced to programming through MATLAB and C++ which I found so rewarding that it determined my choice in career.