$$$$
{{ $t($store.state.user.experience_value_in_dollars) }}
Expert
{{ $t($store.state.user.experience_search_name) }}
0
jobs
Software Consultant
Daniel Ball
,
Winchester, United Kingdom
Experience
Other titles
Skills
I'm offering
I am a practising software professional with over 18 years of experience and a company director for Westsmith Ltd (a software consultancy company). My main areas of expertise are software development with a focus on Python, AWS, CI/CD and automated test pipelines. This also includes broad experience across many different technologies as well as management and team leadership skills.
Before I started a consultancy business, I was a line manager for 11 staff and a full-time technical scrum master at Roke Manor Research. Whilst there, I also ran a weekly DevOps workshop to help spread knowledge about this growing important technical trend.
Before I started a consultancy business, I was a line manager for 11 staff and a full-time technical scrum master at Roke Manor Research. Whilst there, I also ran a weekly DevOps workshop to help spread knowledge about this growing important technical trend.
Markets
United States
(Remote
only)
Canada
(Remote
only)
United Kingdom
(Remote
only)
Lithuania
(Remote
only)
Denmark
(Remote
only)
Norway
(Remote
only)
Sweden
(Remote
only)
Finland
(Remote
only)
Links for more
Once you have created a company account and a job, you can access the profiles links.
Industries
Language
English
Fluently
Ready for
Larger project
Ongoing relation / part-time
Full time contractor
Available
My experience
2019 - ?
freelance
Contract Devops Engineer
IBM Global Business Service.
I split my time between multiple back-end projects that are mainly focused on processing
data. The work includes writing new features for a Spring Boot-based application, creating
new Python-based test frameworks, helping developers use AWS and developing new
monitoring solutions for existing systems using OpenShift.
Other work:
• Business analyst for a remote team writing a set of microservices in the Go
programming language to run on Kubernetes. I also did systems integration and wrote automated tests in Python for that project as well as advocacy demonstrations.
• Clean room requirements gathering, re-design, re-write and subsequent system
testing of an undocumented legacy feature. The existing system was Oracle based and was replaced with a new system written using a combination of Java, Spring
Boot, Kafka Streams, Qpid and Docker Swarm. Automated system tests were written
in Robot and Python.
• Major re-factor of a Robot and Python based system testing framework plus the addition of several new features for checking the output of external interfaces that
had previously not been tested. The target system was Java-based.
• Improvements to multiple monitoring tools based on disparate technologies. These
include Elastic Search, Prometheus, Thanos, Grafana, Kibana and Nagios.
• Worked on measuring and improving the performance of a Kubernetes based system
that was tested and developed on AWS. This system was configured using Helm
charts and Argo CD.
data. The work includes writing new features for a Spring Boot-based application, creating
new Python-based test frameworks, helping developers use AWS and developing new
monitoring solutions for existing systems using OpenShift.
Other work:
• Business analyst for a remote team writing a set of microservices in the Go
programming language to run on Kubernetes. I also did systems integration and wrote automated tests in Python for that project as well as advocacy demonstrations.
• Clean room requirements gathering, re-design, re-write and subsequent system
testing of an undocumented legacy feature. The existing system was Oracle based and was replaced with a new system written using a combination of Java, Spring
Boot, Kafka Streams, Qpid and Docker Swarm. Automated system tests were written
in Robot and Python.
• Major re-factor of a Robot and Python based system testing framework plus the addition of several new features for checking the output of external interfaces that
had previously not been tested. The target system was Java-based.
• Improvements to multiple monitoring tools based on disparate technologies. These
include Elastic Search, Prometheus, Thanos, Grafana, Kibana and Nagios.
• Worked on measuring and improving the performance of a Kubernetes based system
that was tested and developed on AWS. This system was configured using Helm
charts and Argo CD.
Test, Framework, Go, Processing, Search, Feature, Nagios, Kibana, Docker swarm, Testing, Monitoring, OpenShift, Analyst, Design, Kafka, Integration, Spring, Microservices, Kubernetes, DevOps, Oracle, AWS, Docker, Writing, Java, Python
2019 - ?
freelance
Software Consultant and Company Director
Westsmith Ltd.
I am in the process of building a brand and portfolio for my software consultancy firm,
Westsmith Ltd. This includes the company website, Github page and LinkedIn page. I have
started my portfolio of work with an open source API written in Python, Flask and
SQLAlchemy called loan-item-api. This is a focal point for generating blog posts and community engagement with Westsmith.
Westsmith Ltd. This includes the company website, Github page and LinkedIn page. I have
started my portfolio of work with an open source API written in Python, Flask and
SQLAlchemy called loan-item-api. This is a focal point for generating blog posts and community engagement with Westsmith.
Python, API, Linkedin, Github, Flask, Website, Open source, Blog, Community, Software
2013 - 2019
job
Senior Consultant Engineer, Line Manager, Capability Area Lead
Roke Manor Research.
I was a scrum master for a project which had a focus on automated testing, monitoring, log
file analysis and documenting of existing legacy applications. Once the test framework was in place, the legacy applications were re-factored to make them more maintainable and easier to deploy. We worked very closely with the client to deliver value early and often. The
technology stack is based on Python, Docker and Jenkins. The legacy applications were
written in a combination of Java and C++.
I was also involved in many other areas of Roke, such as line management, recruitment,
appraisals, company-wide initiatives and bidding for new work.
Other projects I have worked on:
• Python data converter - A microservices architecture written in Python that
processes unstructured data and converts it into JSON. TDD is practised throughout
and is applied to unit and component test.
• XSLT data converter - Scrum master for a project, which makes use of a wide
variety of technologies including Python, XSLT, C++ and JSON. The project consisted of multiple scrum teams, has many different stake holders, runs on a two week cycle
and makes good use of agile techniques such as continuous delivery. The project
went through many positive transformations including improving staff morale,
increasing software resiliency, doing continuous delivery, making better use of Scrum
and building better stakeholder relations.
• Spark DataFrames - Experiment for a customer in seeing how data gathered from multiple PC endpoints could be usefully processed by Apache Spark. Involved setting
up a Hadoop cluster and looking into big data analysis techniques. Implementation
was in Java.
• Java orchestration software - Management software written in Java that
orchestrates a network of devices. This project was largely about improving a legacy
codebase that utilised Telnet, a proprietary interface and SNMP.
• Network protocol reference - Developed the reference implementation of a network protocol standard. It is written in Python, runs on Linux and implements a
variety of popular internet protocols. It is used in the place of a real device for testing
purposes.
• Resolve/Locate - Developing and defect fixing for radio monitoring systems
(Resolve and Locate). Resolve is a large and complex product with many different
software layers. The user interface is largely based around C#/WPF/XAML and runs
on Windows desktop. The server component is written in modularised C++ 11 and
uses Boost and IPP libraries. There is also an Android client written largely in C#/Xamarin. I have been involved in all aspects of this product from development
through to on-site customer trials.
• Group comms - This was an exercise in implementing and extending the 3GPP
standard for group communications. This involved modification of an existing
command-line based peer-to-peer messaging client written in C++ for Windows. As
well as changing the peer-to-peer client so that it allowed group comms, I also ported the software to Linux and wrote a graphical user interface to replace the original
command-line interface.
file analysis and documenting of existing legacy applications. Once the test framework was in place, the legacy applications were re-factored to make them more maintainable and easier to deploy. We worked very closely with the client to deliver value early and often. The
technology stack is based on Python, Docker and Jenkins. The legacy applications were
written in a combination of Java and C++.
I was also involved in many other areas of Roke, such as line management, recruitment,
appraisals, company-wide initiatives and bidding for new work.
Other projects I have worked on:
• Python data converter - A microservices architecture written in Python that
processes unstructured data and converts it into JSON. TDD is practised throughout
and is applied to unit and component test.
• XSLT data converter - Scrum master for a project, which makes use of a wide
variety of technologies including Python, XSLT, C++ and JSON. The project consisted of multiple scrum teams, has many different stake holders, runs on a two week cycle
and makes good use of agile techniques such as continuous delivery. The project
went through many positive transformations including improving staff morale,
increasing software resiliency, doing continuous delivery, making better use of Scrum
and building better stakeholder relations.
• Spark DataFrames - Experiment for a customer in seeing how data gathered from multiple PC endpoints could be usefully processed by Apache Spark. Involved setting
up a Hadoop cluster and looking into big data analysis techniques. Implementation
was in Java.
• Java orchestration software - Management software written in Java that
orchestrates a network of devices. This project was largely about improving a legacy
codebase that utilised Telnet, a proprietary interface and SNMP.
• Network protocol reference - Developed the reference implementation of a network protocol standard. It is written in Python, runs on Linux and implements a
variety of popular internet protocols. It is used in the place of a real device for testing
purposes.
• Resolve/Locate - Developing and defect fixing for radio monitoring systems
(Resolve and Locate). Resolve is a large and complex product with many different
software layers. The user interface is largely based around C#/WPF/XAML and runs
on Windows desktop. The server component is written in modularised C++ 11 and
uses Boost and IPP libraries. There is also an Android client written largely in C#/Xamarin. I have been involved in all aspects of this product from development
through to on-site customer trials.
• Group comms - This was an exercise in implementing and extending the 3GPP
standard for group communications. This involved modification of an existing
command-line based peer-to-peer messaging client written in C++ for Windows. As
well as changing the peer-to-peer client so that it allowed group comms, I also ported the software to Linux and wrote a graphical user interface to replace the original
command-line interface.
Internet, TDD, Spark, XSLT, Network, It, Implementation, Apache spark, Graphical user interface, Monitoring, Testing, Development, Windows, XAML, Software, Server, Continuous delivery, PC, Framework, Snmp, Processes, Manager, UP, Ipp, C, Data Analysis, Java, Scrum, Linux, Docker, Android, JSON, Scrum master, Jenkins, Big Data, Agile, Python, Microservices, Xamarin, Hadoop, Management, Apache, Radio, Wpf, Architecture, Recruitment, Technology, Test
2008 - 2013
job
Software Engineer
IBM Storage Systems.
Developed software components for IBM enterprise storage products. These products sell in large volume and have a focus on high reliability and availability. The software is written in a
mixture of Java and C and runs on Linux.
Overview of activities:
• Developing and defect fixing for a real time storage system
• Taking the lead in re-factoring to improve software quality and maintainability
• Peer reviewing
• Writing unit tests
• Using and working with a server-based build system
• Collaborative design using MediaWiki and UML
• Pro-active requirements gathering
• Coaching other staff members on use of tools and code writing techniques
• Taking out-of-hours support calls for our international customer base
• Customer advocacy for the Sainsburys and a Japanese bank
• Writing and inventing a patentable idea for which I have a US filing
• Fixing defects and adding features to a Perl based web front-end
mixture of Java and C and runs on Linux.
Overview of activities:
• Developing and defect fixing for a real time storage system
• Taking the lead in re-factoring to improve software quality and maintainability
• Peer reviewing
• Writing unit tests
• Using and working with a server-based build system
• Collaborative design using MediaWiki and UML
• Pro-active requirements gathering
• Coaching other staff members on use of tools and code writing techniques
• Taking out-of-hours support calls for our international customer base
• Customer advocacy for the Sainsburys and a Japanese bank
• Writing and inventing a patentable idea for which I have a US filing
• Fixing defects and adding features to a Perl based web front-end
Design, Java, Writing, Coaching, Linux, C, Perl, UML, Support, Storage, International, Software, Web, Server, Enterprise
2007 - 2008
job
Software Engineer
BAE Systems.
Aerosystems International is a subsidiary of BAE systems that specialises in Software
Engineering for the defence and transport industry. I was mostly involved in developing
products in the domain of Tactical Data Links (TDL) and mission planning.
Overview of activities:
• Developing a Windows geographic mapping application that was written in C++ and Java (JNI, SWT)
• Maintaining a ported Motif-based tool that ran under Exceed on Windows
• Developing and testing software that communicated using Link 16, Link 11, UDP, DIS
and proprietary protocols
• Writing design documentation to comply with CMMI
• Requirements gathering using Telelogic DOORS
• Using the scrum project management technique
• Active involvement with the IET (Institute of Engineering and Technology)
Engineering for the defence and transport industry. I was mostly involved in developing
products in the domain of Tactical Data Links (TDL) and mission planning.
Overview of activities:
• Developing a Windows geographic mapping application that was written in C++ and Java (JNI, SWT)
• Maintaining a ported Motif-based tool that ran under Exceed on Windows
• Developing and testing software that communicated using Link 16, Link 11, UDP, DIS
and proprietary protocols
• Writing design documentation to comply with CMMI
• Requirements gathering using Telelogic DOORS
• Using the scrum project management technique
• Active involvement with the IET (Institute of Engineering and Technology)
Design, Java, Project Management, Writing, Scrum, C, Management, Technology, Windows, Engineering, Testing, International, Software
2004 - 2007
job
Implementation consultant
Risk Decisions Ltd.
Risk Decisions provides project risk management tools and consultancy to various industries.
Overview of activities:
• Developing a Java-based reporting framework using Jasper reports and JMI
• Maintaining a Windows desktop data viewing tool written in PowerBuilder
• Writing SQL queries and stored procedures targeting Oracle (PL/SQL) and Sybase
(Transact-SQL)
• Providing on-site customer support at the Defence Procurement Agency and BAE
Systems
• Gathering feedback and requirements from customers
• Managed the administration and customer support as the sole occupant of the Australian branch office for three months
• Maintaining the company website using static HTML and CSS
• Developing a documentation framework for producing PDF and HTML files from XML
using XSLT
• Administration of MySQL based tools
Overview of activities:
• Developing a Java-based reporting framework using Jasper reports and JMI
• Maintaining a Windows desktop data viewing tool written in PowerBuilder
• Writing SQL queries and stored procedures targeting Oracle (PL/SQL) and Sybase
(Transact-SQL)
• Providing on-site customer support at the Defence Procurement Agency and BAE
Systems
• Gathering feedback and requirements from customers
• Managed the administration and customer support as the sole occupant of the Australian branch office for three months
• Maintaining the company website using static HTML and CSS
• Developing a documentation framework for producing PDF and HTML files from XML
using XSLT
• Administration of MySQL based tools
Pl/sql, Framework, Office, Support, Sybase, Implementation, XSLT, PDF, Website, Windows, Stored procedures, Management, Html, Risk Management, Procurement, XML, Oracle, HTML/CSS/Javascript, Administration, Writing, Java, Sql, Mysql, Css
My education
2001
-
2004
University of Exeter
BSc, Computer Science
BSc, Computer Science
Daniel's reviews
Daniel has not received any reviews on Worksome.
Contact Daniel Ball
Worksome removes the expensive intermediaries and gives you direct contact with relevant talent.
Create a login and get the opportunity to write to Daniel directly in Worksome.
38100+ qualified freelancers
are ready to help you
Tell us what you need help with
and get specific bids from skilled talent in Denmark