Analytics Fire builds custom software for the solar power industry. We’re looking for a collaborative but hands-on Release Manager to help us scale our execution to support additional new high-tech sectors.
Analytics Fire is a deeply technical engineering organization. Most of us are software engineers and spend the majority of our time on heads down engineering activities like coding. Our goal in creating this position is to expand our small client-facing team with a unique person that has both the personality and the technical skillset to help guide software releases through planning, development, deployment, release, and DevOps processes.
This position is similar to that of a technical Program Manager, but you will be much more involved in the technical details and hurdles around software deployments and releases than a traditional Project Manager would be. Our ideal candidate is a current or former Software Engineer, DevOps Engineer, or Site Reliability Engineer that is willing to be trained in formal Program Management processes (or has already been trained in formal Program Management processes).
As a small company, Analytics Fire is able to tailor roles around the strengths of our individual team members. We will tailor this role to your specific technical background. However, it is a hard requirement that you are able to support the following 3 types of responsibilities:
- (a) Represent Analytics Fire software engineering teams in client-facing interactions (clarifying requirements, negotiating technical approaches, reporting on status, etc).
- (b) Technical writing responsibilities such as documenting requirements, project plans, system architecture, etc.
- (c) Making meaningful contributions to the execution of complex software projects.
For reference, here is a list of some technologies we are currently actively using on a day-to-day basis:
- JavaScript: React / Angular / Typescript / GraphQL
- Back-end: Ruby / Python / Node
- Embedded (IoT): C, Embedded Linux, MQTT
- Embedded (robotics): C/C++, ROS
- Modern software techniques: RESTful APIs, SOA, PaaS, etc
- Agile collaboration and DevOps tools: Github, Trello, Slack, Chef, Ansible, Docker, Vagrant, etc
- Other technologies we are currently building with: AWS, GCP, TensorFlow, OpenCV, Yocto, Salesforce platform, iOS, ARKit
Description of responsibilities:
- Develop and maintain well-coordinated relationships with key internal and client-side stakeholders to help drive decision making around production software releases and DevOps.
- Participate in collaborative planning discussions and technical decision making early in the project lifecycle to ensure that key decisions are made with reliability, testability, and DevOps in mind.
- Monitor and oversee coordination, integration, flow of development, testing, and deployment around multiple parallel projects and threads of engineering execution.
- Drive planning and delivery of high quality software releases:
- Manage change control process during releases
- Continuously improve company release processes
- Proactively identify and mitigate risks and remove obstacles to releases
Personally plan and participate in software release activities. Advise and support the team so that they can take on less critical releases on a day-to-day basis.
Continually integrate the QA team and testing engineers into both the requirements gathering and software development processes and report status to clients on a very frequent basis.
This is a remote position but is only open to candidates living in the US or Canada. (Note: we may be open to US or Canadian citizens living abroad in US-overlapping time zones on a case by case basis.) We’re flexible about location and hours. We’re a really great match for candidate who wants to work hard on interesting projects, while also having flexibility around time and geography.
Skills & Requirements
“Must have” requirements:
- Soft skills necessary to develop and maintain well-coordinated relationships with key internal and client-side stakeholders to help drive decision making around production software releases and DevOps.
- 3+ years hands experience as a full stack Software Engineer, DevOps Engineer, or Site Reliability Engineer, ideally within a commercial startup environment.
- Familiarity with current modern best practices around software development, data engineering, and DevOps
- Ability and willingness to familiarize yourself with the specific technical stacks that we use.
- Superior organization and detail orientation.
- Excellent written and verbal communication skills.
- Willingness to design, document, and evangelize new engineering processes to meet evolving organizational requirements.
“Nice to have” requirements:
- Hands-on technical experience writing code in Ruby, Python, or JavaScript
- Previous experience as a technical Program Manager.