Phillip Edwards, Shell Scripting Developer in Marseillan, France
Phillip Edwards

Shell Scripting Developer in Marseillan, France

Member since September 3, 2018
Along with having worked as a university lecturer and an IT trainer, Phillip has several years of experience in all aspects of the software development lifecycle with particular expertise in Java. He's also an advocate of agile, test-driven development, and DevOps culture and has coached several developers and testers wanting to adopt DevOps methodologies. More recently, Phillip has been developing applications using Google Firebase and lifting and shifting applications from AWS/Heroku to GCP.
Phillip is now available for hire

Portfolio

  • Aragon
    Google Cloud Platform (GCP), Kubernetes, GitHub...
  • Okta
    Nginx, Elasticsearch, Tornado, Okta, Go, Python 3, Terraform, JavaScript...
  • ClickFunnels
    Nginx, Linux, Architecture, Google Kubernetes Engine (GKE)...

Experience

Location

Marseillan, France

Availability

Part-time

Preferred Environment

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

The most amazing...

...thing I've done was to write a Java program which uses NASA data to accurately predict astronomical events.

Employment

  • DevOps Engineer

    2021 - PRESENT
    Aragon
    • Separated production from test environments by creating a separate GCP project and Kubernetes cluster.
    • Simplified existing Kubernetes deployment using Helm charts.
    • Assisted developers to deploy their application 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)
  • Technical Writer with Python and Go

    2020 - PRESENT
    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.
    Technologies: Nginx, Elasticsearch, Tornado, Okta, Go, Python 3, Terraform, JavaScript, Swift, Swift 5, GitHub, Service-oriented Architecture (SOA), SOA, REST APIs, Cloud Platforms, Cloud Architecture, Shell, Cloud, Scripting, SQL, Apache2, Google Cloud
  • Senior Site Reliability Engineer (SRE)

    2020 - 2020
    ClickFunnels
    • Ported four applications from the Heroku/AWS cloud to the Google Cloud Platform.
    • Assisted three teams of developers to port their applications to GCP.
    • Created Docker builds to containerize 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)
  • 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 GCP.
    • Developed and supported applications running on Google Cloud Platform (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)
  • 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.
    • Ran contract-first workshops to design REST APIs and build stub services.
    • Held workshops on how to safely refactor legacy Java code.
    Technologies: Java 8, DevOps, Linux, Docker, Jenkins, Spring Boot, Maven, Eclipse, Java, Continuous Integration (CI), TCP/IP, Service-oriented Architecture (SOA), SOA, REST APIs, Eclipse IDE, Shell, Cloud, Scripting, Continuous Delivery (CD), SQL, Test-driven Development (TDD), Apache2, System Administration
  • Senior Java Developer

    2017 - 2017
    Egencia
    • Designed a cloud-based replacement for a legacy system.
    • Implemented system components in Java.
    • Performed peer code reviews.
    • 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, AWS, Docker, RabbitMQ, Spring Boot, Maven, Java, Eclipse IDE, Shell, Cloud, Scripting, SQL, Test-driven Development (TDD)
  • Trainer and Coach

    2015 - 2017
    Self-employed
    • Developed and delivered training programs on a range of subjects including Java and Python to a number of companies.
    • Developed 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.
    • Delivered 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, SOA, Android, Eclipse IDE, Shell, Cloud, Scripting, Continuous Delivery (CD), SQL, Apache, Test-driven Development (TDD), Apache2
  • Technical Subject Matter Expert and 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 course modules.
    • Built the course software for in-course workshops.
    • Taught the course pilot in India.
    • Taught or co-taught all of the courses that were held in 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
  • Senior Developer

    2009 - 2010
    Kantar Media
    • Ported the key 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.
    • Implemented web services in Java and Apache CXF.
    Technologies: PL/SQL, Bash Scripting, Oracle, Java, C++, Eclipse IDE, Shell, Cloud, Scripting, SQL, Test-driven Development (TDD), System Administration

Experience

  • Taking Firebase Serverless (Development)
    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 the need for a backend server. All backend components are deployed directly into the Google Cloud using Cloud Functions and Cloud Run.

  • Create a Publication Chain with Pandoc and Docker (Development)
    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 had 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 formats. 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 (Development)
    http://www.totaleclipse.eu/Almanac/#/

    I wanted to be able 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 is an almanac section on my website which shows some of the calculations and results.

    Most of the current literature is based on unexplained approximations, but I found the NASA data which allow the accurate calculation of the positions of the sun, moon, and planets between the years 1550 and 2550.

  • Create a Publication Chain with Pandoc and Docker (Publication)
    Pandoc is a software package capable of converting documents into various formats, and since it’s available as a Docker image, it’s easy to run. In this article, Toptal Site Reliability Engineer (SRE) Phillip Edwards demonstrates how you can easily create a robust publication chain using Pandoc, Docker, and a pinch of Markdown.
  • Taking Firebase Serverless – Mobile and Web Applications Made Easy (Publication)
    Mobile and web applications typically need a back-end server, which requires maintenance, updates, backups, and more. So why not dispense with them? In this article, Toptal Java Developer Phillip Edwards outlines how you can use Google Firebase to develop serverless applications without incurring a lot of costs.

Skills

  • Languages

    Java, C++, Python, Java 8, SQL, Python 3, Go, Swift 5, JavaScript 6, Swift, JavaScript, PHP 7, C#
  • Frameworks

    Spring Boot, Spring, Marathon
  • Libraries/APIs

    REST APIs
  • Tools

    Apache, Google Kubernetes Engine (GKE), Shell, Jenkins, Maven, GitHub, Eclipse IDE, Nginx, RabbitMQ, CircleCI, Terraform, Mesos
  • Paradigms

    Continuous Integration (CI), Microservices, Agile, REST, SOA, Service-oriented Architecture (SOA), DevOps, Test-driven Development (TDD), Continuous Deployment, Continuous Delivery (CD), XP
  • Platforms

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

    PL/SQL, Google Cloud, Google Cloud SQL, MySQL, Oracle 11g, Elasticsearch
  • Other

    Cloud, Cloud Architecture, Site Reliability Engineering (SRE), Bash Scripting, Scripting, Architecture, Okta, Cloud Platforms, Mathematics, TCP/IP, Shell Scripting, Identity & Access Management (IAM), System Administration, AWS, Tornado, Computer Aided Design and Manufacture

Education

  • Ph.D. Degree in Computer Aided Design and Manufacture
    1984 - 1987
    University of Nottingham - Nottingham, United Kingdom
  • Bachelor of Science Degree in Mathematics
    1976 - 1979
    University of Manchester - Manchester, United Kingdom

Certifications

  • TEFL Certification
    JULY 2014 - PRESENT
    TEFL Scotland
  • UML Professional Fundamental
    NOVEMBER 2008 - PRESENT
    OMG | Object Management Group

To view more profiles

Join Toptal
Share it with others