Kevin Cross

Last updated: 2018-09-16

Profile

I am an Engineer with 20 years software development and automation experience with exposure to the full development life-cycle including requirements gathering, specification, design, development, automated testing, continuous integration, deployment and production support.

I now specialise in following DevOps practices to help development teams deliver high quality systems through the use of fully automated build, analysis, environment management and application deployment.

I am diligent and delivery focused with experience of working alone and in large multi-site teams.

I have a wide range of technical skills and I am always keen to learn more.

My experience in a variety of roles has taught me the importance of effective communication and mutual understanding to a productive and enjoyable working environment.

Main Technical Skills

The skills I have the most current experience with are at the beginning of each list.

Cloud

AWS

Infrastructure automation

Terraform, Packer, Chef, Vagrant, Berkshelf

Container technologies

Docker, Docker Compose, OpenShift, Kubernetes

Build Tools

Gradle, Jenkins Job DSL, Jenkins Pipeline, Maven, Rake, Grunt, Xcodebuild, Make, Ant

Services

Jenkins, Nexus, Sonar, Rundeck, Gitlab

Languages

Groovy, Bash/Shell, Python, Ruby, Java, Go, JavaScript, SQL, Perl, C

Source control

Git, Subversion

Servers

Tomcat, WebSphere

Operating systems

CentOS/RHEL (5, 6 & 7), Ubuntu (Since 6.06), Solaris

Employment History

Cloudreach, January 2017 - Present, Edinburgh, Scotland

DevOps team lead working in an Agile framework and responsible for engineering work, mentoring and guidance of engineers, work organisation and contributing to organisational culture.

Engagements

  • Lead Engineer on a 10 engineer engagement with a large insurance company working to implement their cloud delivery platform on AWS.

NCR, July 2012 - January 2017, Edinburgh, Scotland

Lead build and automation specialist at NCR Edinburgh responsible for leading the build and IT team, providing for the needs of development teams and managing work in an agile environment using Kanban.

Projects

  • Automating Linux system build and deployment using Gradle, Docker, Docker Compose, OpenShift, Chef, Vagrant, Packer, Berkshelf, Test Kitchen and Ganeti

  • Automating application deployment of web apps and supporting services onto Linux hosts

  • Continuous Delivery environment maintenance and improvement

  • Troubleshooting and advising on builds using various build systems

  • Training and supporting colleagues in Linux and build tool usage

  • Spreading knowledge of system automation tools and techniques to other teams in the organisation

Achievements

  • Implemented systems integration deployment environments using Gradle, Docker and OpenShift resulting in the more robust, simplified environments with better resource utilisation and the ability to test more environment and version combinations

  • Introduced and applied the Jenkins Job DSL Plugin to move build configuration from being manually maintained within the Jenkins UI to code in source control resulting in easier management of basic CI jobs, no divergence of job configuration and the ability to easily create CI jobs for support and feature branches

  • Configured Continuous Delivery pipelines and visualisation in Jenkins

  • Added use of Docker to our set of tools used for building applications, packaging applications and running internal services

  • Introduced infrastructure automation with Chef to create and maintain Jenkins build nodes resulting in more consistent build environments with less time investigating 'snowflake server' issues, easier deployment of new tools across all build nodes and the ability to easily create additional build nodes at the push of a button

  • Created Gradle and Rake plug-ins to automate release processes resulting in less developer time spent on repetitive and error prone tasks

  • Used Chef to automate build and deployments of integration test environments resulting more consistent environments documented in code

  • Created custom wall-boards to give better visibility of various aspects of build status

  • Introduced OWASP Known Vulnerability plug-in builds to discover known security issues in project dependencies

  • Created a Maven plug-in to use in our builds to alleviate problems related to a long standing Maven defect

  • Advocated a move to Git and migrated a number of projects from Subversion

  • Introduced services such as HashiCorp Consul and Prometheus monitoring to our build and development environments resulting in higher degrees of automation and system visibility

JP Morgan - Investment Bank, September 2007 - July 2012, Glasgow, Scotland

Software Engineer also involved in tertiary support, build support, code quality and release & configuration management as part of a global team.

Projects

  • Automated acceptance and system integration test framework using Java, Groovy and Concordion

  • User management web application in Groovy/Grails

  • Distributed deployment and management information tool using Groovy and Groovlets on Linux (RHEL)

  • Risk management application development in Java on Linux

