Appian is looking to solve problems of scale and flexibility by building a product capable of serving customers in ways never imagined, extending from the high-performance data layer to the cross-platform user interface and design tools.
Requirements
- Leverage knowledge of data structures, algorithms, and design patterns to write software in a full-stack Java & web technology environment, including but not limited to Gradle, JDBC, Hibernate, Spring, Kafka, Quartz, Typescript, Redux and React.
- Utilize both object-oriented as well as functional programming approaches in different technologies to implement features effectively.
- Build automation to prevent problem recurrence with tools such as JUnit, Spock, Jest, Jaeger, and/or Locust.
- Fluency in Java or C-Sharp
Responsibilities
- Leverage knowledge of data structures, algorithms, and design patterns to write software in a full-stack Java & web technology environment, including but not limited to Gradle, JDBC, Hibernate, Spring, Kafka, Quartz, Typescript, Redux and React.
- Utilize both object-oriented as well as functional programming approaches in different technologies to implement features effectively.
- Leverage relevant software development experience to radiate best practices and faster development.
- Manage availability, latency, scalability and efficiency of the product by designing reliability into software and systems.
- Troubleshoot, investigate and diagnose incidents using a combination of tracing, alerting and log analysis.
- Contribute to software performance analysis and system tuning
- Be a strong contributor to team feature breakdowns/sizing and design of new feature implementations.
Other
- This role is based at our headquarters in McLean, Virginia. Appian was built on a culture of in-person collaboration, which we believe is a key driver of our mission to be the best. Employees hired for this position are expected to be in the office 5 days a week to foster that culture and ensure we continue to thrive through shared ideas and teamwork.
- Have a high degree of personal responsibility for the overall performance of the team, including capabilities, quality, stability and velocity.
- Perform code reviews which provide feedback not only on code quality, but on design and implementation.
- Seek to identify opportunities for code refactoring and performance optimizations on a regular basis and champion these efforts within the team.
- Effectively communicate technical designs verbally and/or in writing for small to medium sized technical audiences.