Phillip Edwards, Developer in Marseillan, France
Phillip is available for hire
Hire Phillip

Phillip Edwards

Verified Expert  in Engineering

Technical Writing Developer

Location
Marseillan, France
Toptal Member Since
October 10, 2018

Phillip has many years of experience in all aspects of the software development lifecycle, with particular expertise in problem-solving, coaching, training, and DevOps and Agile philosophies. He advocates Agile, test-driven development, the DevOps culture, and has coached several developers and testers to adopt DevOps methodologies. Phillip has been developing applications using Google Firebase and lifting and shifting applications from AWS and Heroku to GCP.

Portfolio

Reward Gateway, Limited
Linux, System Administration, Docker, Cloud, Amazon, Elasticsearch, RabbitMQ...
BCG
OAuth 2, Okta, Auth0, Identity & Access Management (IAM)...
Okta
NGINX, Elasticsearch, Tornado, Okta, Go, Python 3, Terraform, JavaScript, Swift...

Experience

Availability

Full-time

Preferred Environment

Go, Python 3, Google Cloud Platform (GCP), Kubernetes, Docker, Java, MacOS, Linux, Bash, GitHub

The most amazing...

...thing I've done was to write software in Java and Go which uses NASA data to predict astronomical events, including sunrise and sunset times.

Work Experience

DevOps Engineer

2022 - 2023
Reward Gateway, Limited
  • Deployed existing PHP applications in Docker containers.
  • Set up and configured CentOS virtual machines using SSH.
  • Deployed applications in Docker Swarm using Docker secrets routed through an NGINX proxy.
  • Implemented global logging using Logstash, OpenSearch, and Kibana.
  • Implemented application and infrastructure monitoring using New Relic.
Technologies: Linux, System Administration, Docker, Cloud, Amazon, Elasticsearch, RabbitMQ, MySQL, PHP, Networking, Bash, SSH, DevSecOps, Containers, Infrastructure, SecOps, Documentation, Continuous Delivery (CD)

Okta | IAM Expert

2021 - 2022
BCG
  • Wrote training materials on the use of Okta authentication and IAM.
  • Developed a proof of concept (POC) for using a command-line interface to create Okta resources.
  • Created software for timing and recording OAuth 2.0 login times.
  • Wrote tools in Python 3 to automate the creation of Okta applications using the Okta API. This greatly improved teams' productivity and reduced their dependence on support teams.
  • Implemented secrets management in Python for HashiCorp Vault, 1Password, and Google Secrets Manager.
Technologies: OAuth 2, Okta, Auth0, Identity & Access Management (IAM), Information Technology, APIs, Security, DevSecOps, Confluence, Writing & Editing, Python 3, SOC 2, Amazon Elastic Container Service (Amazon ECS), HashiCorp, Cloud Security, Bash, Shell Scripting, Jira, Cloudflare, Amazon S3 (AWS S3), Unit Testing, Network Security, Keycloak, Containers, SecOps

Technical Writer

2020 - 2022
Okta
  • Developed an application and wrote an article on the Python Tornado framework with authentication.
  • Built an application and wrote an article on Go and Gin, securing it with authentication.
  • Constructed Elasticsearch applications in Python and Go and wrote articles on them.
  • Created and implemented serverless containers on GCP, Azure, and AWS and wrote an article comparing the clouds.
  • Implemented HCL to deploy applications using Terraform and wrote an article on the implementation.
Technologies: NGINX, Elasticsearch, Tornado, Okta, Go, Python 3, Terraform, JavaScript, Swift, Swift 5, GitHub, Service-oriented Architecture (SOA), REST APIs, Cloud Platforms, Cloud Architecture, Shell, Cloud, Scripting, SQL, Apache2, Google Cloud, Technical Writing, Information Technology, Technical Documentation, APIs, Technical Writer, SSH, Git, Writing & Editing, Helm, Infrastructure as Code (IaC), Azure, Cloud Security, Bash, Shell Scripting, AWS Lambda, Amazon EKS, NoSQL, TypeScript, Container Orchestration, Serverless Architecture, Cryptography, Encryption, Network Security, Amazon, DevSecOps, SecOps, Documentation

DevOps Engineer

2021 - 2021
Aragon
  • Separated production from test environments by creating a separate GCP project and a Kubernetes cluster.
  • Simplified existing Kubernetes deployment using Helm charts.
  • Assisted developers in deploying their applications in a GCP Kubernetes cluster.