Achievements

  • Improved automated testing framework by adding functionality and reporting capabilities resulting in an expanded set of tests, greater visibility of tests and results and easier defect identification

  • Created a distributed environment information and control tool making it possible to scale up to over 100 deployed environments over a number of servers in different domains

  • Improved and deployed a user management web application freeing the development team from user maintenance tasks

  • Improved release train tooling reducing development overhead

  • Key developer for an application responsible for features, deployments and tertiary support

  • Restructured the Domain Model of a key application resulting in improved application performance and increased developer productivity

Detica, March 2006 - September 2007, London, England

Employed as a Consultant working in both business and technical areas. I worked alongside other Detica consultants and client employees.

Projects

  • Requirements gathering, design and development of a large, J2EE web application for delivery to HM Revenue & Customs over several phases

Achievements

  • Produced the Logical and Physical design for a unified Audit gathering and reporting component as part of the set of deliverable documents

  • Conducted interviews and workshops with key stakeholders to produce business definition and requirements documents as part of the deliverable documents

  • Automated application build and deployment of the application into a Solaris environment to enable continuous integration and testing resulting in an improvement in the quality of software delivered to the test team

  • Built and managed a complete application environment (multiple web applications on WebLogic, an Oracle database, an Exchange server and a SunOne Directory Manager) for training and customer demonstrations

  • Implemented a number of application features

FDM, August 2003 - March 2006, London, England

Trained in Java SE, Java EE and Oracle. Then worked as an external consultant for FDM from January 2004 to March 2006.

Consultancies:

Jane’s Information Group, January 2004 - January 2005

Initial one month contract for a short term project and then retained for one year working on a number of different projects.

Projects

  • Design, development and testing of a new Java web application

  • Large scale XML migration between two XML definitions using XSLT, Perl and libxml2

  • Custom XML and HTML to RTF conversion using Perl and libxml2

  • Evaluating and reporting on use of a third party product (NetOwl Extractor) and database integration to enrich existing data

Achievements

  • Introduced new development tools to the development team (CVS, IDE) resulting in a more stable development environment for a newly expanded team

  • Helped design and implement a web application to provided new search functionality to the customer

  • Improved data quality by adding reporting functionality to data conversion processes

Detica, February 2005 - September 2007

Started at Detica as an FDM consultant and became a full time Detica employee.

Travelling and seeking employment, March 2002 - August 2003

Before returning to the UK I did some further travelling. Upon returning to the UK I did some casual work while seeking a position that allowed me to develop my skills in my preferred direction.

Mayne Group, July 2001 - March 2002, Melbourne, Australia

A contract to maintain and support a number of different logistics management applications developed in C, Bash and Perl scripts in a Solaris environment.

Projects

  • Defect resolution, new feature development, tertiary support, installation and testing of an old and complex legacy system written in C

Achievements

  • Took responsibility for a web application resulting in additional functionality and documentation for previously undocumented design and features

  • Developed a centralised electronic invoice with email delivery for a major customer resulting in a happy customer and an ongoing relationship with our sales team

Travelling and voluntary work, November 2000 - July 2001

I travelled round Australia and worked for 2 months as an environmental conservation volunteer.

Nortel Networks, September 1997 - October 2000, Maidenhead, England

Software Engineer member of a team that implemented a Fixed Wireless Access system.

Projects

  • A UNIX (HPUX) based Client/Server Network Management System, developed using C, shell scripts and Tcl/Tk with some third party applications

  • An EPOC16 based hand-held installation tool developed in C on the Psion Workabout hand-held

  • Two VRTX based base-station modules (real-time embedded software) developed in C and C++

Achievements

  • Migrated the development of a system component between sites and took over as the System Component Prime without interruption to the program

  • Executed production upgrades on customer sites in Poland and Mexico resulting in uninterrupted operations

  • Designed, implemented and tested a new base station software module resulting in the software being ready for release within the ambitious time frame of the larger project

  • Created and documented the ISO9000 quality process for a system component contributing towards the department keeping its ISO accreditation at the next inspection

Various Employment, September 1994 - September 1997

Before embarking on my M.Sc. I worked in a number of jobs including as a sales assistant, bar tender, in construction and on a Highland estate.

Education

M.Sc. in Information Technology, 1997

Heriot-Watt University (Edinburgh, Scotland)

B.Sc. in Physics, 1994

University of Glasgow (Glasgow, Scotland)

Certification

  • AWS Certified Solutions Architect - Professional (Validation Number M0JMS8721BQQ1E5G)

  • AWS Certified Solutions Architect - Associate (Validation Number T7QWQ81CBEFQ1HCP)

  • Sun Certified Programmer for the Java 2 Platform, Sun Microsystems