At Appian, we’re all about building awesome software, and we create an engineering experience to match. As a Principal Software Engineer on our Tools & Infrastructure Team, you will drive the vision and execution for the fully automated build/test/deploy system that Appian uses to manage its software development. You will enable the next wave of our world-class infrastructure, ensuring that it is always available, responsive, and capable of meeting the diverse needs of a dynamic and high-powered development team. You will work directly with the development team to assess and prioritize the current and upcoming needs of the organization, design/build/deploy new automation for all aspects of our development lifecycle, and maintain, troubleshoot and fix issues that impede our team’s progress.
What is Appian? It’s a low-code application platform that lets business people build powerful enterprise web and mobile apps with flexible, visual models instead of clunky custom code.
What you’ll be doing:
- Creating, configuring, and enhancing the tools we use to get things done (GitLab, Terraform, JIRA, Jenkins, GitHub) and our automated CI/CD pipeline
- Innovating, researching, and evaluating new technologies and tools
- Working collaboratively with cross-functional teams across Engineering and other departments
- Leveraging cutting edge technologies like Kubernetes, Docker, Ansible, and Terraform, and designing and building new features to increase product quality, decrease cycle time, and improve developer efficiency
- Becoming a master of our current product infrastructure
- Keeping automated infrastructure up-to-date as dependent technologies evolve and scale (JEE application servers, JDK, RDBMS)
- Automating every aspect of our development lifecycle and help us in our mission to achieve continuous delivery
- Creating new tools to increase departmental visibility into product quality, performance and releasability
- Being the advocate of the adoption of DevSecOps culture and mindset
About You:
- Passionate about DevOps, Release Engineering, and trends including CI/CD
- Bachelors in Computer Science or Engineering
- Proficiency working in AWS and Windows, Mac, and Linux environments
- Experience designing and building software or software systems in an enterprise software or Saas/Paas environment
- Strong working knowledge of prevalent build and automation languages (Gradle, Maven, Ant, Python, Groovy)
- A strong knack for quickly learning complex technical concepts & Strong oral, written, and presentation skills
- Fluency in at least one programming language, preferably Python and Java