hero

Companies you’ll love to work with

ATX Venture Partners
ATX Venture Partners
40
companies
134
Jobs

DevOps Engineer

Pensa Systems

Pensa Systems

Software Engineering
Austin, TX, USA
Posted on Monday, April 29, 2024

DevOps Engineer

About Pensa Systems

Pensa Systems is a fast growing, leading innovator in advanced AI and computer vision, focused on delivering transformative solutions for the multi-trillion-dollar global retail industry. Our mission is to revolutionize retail intelligence through cutting-edge technologies, including deep learning artificial intelligence, offered as both Data as a Service (DaaS) and Software as a Service (SaaS).

At Pensa Systems, we are committed to driving measurable market impact. Our product portfolio enables CPG companies, retailers, and industry partners to gain deep insights into shelf dynamics and take immediate, data-driven actions in any store setting.

We're a passionate team of innovators who value hard work, accountability, and a culture that embraces creativity. At Pensa, you'll have the opportunity to grow both personally and professionally while making a significant impact.

If you would like to learn more about us, please visit pensasystems.com

Job Description

Pensa builds highly scalable cloud-based services in support of our machine learning and data subscription business. We value collaboration, continuous testing, and iterative development models. Our software is multi-cloud capable and runs in several IaaS environments such as AWS and Azure. We use Terraform to automate our zero downtime deployment process. This role is responsible for the development and production runtime infrastructure to support Pensa’s microservice-based REST architecture. This is an SRE style role that covers both code changes to support new features and also monitoring and maintenance of our production environments.

Responsibilities

  • Deep architectural understanding of good SaaS deployment patterns, and the technical options available from the various IaaS providers such as AWS and Azure. This role is responsible for working with the full engineering team to clarify runtime infrastructure requirements.
  • Ensuring our production environment is secure and always available. This includes designing scalable runtime architecture, zero downtime deployments, and system monitoring/alerts.
  • Building and managing a runtime architecture that allows our products to scale horizontally in support of high transaction volumes and unlimited content storage.
  • Understanding performance and security considerations for the code we deploy.
  • Managing and monitoring our runtime infrastructure and performing routine maintenance tasks.
  • Building and maintaining a CI/CD environment using tools like CircleCI, AWS CodeBuild, Jenkins or similar.
  • Committing tested, documented, and reviewed code on a frequent basis, ideally daily. This includes collaborating with other team members to decompose large tasks into small, testable commits.
  • Actively supporting our continuous journey of applying good architecture and design patterns so that we can do our best work every day. Strong opinions are encouraged.

Requirements

  • 5 or more years of experience building and supporting SaaS based products, in IaaS environments such as AWS, Google Cloud, or Azure.
  • 5 or more years of collaborative development experience using shared source control systems, such as Git.
  • 4 or more years of recent experience building and working with containerized applications (i.e. Docker).
  • 4 or more years of developing CI/CD pipelines using tools like CircleCI, AWS CodeBuild, Jenkins or similar.
  • 2 or more years of recent experience with Terraform.
  • 2 or more years of recent DBA experience with PostgreSQL or other RDBMS.
  • 2 or more years of development experience with Python or other interpreted runtime language.
  • Strong Bash and Linux skills.
  • Direct experience deploying and monitoring RESTful services and the web applications that they support.
  • Bachelor's degree in a technical field.
  • Good communication skills, including the ability to discuss technical issues with users of varying technical understanding.
  • The willingness to compromise where necessary.
  • The ability and desire to be an excellent team player that understands the balance between forward-thinking design, cost constraints, and established patterns.
  • An excitement and curiosity about the role and its duties, and a need to expand their skill set.