Do these next words excite you?
- Helping streamline and evolve access to reliable, clean energy to those in need around the world, as well as other renewable distributed energy infrastructure projects from the comfort of your desk.
- Being a key player in a small but dynamic, diverse, fun and growing organization with employees in 10 countries including the USA, Nigeria, Germany, Rwanda, Kenya, Zimbabwe and India.
- Overseeing, improving and helping implement the next evolution of Odyssey’s cloud- based infrastructure.
- Involvement in a wide range of technologies including cluster management of distributed cloud services, cross-service messaging, automated pipelines, timeseries/NoSQL databases, and big data analytics.
If your heart started beating a little faster then read on…
Who we are
More than a billion people in the world do not have access to electricity. Odyssey Energy Solutions is a Boulder, Colorado-based purpose-driven software company tackling this global challenge with a big goal: to rapidly expand access to energy around the world by streamlining and reducing the costs of developing and financing solar microgrids and other clean distributed energy systems. Since its establishment in 2017, Odyssey has become an integral part of the energy access finance ecosystem. Odyssey’s big data investment and asset management platform is catalyzing the deployment of hundreds of millions of dollars into the mini-grid and solar home system sectors across Africa. Odyssey is well-funded, has significant market traction, a renowned product, and a highly collaborative, motivated team that has fun working hard together. Odyssey was also awarded the international Keeling Curve Prize for our work reducing greenhouse gas emissions.
What we are looking for
OES is actively searching for an experienced DevOps Engineer to take our cloud-based infrastructure to the next level through optimization, automation, maintenance, and scaling. Our platforms use a combination of Google Cloud Platform (GCP) and Amazon Web Services (AWS) including running Docker containers managed by Kubernetes (GKE) using messaging services to communicate cross-service and storing data in PostgreSQL, InfluxDB, and Elasticsearch. Services are updated using automated build pipelines across developer, QA, Demo, and Production environments. We will be expanding our services and data storage as we grow as well as optimizing what is currently working. This role will oversee all of that with help from our software engineers where needed.
Expected Experience and Skills;
- At least 2 years building up and maintaining cloud-based infrastructures, especially GCP and/or AWS.
- Proficient on the Linux command line using tools such as bash, SSH, vim, screen, etc.
- Ability to use python for scripting repetitive tasks.
- A strong affinity for using source code control to store digital assets (i.e. github & bitbucket)
- Domain and DNS record management.
- SSL certificate management.
- Automating the deployment of services and configuration updates.
- Configuring the auto-scaling of services both horizontally and vertically based on services’ performance metrics.
- Optimizing existing cloud-based services running in production environments.
- A self-starter approach to creating clean, understandable documentation that others can follow.
- Ability to touch type at a minimum of 40 words per minute.
Desired skills, or a strong desire to learn:
- Configuring and managing notifications for infrastructure warnings and errors, ideally within a GCP/GKE environment.
- Securing sensitive configuration information used by cloud services such as API tokens, service passwords, etc.
- Ensuring a secure infrastructure such as implementing security audits, implementing password/user policies, etc.
- Improving the logging that GCP displays within GKE/Docker containers.
- Configuring and advising on performance metrics analysis tools such as Elastic APM.
- Optimization of database infrastructure, especially PostgreSQL, InfluxDB, and Elasticsearch within cloud environments, with a strong focus on creating a bullet proof backup policy.
- Optimization of automated build pipelines including the running of automated tests.
- Working with a team that takes an agile approach to development.
- Proficient English in a business environment
- Excellent communicator including in a virtual workplace
- Well-organized and punctual
- Team player: Progressing the team’s plan while assisting others across our organization and stepping up when needed
- Highly motivated and comfortable to work independently for large portions of time
- Location: Remotely within an American/European/African time zone, to overlap with coworkers in the US/Europe/Africa.
- Once adequately trained, provide occasional off-hours assistance to our production support team. This requirement currently rotates every week amongst our developers; this role will be part of that rotation.
Please send your one-page resume to [email protected].