ITHAKA is dedicated to expanding access to knowledge and education worldwide through services like JSTOR and Portico. They are seeking a Senior Software Engineer (full-stack) to develop high-impact products that enhance educational access, utilizing various technologies and contributing to open-source efforts.
Responsibilities:
- Participate as an empowered member of a collaborative Agile team to design, develop, and maintain high performance applications
- Leverage continuous deployment and test automation tools to deploy application changes to production multiple times per day
- Interact with internal and external customers to understand their needs and drive the development of web applications to meet those needs
- Implement rich, interactive web applications using the latest technologies, frameworks, and patterns
- Leverage web analytics to support product discovery and to measure project KPIs
- Test, measure, and optimize performance using Application Performance Management tools
- Participate in the on-call rotation as a first point of contact for applications you own
- Demonstrate leadership skills in mentoring team members and articulating and evangelizing new technologies, methodologies, and processes
- Participate in analysis of pricing, risk/reward, cost advantages, and resourcing to support technological improvements
Requirements:
- Minimum of 3 years of experience as a full-stack software engineer building large-scale, distributed web applications
- Proven experience with cloud infrastructure services–in particular AWS (Lambda, API Gateway, Step Functions)
- Expertise creating and operating backend services using languages like Python, Golang, Java, or JavaScript/TypeScript with frameworks like Fast API, NodeJS or Spring Boot
- Fluent in creating and operating user-facing applications using frameworks like React or Vue
- Experience creating and managing APIs for use by multiple teams using REST or GraphQL
- Deeply knowledgeable in using a decentralized version control system like Git in a collaborative context on a platform like GitHub or GitLab
- Proficient in creating and operating containerize applications, particularly in a Kubernetes environment using Docker
- Familiarity with testing frameworks (e.g. JUnit, Jest, pytest, Playwright) and TDD practices
- Hands-on experience mentoring other engineers in a technical and interpersonal capacity
- Exceptional communication, thoughtfulness, and desire to give and receive regular feedback
- Real world experience building and operating LLM- or ML-backed systems in production
- Ability to evaluate and reason about LLM outputs and system behavior
- Experience utilizing Open Search for powering ML based solutions
- Experience with serverless and event driven architecture is a plus
- Proven background with accessible coding practices, including semantic HTML, ARIA attributes, and keyboard navigation
- Experience using profiling tools to analyze and optimize application performance like Graphite, Grafana, and Prometheus
- Working knowledge with cache management, content delivery, and application security at the edge using CDNs like Fastly or CloudFront
- Exposure and fluency working with data modeling in relational databases (e.g. PostgreSQL and MySQL) or NoSQL (e.g. MongoDB and DynamoDB)
- Experience securing large applications against SQL injection, XSS, CSRF and other exploits
- Established in practice using Terraform or other infrastructure-as-code tools
- Highly effective with GraphDB such as Neo4j, AWS Neptune etc
- Experience leveraging AI tools like Claude, Codex etc in an appropriate fashion in the SDLC