Reporting to the Director of Software Engineering, the individual’s responsibilities will include, but not limited to, the following:
- Design and develop web services to capture data and enable fast access to it, as well as manage and track data processing jobs.
- Implement and manage schemas in various databases.
- Develop Python SDKs to enable users to interface with and efficiently use internal web services.
- Work with the team to define and interface with internal service APIs
- Work with scientists and software engineers to transform complex requirements into software
- Actively participate in design sessions and provide thoughtful solutions and alternatives
- Perform software development duties using best practices - follow industry standards, develop unit tests, participate in code reviews, etc.
- Follow the Allen Institute’s software management and deployment standards including source code management, issue tracking, staging and deployment standards, and documentation.
- Experience with the JVM platform, languages and frameworks (Java/SpringBoot)
- Experience with aspects of back-end software engineering (REST APIs, microservices, data processing)
- Experience translating visual designs into responsive web applications
- Experience working in Linux/UNIX environment
- Experience with database concepts and SQL (PostgreSQL and MongoDB)
- Experience with build and deployment tools (Gradle, Maven, Ansible)
SWE II: 4-5 years of experience in a software development team with a bachelor’s degree in computer science or a related field, or 15+ years of relevant working experience.
SWE III: 6-9 years of experience in a software development team with a bachelor’s degree in computer science or a related field, or 15+ years of relevant working experience.