Cloud DevOps Engineer (GCP)
The application period will close on March 21st. Please note that if we receive a high volume of qualified applicants, the posting may close sooner, so we encourage candidates to submit their applications as soon as possible.
About the Company
Global Fishing Watch is an international, nonprofit organization committed to advancing ocean governance through increased transparency of human activity at sea. By creating and publicly sharing map visualizations, data and analysis tools, we aim to enable scientific research and transform the way our ocean is managed.
Founded in 2015 through a collaboration between Oceana, SkyTruth and Google, Global Fishing Watch became an independent nonprofit organization in June 2017. Our major focus is on commercial fishing because it is the most widespread human activity at sea, the most impactful on ocean health, and the most crucial for global livelihoods and food security. By 2030, we aim to monitor and visualize the impact of ocean-going vessels, both industrial and small-scale, that are responsible for the vast majority of the global seafood catch. We believe human activity at sea should be common knowledge in order to safeguard the global ocean commons for the common good of all.
The Position
Global Fishing Watch (GFW) started its journey almost 10 years ago with the release of the first global dataset of fishing based on public vessel tracking data. Since then, we have not only created tools for users to make that dataset actionable through an online platform and APIs, but we have continued to expand our data products. Google is a funding partner of GFW, and consequently, GFW uses the Google Cloud Platform (GCP) as our Cloud provider. We use a variety of GCP services, for both software engineering and data science.
We use Bigquery as our main database; Cloud Storage for storing raw data; Different Pub/Subs for our streaming pipelines; Dataflow to process our data; Composer for orchestrating processes; Cloud SQL for our application databases; Cloud Run to run our APIs and Front-End tools serverless; VertexAI to iterate models; Cloud Build for our CI/CD and so on.
From a team of 5 data researchers and software engineers, we have expanded to an organization of ~150 with dedicated teams, including Research, Engineering, Data, and Product. The data we store and publish, the products we serve, the people having access to the cloud projects, and the cloud projects themself have grown. Within the engineering team we currently have members who are managing the various tasks between API/Backend development and Cloud Dev Ops. As our projects continue to grow, we need more support to ensure security and operational safety of our data. The Cloud DevOps and Software Engineer will play a key role in making our engineering team and research team more efficient and our GCP projects more secure.
We are looking for a person with cloud DevOps experience. The person will require well-developed analytical and troubleshooting skills, an eagerness to continuously learn about new services in the cloud and how to apply them to make GFW more cost-effective and robust, a problem-solving mindset, and a great team player.
Principal Duties and Responsibilities Include:
Cloud-Dev-Ops
- Make sure all cloud project budgets are below the limit.
- Fix security vulnerabilities directly or coordinate with different resource owners. Vulnerabilities include outdated VM OSs and outdated libraries in generated images.
- Continuous clean-up of cloud project resources such as GCP Bigquery datasets, GCP Compute Engine VMs, disks, GCP Cloud Storage, and other services that may be in use.
- Ensure both the research and engineering teams follow Cloud best practices, such as adding labels to all created resources, cleaning up data/virtual machines/etc during and after projects end, keeping VMs off if they are not being used, and using correct networks instead of public IPs.
- Jointly with the CTO and Cloud Security Engineer, keep the Cloud best practices up to date and help distribute updates to those using the cloud.
- Jointly with the Senior DevOps engineer improve current GCS infrastructure and manage tools that are used by the team.
- Work jointly with the Data Team to make sure public resources have the corresponding documentation.
- Create and make sure monitors to review Cloud Compute costs and performance are setup, meaningful, and assigned to the corresponding owners.
- Create and configure resources for the different users using Terraform.
- Bring ideas of how to improve and make the entire cloud setup more efficient.
Cloud-Dev-Ops Communication
- Create dashboards to help the different cloud project owners easily understand compute costs, including high-level summary cost dashboards.
- Create dashboards with metrics we want to track, such as the number of incidents reported and fixed, and the number of vulnerabilities per month.
- Send brief information about the Cloud status to the team using the Cloud on a periodic basis to the CTO.
Ad-hoc Support to Research and Engineering
- The CloudDev Ops will also have software engineering tasks and may provide support to both the Research and Engineering teams when some ad-hoc scripting is needed, such as downloading static datasets needed for research.
Job Requirements
Required Experience
- Bachelor’s degree in Computer Science, Engineering, or related field (or equivalent professional experience)
- Significant software development/programming experience as a DevOps Engineer or similar software engineering role.
- Experience working in agile software development teams
- Experience working with Docker
- Experience creating and managing infrastructure with Terraform
- Experience working with Cloud technologies, specifically GCP (Google Cloud Platform)
- Experience in designing and/or developing infrastructure, configuration, and deployment automation at large scale/high complexity
- Practical experience with virtualization, storage, and networking
- Expertise in script languages (Shell, Python)
- Python or Unix scripting experience
- Experience in software release management: Git, CI/CD
Required Skills/Competencies
- Fluent English speaker;
- Good judgment and the ability to make and justify recommendations
- Excellent written and oral communication skills in English to effectively collaborate with designers, developers, product managers, and other relevant staff members or clients, and communicate complex technical and scientific information to non-technical audiences
- Team player, willing to work with, teach and learn from the GFW team
- Comfortable working in a small but fast-growing organization, with changing instructions and requirements
- Intellectually curious, forward-thinking, willing to suggest/try new technologies and creative approaches to problems
- Excellent organizational and time management skills, and the ability to handle multiple projects
- Disciplined and methodical
- A problem-solving mindset and excellent troubleshooting skills
- Demonstrated ability to work remotely and asynchronously
Preferred Skills/Experience
- Experience creating Looker dashboards
- Database administration and SQL experience
- Experience deploying applications with monorepo architecture
- Go, JavaScript and R experience
- NestJS framework experience
- PostGIS, GDAL, and other GIS tools
- Experience working with Google Earth Engine
- Fluent Spanish speaker
The successful candidate will meet most, but not necessarily all, of the criteria above. If you don’t think you check all the boxes but believe you have unique skills that make you a great fit for the role, we want to hear from you!
------
Additional Information
The application period will close on March 21st. Please note that if we receive a high volume of qualified applicants, the posting may close sooner, so we encourage candidates to submit their applications as soon as possible.
Reporting to: Senior DevOps Engineer
Please note: Visa sponsorship is not supported at this time.
Location: This is a remote role, but candidates must be legally authorized and based in the following countries to be considered: Canada, United States, Argentina, Chile; Colombia, Costa Rica, Panama, Germany, Ireland, Italy, United Kingdom, Kenya
Employment Type: Fixed Term
Duration: This role is funded through December 2027 and has the potential to extend depending on funding.
Full Time hours: Yes
Recruiting process: Recruiting Process: A cover letter along with a CV will be requested to see how your experience and interest connect to the position. We expect the cover letter to allow applicants an opportunity to explain details on how their skill set aligns with the role and provide a better understanding of their suitability for the position. If selected for consideration, the hiring process for this position will include an initial call with our Talent Acquisition team, followed by a formal 45 minute interview with 1-3 team members. Candidates advancing beyond this round will be asked to take a technical assessment and/or submit a representative code sample. Lastly, a final interview with 2-4 teams members to review your assessment and assess functional skills.
Compensation: A compensation range for this position is US$ 90-110k per year for US-based employees and GBP 55,000-65,000 per year for UK based candidates - For applicants located outside of the US and UK, the pay range will be adjusted to the country of hire. Compensation is commensurate with experience and will vary depending on the hired candidate’s country of residence, in accordance with local laws and regulations. GFW offers pension/retirement, health and other benefits commensurate with similar level GFW employees in the country of employment. The position may be a GFW employee, an employee of our Employer of Record Partner, or a contractor depending on the country of residence.
Equal opportunities: Global Fishing Watch is an equal opportunities employer. Global Fishing Watch is committed to promoting diversity and inclusion within our organization and in the greater ocean management and conservation community. We believe that diverse backgrounds, skills, knowledge and viewpoints make us a stronger organization. Bringing together professionals who possess broad experiences and a spectrum of perspectives will enable us to reach our goal of improved ocean governance faster. We hire and promote qualified professionals without regard to actual or perceived race, color, religion or belief, sex, sexual orientation, gender identity, marital or parental status, national origin, age, physical or mental disability or medical condition, or any other characteristic protected by applicable law. Our organizational goals match the urgent challenges facing our global ocean, and our mission is designed to help secure a healthy ocean for all. We are committed to building a workforce that is representative of humanity’s diversity, by providing an inclusive and welcoming environment for all employees of Global Fishing Watch and for our partners, vendors, suppliers and contractors.
#LI-Remote
Apply for this job
*
indicates a required field