Infrastructure Engineer (Automation Focus) at SparkMeter (Waltham, MA)
Desired Skills and Experience
- Automation & tool building. At SparkMeter, we believe in embracing automation, and our team takes every opportunity to reduce manual work or remove workarounds using tools like Fabric, Chef, and Docker. You’ll officially own automation for the Systems team, creating new tools and taking over the maintenance of existing tools that others across the organization will use every day. This includes:
Release engineering. You’ll work with Johan, our Software Engineer, and Duncan, our Infrastructure Engineer, to improve automation for our software release process.
Base station provisioning. Small Linux-based computers called base stations are at the core of our smart metering solution. You’ll improve automation for the now largely manual provisioning of these systems to help us get new base stations out the door as fast as possible for new grid projects.
QA systems support. You’ll make sure the infrastructure work you do is testable both in our emulator and in real deployments. You’ll also support Conrad, our QA Engineer, with the tools he needs to do end-to-end testing, and give Conrad confidence to approve the deployment of new versions of our software.
Services automation & integrations. You’ll help our many services – from in-house to SaaS – communicate more efficiently with each other. For example, you’ll help us improve and expand DNS automation for all of our devices so we have fewer things to keep track of by hand, and can respond to DNS outages more efficiently.
General infrastructure tool building. You’ll build and maintain the tools that help make it easy for us to efficiently manage a growing herd of servers and devices. For example, you’ll help Duncan, our maintenance and support focused Infrastructure Engineer, by writing scripts and tools to facilitate availability monitoring with tools like Monit. And, you’ll help keep our documentation promise that --help shall always return useful information – at least for scripts that are used regularly!
- Release engineering. You’ll work with Johan, our Software Engineer, and Duncan, our Infrastructure Engineer, to improve automation for our software release process.
- Base station provisioning. Small Linux-based computers called base stations are at the core of our smart metering solution. You’ll improve automation for the now largely manual provisioning of these systems to help us get new base stations out the door as fast as possible for new grid projects.
- QA systems support. You’ll make sure the infrastructure work you do is testable both in our emulator and in real deployments. You’ll also support Conrad, our QA Engineer, with the tools he needs to do end-to-end testing, and give Conrad confidence to approve the deployment of new versions of our software.
- Services automation & integrations. You’ll help our many services – from in-house to SaaS – communicate more efficiently with each other. For example, you’ll help us improve and expand DNS automation for all of our devices so we have fewer things to keep track of by hand, and can respond to DNS outages more efficiently.
- General infrastructure tool building. You’ll build and maintain the tools that help make it easy for us to efficiently manage a growing herd of servers and devices. For example, you’ll help Duncan, our maintenance and support focused Infrastructure Engineer, by writing scripts and tools to facilitate availability monitoring with tools like Monit. And, you’ll help keep our documentation promise that
--helpshall always return useful information – at least for scripts that are used regularly! - Cloud engineering. We maintain both physical and cloud infrastructure. With support from Duncan, our Infrastructure Engineer, you’ll be our resident AWS and Heroku expert. You’ll provide Tristan, our CTO, with guidance and recommendations as we expand the cloud services we rely on. You’ll help improve our configuration management for our cloud services, and guide our migration away from Heroku to other platforms that are more purpose-built for our needs.
- Previous experience in a similar role. This role is a good fit for someone who has already held a junior or mid-level role working with infrastructure in a production environment and is ready to take on additional responsibilities.
- Python development experience. You’ll use your past experience reading and writing Python command line utilities, Fabric scripts, and database services, and your strong understanding of client server architecture and REST APIs, every day in this role.
- Experience packaging and deploying complex Python web applications. You’ll use your past production experience with Python web app deployment to help us improve the systems we use to deploy, update, and rollback our web applications.
- Experience with Chef, and a preference for Infrastructure as Code (IaC) configuration management. Our belief in automation extends to configuration of physical and cloud resources. You should be comfortable creating and maintaining Chef cookbooks in Ruby.
- AWS (Amazon Web Services) automation experience. You’ll use your experience working with the AWS API to do things like syncing records between multiple DNS providers, and managing EC2 instances, ECS containers, and RDS databases.
- A solid understanding of Linux. You don’t have to have a professional background as a sysadmin, but you should be very familiar with Linux, very comfortable on the command line, and have extensive experience with shell scripting.
- A containerization platform like Docker. We’re currently deploying Docker containers. If you have experience Docker in production, that will help us expand our use of Docker in a sustainable and maintainable way.
- Heroku. You’ll use your background in Heroku to help us move services to more appropriate platforms where it makes sense, and use Heroku in the best way possible.
- Salesforce integrations. Salesforce is an integral part of many of our business processes. Your experience with Salesforce – and specifically integrating Salesforce with other services and tools – will give you a head start on the provisioning projects you’ll work on.
- Security. If our metering systems stop working, lights, water pumps, and refrigerators stop working in real people’s homes and offices. Your interest in security will help us both keep our systems up and running and make sure that we’re providing electricity to our customers – all while keeping their important, sensitive data safe.
- Energy access. If you have a background in utilities or energy access, it will inform your work, and help connect you to how our products are used.