Technologies: Google Cloud Platform (GCP), Kubernetes, GitHub, Google Kubernetes Engine (GKE), Cloud Platforms, Google Cloud SQL, Cloud Architecture, Shell, Cloud, Scripting, SQL, Google Cloud, System Administration, Identity & Access Management (IAM), Information Technology, Networking, SSH, Cloud Computing, Networks, Git, High-availability Systems, Containerization, Helm, Consulting, Cloud Security, Bash, Shell Scripting, Container Orchestration, DevOps Engineer, Agile DevOps, Network Security, Virtualization, Continuous Delivery (CD)

Senior Site Reliability Engineer (SRE)

2020 - 2020
ClickFunnels
  • Ported four Heroku and AWS cloud applications to the Google Cloud Platform.
  • Assisted three teams of developers in porting their applications to GCP.
  • Created Docker builds to containerize the legacy application.
  • Deployed applications in GKE using Helm and CircleCI.
  • Created Kubernetes clusters in GCP/GKE and configured IAM permissions.
  • Configured Kubernetes ingresses with static IP addresses and created DNS entries. Also configured load balancers to handle HTTPS traffic.
Technologies: NGINX, Linux, Architecture, Google Kubernetes Engine (GKE), Site Reliability Engineering (SRE), Kubernetes, Docker, Google Cloud Platform (GCP), DevOps, Continuous Integration (CI), TCP/IP, GitHub, Cloud Platforms, CircleCI, Google Cloud SQL, Cloud Architecture, Shell, Cloud, Scripting, SQL, Google Cloud, Identity & Access Management (IAM), Information Technology, Networking, SSH, Security, DevSecOps, Cloud Computing, Firewalls, Linux Administration, Networks, Git, Systemd, High-availability Systems, Containerization, Helm, Infrastructure as Code (IaC), Continuous Deployment, Cloud Security, Bash, Microservices, Shell Scripting, Cloudflare, Amazon EKS, Amazon EC2, Amazon RDS, NoSQL, Amazon Web Services (AWS), Container Orchestration, DevOps Engineer, Web Security, Network Security, PostgreSQL, Virtualization, Traefik, Containers, Infrastructure, Continuous Delivery (CD)

Solutions Architect

2018 - 2019
Dito
  • Developed SDLC workshops to migrate development teams to Agile and Scrum.
  • Created a workshop on serverless mobile development using Google Firebase.
  • Enhanced a REST application using Go and Go templates.
  • Built a REST back end using Python and Flask to access Google APIs.
  • Designed REST APIs using Open API specifications to access Google APIs.
  • Produced webinars promoting Firebase and Kubernetes solutions on Google Cloud Platform (GCP).
  • Developed and supported applications running on GCP.
Technologies: Google Cloud Platform (GCP), Firebase, Kubernetes, REST, Go, Python, Java, Cloud Platforms, Cloud Architecture, Shell, Cloud, Scripting, SQL, Test-driven Development (TDD), Google Cloud, Identity & Access Management (IAM), Technical Writing, Information Technology, Technical Documentation, Writing & Editing, Source Code Review, GitLab CI/CD, Consulting, Mentorship, Training, Bash, XP, Shell Scripting, NoSQL, Container Orchestration, Serverless Architecture, Unit Testing, Agile DevOps, Web Security, Google Cloud Functions, Firebase Cloud Functions, Documentation

DevOps Coach

2017 - 2018
BNP Paribas Fortis
  • Convinced teams to adopt new technologies and DevOps practices.
  • Ran test-driven development (TDD) kata sessions in Java.
  • Assisted teams in creating Jenkins pipelines to build, test, and deploy their code into the cloud.
  • Led contract-first workshops to design REST APIs and build stub services.
  • Held workshops on how to safely refactor legacy Java code.
  • Performed as an engineering and operations guild lead, managing technical coaches.
Technologies: Java 8, DevOps, Linux, Docker, Jenkins, Spring Boot, Apache Maven, Eclipse, Java, Continuous Integration (CI), TCP/IP, Service-oriented Architecture (SOA), REST APIs, Eclipse IDE, Shell, Cloud, Scripting, Continuous Delivery (CD), SQL, Test-driven Development (TDD), Apache2, System Administration, CI/CD Pipelines, Information Technology, Docker Compose, Writing & Editing, Technical Hiring, Source Code Review, Interviewing, Task Analysis, Systemd, SOC 2, SonarQube, Mentorship, Continuous Deployment, Training, Bash, Shell Scripting, Jira, DevOps Engineer, Unit Testing, Agile DevOps, Web Security, Network Security

