Senior Software Engineer (full-stack)
Automate your job search with Sonara.
Submit 10x as many applications with less effort than one manual application.1
Reclaim your time by letting our AI handle the grunt work of job searching.
We continuously scan millions of openings to find your top matches.

Overview
Job Description
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 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.
Compensation & Benefits
At ITHAKA we believe in openness and equity. Part of living those values is our commitment to clarity about salary ranges, so candidates know what to expect. The starting salary for the Senior Software Engineer position ranges from $112,240.00 - $140,300.00. Starting pay may vary with job-related knowledge, skills, and experience. At present, our total compensation package for benefits-eligible employees includes medical, dental, and vision plans, an employer-paid 10% retirement contribution, paid parental and caregiver leave, 22 days of paid time off, 11 paid holidays, up to 12 sick days, wellness benefits, and more. Please note that ITHAKA, at its discretion, may make changes to its benefits programs from time to time.
#LI-JS1 #LI-REMOTE
Automate your job search with Sonara.
Submit 10x as many applications with less effort than one manual application.
