
About me
I'm a senior contract Java developer with 25 years' experience across complex enterprise platforms and greenfield builds.
I specialise in clean, maintainable code, pragmatic problem-solving, and raising engineering standards in agile teams.
With strong cloud and DevOps experience, I'm often trusted to take ownership of critical issues, reduce technical debt, and deliver when timelines matter.
Testimonials
Craig Barker
Co-founder at BlackCat Technology Solutions
"Ian worked for me on a very challenging large scale ETL project which needed flexible and pluggable methods to allow users to create batches of complex data cleansing activities configurable via a complex UI. The team comprised of 3 developers and a QA. He was instrumental in helping set a clear technical direction within the application, providing guidance and an unswerving drive towards clean, well factored code, making future extensions for further content sets trivial. Furthermore he's happy to interface directly with both product owner and external teams as needed and always arrives at a well considered and balanced solution. Always jovial and positive in his outlook he's a true asset to any development team and I'm more than happy to recommend him."
Craig Nicoll
Contract Developer
"It was a pleasure to work with Ian on the World-Check One project at Refinitiv (formerly Thomson Reuters, Financial & Risk). Ian is an excellent full-stack developer who can be trusted to complete complex technical tasks to the highest standard. He has a pleasant and agreeable personality which makes him very easy to work with and a popular team member. Ian constantly strives to improve his technical skills in his own time and has achieved two AWS certifications. Ian would be an excellent addition to any development team."
Jigar Zala
Java Consultant
"Ian and I have worked together at Refinitiv (formerly part of Thomson Reuters). Ian has thorough analytical and design skills. He is passionate about coding and is one of the best experience Java devs I have worked with. Great at learning new techs and implementing it. Always smiling, friendly and helpful, a great team player and colleague to work with."
Michael Talbutt
Delivery manager at Blackcat Solutions
"Ian and I worked in the same Scrum teams tasked implementing cloud migrations on legacy systems for a challenging client. Working with Ian was always a pleasure. As well as bringing to the table an excellent set of technical skills Ian displayed an ability to quickly pick up new technologies and apply them effectively. If Ian is working on something you can be sure that it is in a safe pair of hands and will be delivered in a timely manner and to the highest quality."
Pascal Harris
Technical Engineering Manager at Elsevier
"Ian worked with me on a project to build an innovative platform to aid chemistry research. He displayed a great ability to get a handle on difficult and new concepts, enabling us to deliver a software solution based on Java and Nifi. Always thorough in his work, Ian quickly became a key part of our team - and I wish him all the best for his future."
Simon Phillips
Chief Technical Officer at SThree
"I've worked with Ian over the last 2 to 3 years and he is an exceptional developer. He understands what we are trying to achieve and then works diligently and quickly to achieve it. He listens and provides well thought through feedback appropriately. I can take time to discuss ideas with Ian and work out the best way through any given challenge. He's been a great contributor to the program and business."
Craig Barker
Co-founder at BlackCat Technology Solutions
"Ian worked for me on a very challenging large scale ETL project which needed flexible and pluggable methods to allow users to create batches of complex data cleansing activities configurable via a complex UI. The team comprised of 3 developers and a QA. He was instrumental in helping set a clear technical direction within the application, providing guidance and an unswerving drive towards clean, well factored code, making future extensions for further content sets trivial. Furthermore he's happy to interface directly with both product owner and external teams as needed and always arrives at a well considered and balanced solution. Always jovial and positive in his outlook he's a true asset to any development team and I'm more than happy to recommend him."
Craig Nicoll
Contract Developer
"It was a pleasure to work with Ian on the World-Check One project at Refinitiv (formerly Thomson Reuters, Financial & Risk). Ian is an excellent full-stack developer who can be trusted to complete complex technical tasks to the highest standard. He has a pleasant and agreeable personality which makes him very easy to work with and a popular team member. Ian constantly strives to improve his technical skills in his own time and has achieved two AWS certifications. Ian would be an excellent addition to any development team."
Jigar Zala
Java Consultant
"Ian and I have worked together at Refinitiv (formerly part of Thomson Reuters). Ian has thorough analytical and design skills. He is passionate about coding and is one of the best experience Java devs I have worked with. Great at learning new techs and implementing it. Always smiling, friendly and helpful, a great team player and colleague to work with."
Michael Talbutt
Delivery manager at Blackcat Solutions
"Ian and I worked in the same Scrum teams tasked implementing cloud migrations on legacy systems for a challenging client. Working with Ian was always a pleasure. As well as bringing to the table an excellent set of technical skills Ian displayed an ability to quickly pick up new technologies and apply them effectively. If Ian is working on something you can be sure that it is in a safe pair of hands and will be delivered in a timely manner and to the highest quality."
Pascal Harris
Technical Engineering Manager at Elsevier
"Ian worked with me on a project to build an innovative platform to aid chemistry research. He displayed a great ability to get a handle on difficult and new concepts, enabling us to deliver a software solution based on Java and Nifi. Always thorough in his work, Ian quickly became a key part of our team - and I wish him all the best for his future."
Simon Phillips
Chief Technical Officer at SThree
"I've worked with Ian over the last 2 to 3 years and he is an exceptional developer. He understands what we are trying to achieve and then works diligently and quickly to achieve it. He listens and provides well thought through feedback appropriately. I can take time to discuss ideas with Ian and work out the best way through any given challenge. He's been a great contributor to the program and business."
Craig Barker
Co-founder at BlackCat Technology Solutions
"Ian worked for me on a very challenging large scale ETL project which needed flexible and pluggable methods to allow users to create batches of complex data cleansing activities configurable via a complex UI. The team comprised of 3 developers and a QA. He was instrumental in helping set a clear technical direction within the application, providing guidance and an unswerving drive towards clean, well factored code, making future extensions for further content sets trivial. Furthermore he's happy to interface directly with both product owner and external teams as needed and always arrives at a well considered and balanced solution. Always jovial and positive in his outlook he's a true asset to any development team and I'm more than happy to recommend him."
Craig Nicoll
Contract Developer
"It was a pleasure to work with Ian on the World-Check One project at Refinitiv (formerly Thomson Reuters, Financial & Risk). Ian is an excellent full-stack developer who can be trusted to complete complex technical tasks to the highest standard. He has a pleasant and agreeable personality which makes him very easy to work with and a popular team member. Ian constantly strives to improve his technical skills in his own time and has achieved two AWS certifications. Ian would be an excellent addition to any development team."
Jigar Zala
Java Consultant
"Ian and I have worked together at Refinitiv (formerly part of Thomson Reuters). Ian has thorough analytical and design skills. He is passionate about coding and is one of the best experience Java devs I have worked with. Great at learning new techs and implementing it. Always smiling, friendly and helpful, a great team player and colleague to work with."
Michael Talbutt
Delivery manager at Blackcat Solutions
"Ian and I worked in the same Scrum teams tasked implementing cloud migrations on legacy systems for a challenging client. Working with Ian was always a pleasure. As well as bringing to the table an excellent set of technical skills Ian displayed an ability to quickly pick up new technologies and apply them effectively. If Ian is working on something you can be sure that it is in a safe pair of hands and will be delivered in a timely manner and to the highest quality."
Pascal Harris
Technical Engineering Manager at Elsevier
"Ian worked with me on a project to build an innovative platform to aid chemistry research. He displayed a great ability to get a handle on difficult and new concepts, enabling us to deliver a software solution based on Java and Nifi. Always thorough in his work, Ian quickly became a key part of our team - and I wish him all the best for his future."
Simon Phillips
Chief Technical Officer at SThree
"I've worked with Ian over the last 2 to 3 years and he is an exceptional developer. He understands what we are trying to achieve and then works diligently and quickly to achieve it. He listens and provides well thought through feedback appropriately. I can take time to discuss ideas with Ian and work out the best way through any given challenge. He's been a great contributor to the program and business."
Craig Barker
Co-founder at BlackCat Technology Solutions
"Ian worked for me on a very challenging large scale ETL project which needed flexible and pluggable methods to allow users to create batches of complex data cleansing activities configurable via a complex UI. The team comprised of 3 developers and a QA. He was instrumental in helping set a clear technical direction within the application, providing guidance and an unswerving drive towards clean, well factored code, making future extensions for further content sets trivial. Furthermore he's happy to interface directly with both product owner and external teams as needed and always arrives at a well considered and balanced solution. Always jovial and positive in his outlook he's a true asset to any development team and I'm more than happy to recommend him."
Craig Nicoll
Contract Developer
"It was a pleasure to work with Ian on the World-Check One project at Refinitiv (formerly Thomson Reuters, Financial & Risk). Ian is an excellent full-stack developer who can be trusted to complete complex technical tasks to the highest standard. He has a pleasant and agreeable personality which makes him very easy to work with and a popular team member. Ian constantly strives to improve his technical skills in his own time and has achieved two AWS certifications. Ian would be an excellent addition to any development team."
Jigar Zala
Java Consultant
"Ian and I have worked together at Refinitiv (formerly part of Thomson Reuters). Ian has thorough analytical and design skills. He is passionate about coding and is one of the best experience Java devs I have worked with. Great at learning new techs and implementing it. Always smiling, friendly and helpful, a great team player and colleague to work with."
Michael Talbutt
Delivery manager at Blackcat Solutions
"Ian and I worked in the same Scrum teams tasked implementing cloud migrations on legacy systems for a challenging client. Working with Ian was always a pleasure. As well as bringing to the table an excellent set of technical skills Ian displayed an ability to quickly pick up new technologies and apply them effectively. If Ian is working on something you can be sure that it is in a safe pair of hands and will be delivered in a timely manner and to the highest quality."
Pascal Harris
Technical Engineering Manager at Elsevier
"Ian worked with me on a project to build an innovative platform to aid chemistry research. He displayed a great ability to get a handle on difficult and new concepts, enabling us to deliver a software solution based on Java and Nifi. Always thorough in his work, Ian quickly became a key part of our team - and I wish him all the best for his future."
Simon Phillips
Chief Technical Officer at SThree
"I've worked with Ian over the last 2 to 3 years and he is an exceptional developer. He understands what we are trying to achieve and then works diligently and quickly to achieve it. He listens and provides well thought through feedback appropriately. I can take time to discuss ideas with Ian and work out the best way through any given challenge. He's been a great contributor to the program and business."
Services
Expert Java development services to help your team deliver high-quality software solutions.
Build robust, scalable Java applications using Spring Boot, microservices architecture, and modern design patterns.
Design and implement RESTful APIs, integrate third-party services, and build event-driven systems.
Migrate applications to AWS, design serverless solutions, and implement cloud-native architectures.
Improve code quality, reduce technical debt, and enhance maintainability through systematic refactoring.
Provide technical guidance, mentor development teams, and establish best practices and engineering standards.
Set up automated build/deployment pipelines, containerisation with Docker/Kubernetes and infrastructure-as-code.
Skills
Projects

Latest Blog Posts

25 April 2019
In this post, I explain what I did to resolve the 'Template format error: Parameter count 62 is greater than max allowed 60' error from CloudFormation after updating an existing CF template with new parameters.

23 April 2019
Are you getting an unexplained AccessDenied error when calling the GetObject operation when trying to copy a file from an S3 bucket on an EC2 instance even though the assigned role has the s3:GetObject permission? It could be that your bucket/file is encrypted with AWS-KMS.

9 December 2017
In this post, I will demonstrate how to install Jenkins into a Kubernetes cluster in AWS and go on to explain how to configure a build pipeline for Java applications such that the built application can be automatically deployed to the Kubernetes cluster.