Senior Java Developer

2017 - 2017
Egencia
  • Designed a cloud-based replacement for a legacy system.
  • Implemented back-end system components in Java and deployed them to the cloud.
  • Performed peer code reviews for the development team.
  • Deployed system components into the AWS cloud using Jenkins and Marathon.
  • Coached colleagues on microservice implementations.
Technologies: Amazon Web Services (AWS), Java 8, Agile, Mesos, Marathon, Docker, RabbitMQ, Spring Boot, Apache Maven, Java, Eclipse IDE, Shell, Cloud, Scripting, SQL, Test-driven Development (TDD), CI/CD Pipelines, Information Technology, Technical Hiring, Source Code Review, Containerization, SonarQube, Continuous Deployment, Bash, Microservices, Shell Scripting, Jira, Amazon EC2, Amazon RDS, Container Orchestration, Unit Testing, Network Security, Containers

Trainer | Coach

2015 - 2017
Self-employed
  • Developed and delivered training programs on a range of subjects, including Java and Python, to several companies.
  • Created a Kubernetes course for Airbus, which enabled them to migrate an imaging application from a data center to the Google Cloud Platform (GCP) within a few months.
  • Delivered a number of workshops on Apache Camel.
  • Created workshops on how to use test-driven development (TDD) effectively.
  • Developed and presented a DevOps course.
Technologies: Python, Docker, Kubernetes, Java, TCP/IP, JavaScript, Swift, Service-oriented Architecture (SOA), Android, Eclipse IDE, Shell, Cloud, Scripting, Continuous Delivery (CD), SQL, Apache, Test-driven Development (TDD), Apache2, Technical Writing, Information Technology, Technical Documentation, APIs, Technical Hiring, Source Code Review, Interviewing, Task Analysis, SonarQube, Mentorship, Ansible, Training, Bash, PHP 7, Shell Scripting, PHP, MySQL, Oracle 11g, iOS, Jira, Cryptography, Encryption, C, Unit Testing, Virtualization, Puppet, Gradle

Technical Subject Matter Expert | Trainer

2011 - 2015
Royal Bank of Scotland
  • Worked with subject matter experts to design a training program to make new developers desk-ready.
  • Wrote and reviewed the course modules defined by subject matter experts.
  • Built the course software for in-course workshops in Java and SQL.
  • Coached the course pilot in India to a group of software developers.
  • Taught or co-taught all of the courses that were held in both London and India.
Technologies: Linux, Oracle, C#, Java, Continuous Integration (CI), TCP/IP, Eclipse IDE, Shell, Cloud, Scripting, SQL, Apache, Test-driven Development (TDD), Apache2, System Administration, Technical Writing, CI/CD Pipelines, Information Technology, Confluence, Technical Hiring, Source Code Review, SonarQube, Mentorship, Training, Bash, Spring, Shell Scripting, Oracle 11g, Jira, Unit Testing, Web Security, Virtualization

Senior Developer

2009 - 2010
Kantar Media
  • Ported the key TV viewing figures application from AIX to Linux.
  • Replaced legacy Cobol components with PL/SQL stored procedures.
  • Improved the overnight batch processing performance and reduced the processing time from four hours to one hour.
  • Improved the unit test coverage of legacy code that had no documentation.
  • Implemented a web services application in Java and Apache CXF.
Technologies: PL/SQL, Bash Script, Oracle, Java, C++, Eclipse IDE, Shell, Cloud, Scripting, SQL, Test-driven Development (TDD), System Administration, Bash, Shell Scripting, MySQL, Jira, C, Unit Testing

Taking Firebase Serverless

https://www.toptal.com/google/firebase-serverless-mobile-and-web-apps
Firebase is a suite of over 20 components that greatly simplify the creation of mobile and web applications. It is fully integrated with the Google Cloud Platform (GCP). I developed a workshop highlighting the use of Firebase for front-end developers. As part of the process, I was in direct contact with the Firebase team at Google. The focus is to allow developers to develop end-to-end applications without needing a back-end server. All back-end components are deployed directly into the Google Cloud using Cloud Functions and Cloud Run.

Pandoc and Docker Publication Chain

