Phillip Edwards
Verified Expert in Engineering
DevOps Engineer and Developer
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, and 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
Experience
- Technical Writing - 20 years
- Linux - 20 years
- Shell Scripting - 20 years
- Docker - 5 years
- DevOps - 5 years
- Architecture - 5 years
- Google Cloud Platform (GCP) - 3 years
- Kubernetes - 3 years
Availability
Preferred Environment
Go, Python 3, Google Cloud Platform (GCP), Kubernetes, Docker, Java, MacOS, Linux, Bash, GitHub
The most amazing...
...thing I've done was write software in Java and Go which uses NASA data to predict astronomical events, including sunrise and sunset times.
Work Experience
Technical Writer
FlexAI SAS
- Researched the capabilities of AI accelerator hardware for training AI models.
- Documented the client's platform and command line interface.
- Translated Go code into documentation for developers.
Senior DevOps Engineer
Freedom Group Inc.
- Created a staging environment in Rackspace with a MariaDB database server and an Apache/PHP web server.
- Migrated PHP code from using a MySQL driver to a PDO driver.
- Extracted secrets from PHP code into GCP secret manager.
AWS DevOps Engineer (via Toptal)
Extraterrestrial Tech LTD.
- Developed a templating tool to generate Python scripts to run open-source AI models.
- Built a CI pipeline to build Docker container images containing an open-source AI model with a web server front end.
- Architected virtual machine implementations of SHA256 hashing, Merkle proofs, and Groth16 elliptic curve proofs.
Network Engineer
Parabolic Surf LLC
- Investigated a proof of concept to buffer HTTPS requests and forward them in a burst to minimize delays in reception.
- Enabled Apache SSL logging and wrote a script to extract timings of the SSL handshake completion and subsequent data packet arrival times.
- Designed a filter to separate the TCP/TLS handshake packets from data packers in an iptables NetLink queue.
DevOps Engineer
Reward Gateway
- 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.
- Performed manual code reviews to facilitate the containerization of existing code.
Okta | IAM Expert
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.
Technical Writer
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.
DevOps Engineer
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.
Senior Site Reliability Engineer (SRE)
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.
Solutions Architect
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.
DevOps Coach
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.
Senior Java Developer
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.
Trainer | Coach
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.
Technical Subject Matter Expert | Trainer
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 held in London and India.
- Demonstrated the importance of manual code reviews, dynamic testing, and penetration testing.
Senior Developer
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.
Experience
Taking Firebase Serverless
https://www.toptal.com/google/firebase-serverless-mobile-and-web-appsPandoc and Docker Publication Chain
https://www.toptal.com/docker/pandoc-docker-publication-chainFirst, data files: I purchased a NAS, which has RAID backup, and most of the files are also in the cloud in Github. NFS mounting the NBAS drives allows multiple machines to 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 for multiple copies of the same document.
Astronomical Predictions and Simulations
https://dr-phill-edwards.eu/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.
Education
PhD in Computer Aided Design and Manufacture
University of Nottingham - Nottingham, United Kingdom
Bachelor of Science Degree in Mathematics
University of Manchester - Manchester, United Kingdom
Certifications
TEFL Certification
TEFL Scotland
UML Professional Fundamental
OMG | Object Management Group
Skills
Libraries/APIs
REST APIs, OpenSSL
Tools
Apache, Google Kubernetes Engine (GKE), Shell, Jenkins, Apache Maven, GitHub, Terraform, Eclipse IDE, Docker Compose, Git, SonarQube, Helm, Ansible, HashiCorp, Jira, VMware, Bitbucket, Docker Swarm, NGINX, RabbitMQ, CircleCI, Confluence, Systemd, GitLab CI/CD, Amazon EKS, Puppet, Keycloak, GitLab, Azure Kubernetes Service (AKS), Mesos, Auth0, CAD, Amazon Elastic Container Service (ECS), Traefik, Gradle, Asana, Postman
Languages
Java, C++, Bash Script, Python, Go, Java 8, SQL, Python 3, PHP, Bash, C, Perl, YAML, Swift 5, JavaScript 6, Swift, JavaScript, PHP 7, TypeScript, C#, UML 2
Frameworks
Spring Boot, Spring, Unity, Marathon, OAuth 2
Paradigms
Continuous Integration (CI), Continuous Delivery (CD), Microservices, Agile, REST, Service-oriented Architecture (SOA), DevOps, Test-driven Development (TDD), DevSecOps, Serverless Architecture, Unit Testing, Microservices Architecture, Continuous Deployment, XP, Penetration Testing, Automation
Platforms
Apache2, MacOS, Eclipse, Firebase, Kubernetes, Docker, Linux, Google Cloud Platform (GCP), CentOS, Unix, Red Hat Linux, LAMP, Amazon Web Services (AWS), Android, iOS, Oracle, Azure, AWS Lambda, Amazon EC2, Amazon, Cloud Gateway, Google App Engine, Blockchain
Storage
PL/SQL, Google Cloud, Databases, MySQL/MariaDB, JSON, Google Cloud SQL, MySQL, Oracle 11g, NoSQL, PostgreSQL, Elasticsearch, Amazon S3 (AWS S3), Redis Cache
Industry Expertise
Network Security, Cybersecurity
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, 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, Solution Architecture, API Gateways, IP Networks, Server Infrastructure, Unix Shell Scripting, Troubleshooting, Orchestration, Scripting Languages, Cloud Infrastructure, Software Development, NFS, IT Security, Serverless, Code Review, API Integration, Cloud Computing, Interviewing, High-availability Systems, SOC 2, Cloud Security, Cloudflare, SecOps, Business Continuity & Disaster Recovery (BCDR), High-availability Linux, Monitoring, GitHub Actions, Configuration Management, GitOps, Tornado, Computer-aided Manufacturing (CAM), English, Amazon RDS, Video Games, Artificial Intelligence (AI), Data Science, Machine Learning, Crypto
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring