Senior Software Engineer (full-stack)
ITHAKAAbout the role
ITHAKA’s mission is to expand access to knowledge and education around the world. Our services — JSTOR, Portico, and Ithaka S+R — enable people everywhere to learn, to grow, and to overcome barriers to education. In carrying out our mission, as employees we feel a deep responsibility to members of our community and to each other, and we are committed to building and sustaining a culture where everyone can thrive.
The Role
As a full-stack Senior Software Engineer at ITHAKA, you have an opportunity to put your talents towards a deeply meaningful mission. You will work on high-impact products that help put education within everyone’s reach. In this role you will:
- Have the freedom to leverage the right tools and languages to solve problems. Right now, we use technologies including AWS, Kubernetes, Kafka, Java, Golang, Python, TypeScript, and GitHub/GitLab.
- Develop and deploy software through an automated continuous delivery pipeline supporting over 200 production deployments a week.
- See the impact of your work as it is put in front of millions of users.
- Contribute to open source! We give back to the community whenever we can.
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.
Experience and Skills
Required
- 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.
Desired
We do not expect any single candidate to have expertise across all of these areas. We look for candidates that have a passion for continuous improvement and the ability to optimize code for clarity, reliability, and performance. Our commitment to onboarding, mentorship, and continuous learning means that you will have support as you learn new technologies.
- 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
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s