https://www.toptal.com/docker/pandoc-docker-publication-chain
Moving into a new computer is a time consuming and often frustrating process. The software needs to be installed, and data needs to be moved. Having purchased a new Mac Mini, I didn't want to go through this process, so I made some decisions.
First of all, data files; I purchased a NAS, which has RAID backup, and most of the files are also in the cloud in Github. Simply NFS mounting the NBAS drives means that multiple machines can access them, and there is no need to copy files other than to the NAS.

Installing and updating software is always tricky. This is particularly true if there are dependencies. A solution to this is to run the software in Docker images. I decided to use this approach. The complex Docker run command can be wrapped in an alias, a function, or a script.

Another issue is documentation. Documents are often required in multiple formats, including HTML, PDF, and proprietary. The other issue is that documents are ideally in a text format for versioning. There is an ideal solution. Markdown is a commonly used document format. The Pandoc software can easily convert markdown to other formats, eliminating the need to have multiple copies of the same document.

Astronomical Predictions and Simulations

https://dr-phill-edwards.eu/
I wanted to predict the times of astronomical events, so I have an ongoing Java project to build a suite of programs to predict events and model the solar system. There are sections on my website which show some of the calculations and results.

Most of the current literature is based on unexplained approximations. Still, I found the NASA JPL Ephemerides Data, which allows the accurate calculation of the positions of the sun, moon, and planets between the years 1550 and 2550.

The application is currently being rewritten in Go.

Languages

Java, C++, Bash Script, Python, Go, Java 8, SQL, Python 3, PHP, Bash, C, Swift 5, JavaScript 6, Swift, JavaScript, PHP 7, TypeScript, C#, UML 2

Frameworks

Spring Boot, Spring, Marathon, OAuth 2

Libraries/APIs

REST APIs

Tools

Apache, Google Kubernetes Engine (GKE), Shell, Jenkins, Apache Maven, GitHub, Terraform, Eclipse IDE, Docker Compose, Git, SonarQube, Helm, HashiCorp, Jira, NGINX, RabbitMQ, CircleCI, Confluence, Systemd, GitLab CI/CD, Ansible, Amazon EKS, Puppet, Keycloak, Mesos, Auth0, CAD, Amazon Elastic Container Service (Amazon ECS), Traefik, Gradle

Paradigms

Continuous Integration (CI), Continuous Delivery (CD), Microservices, Agile, REST, Service-oriented Architecture (SOA), DevOps, Test-driven Development (TDD), DevSecOps, Serverless Architecture, Unit Testing, Continuous Deployment, XP

Platforms

Apache2, MacOS, Eclipse, Firebase, Kubernetes, Docker, Linux, Google Cloud Platform (GCP), Amazon Web Services (AWS), Android, iOS, Oracle, Azure, AWS Lambda, Amazon EC2, Amazon

Storage

PL/SQL, Google Cloud, Google Cloud SQL, MySQL, Oracle 11g, NoSQL, PostgreSQL, Elasticsearch, Amazon S3 (AWS S3)

Industry Expertise

Network Security

Other

Cloud, Cloud Architecture, Site Reliability Engineering (SRE), Scripting, Architecture, Okta, Cloud Platforms, Mathematics, TCP/IP, Shell Scripting, Identity & Access Management (IAM), System Administration, Technical Writing, CI/CD Pipelines, Science, Information Technology, Technical Documentation, APIs, Training, Technical Writer, Networking, SSH, Security, Firewalls, Linux Administration, Networks, Writing & Editing, Technical Hiring, Source Code Review, Task Analysis, Containerization, Consulting, Mentorship, Infrastructure as Code (IaC), Container Orchestration, Cryptography, Encryption, DevOps Engineer, Agile DevOps, Web Security, Google Cloud Functions, Firebase Cloud Functions, Virtualization, Containers, Infrastructure, Documentation, Cloud Computing, Interviewing, High-availability Systems, SOC 2, Cloud Security, Cloudflare, SecOps, Tornado, Computer-aided Manufacturing (CAM), English, Amazon RDS

1984 - 1987

PhD in Computer Aided Design and Manufacture

University of Nottingham - Nottingham, United Kingdom

1976 - 1979

Bachelor of Science Degree in Mathematics

University of Manchester - Manchester, United Kingdom

JULY 2014 - PRESENT

TEFL Certification

TEFL Scotland

NOVEMBER 2008 - PRESENT

UML Professional Fundamental

OMG | Object Management Group