Turnitin is seeking a Senior/Principal Software Engineer with deep expertise in Java, distributed systems, and scalability to help improve award-winning educational software. This role is focused on developing and enhancing co-products that support exam integrity within a high-scale, global environment.
What You'll Do
- Make significant contributions implementing our shared services, as well as help maintain and upgrade existing ones.
- Work in a hands-on position which requires 90-95% of writing the code.
- Provide guidance in technical design and development activities.
- Ensure future success and stability through code reviews and automated testing.
- Work closely with software architects and database/operations engineers on system infrastructure and design.
- Lead on technical design reviews and recommend improvements.
- Mentor engineers in software development, Java best practices, and technical decisions and emerging technologies.
What We're Looking For
- Bachelor’s or Master’s degree in Computer Science or related discipline.
- 5-10+ years experience of designing and developing applications using Java
- 5-10+ years of experience with relational databases
- Experience in more modern Java technologies
- 1+ year of cloud development with AWS preferred
- Experience working in an agile environment
- Extensive experience with software development best practices (e.g. design patterns, test-driven development, code profiling, debugging).
- Effective technical and cross-functional communication (product, design, operations).
- High level knowledge and experience of industry trends and technology advancements relating to distributed systems, cloud, platform as a service, and software as a service.
- Experience in building cloud-ready solutions based on microservices and multi-tenancy architecture.
- Ability to communicate effectively in English, both verbally and in writing
Nice to Have
- Hands-on experience with pure Java core development (no frameworks) & performance tuning
- Experience with Cloud Native solutions preferably AWS (Lambda, DynamoDB, SQS, SNS, S3, etc)
- Extensive experience with different architecture types including event-driven architecture
- Experience in working with geographically distributed teams including the USA & European countries
Technical Stack
- Java
- relational databases
- AWS
- microservices
- multi-tenancy architecture
- Lambda
- DynamoDB
- SQS
- SNS
- S3
- event-driven architecture
Team & Environment
Our culture is built on collaboration, ownership, and continuous learning. We value integrity, action, and a global mindset, and we work as one team to support educators and learners worldwide.
Benefits & Compensation
- Customer Centric - We realize our mission to ensure integrity and improve learning outcomes by putting educators and learners at the center of everything we do.
- Passion for Learning - We seek out teammates that are constantly learning and growing and build a workplace which enables them to do so.
- Integrity - We believe integrity is the heartbeat of Turnitin. It shapes our products, the way we treat each other, and how we work with our customers and vendors.
- Action & Ownership - We have a bias toward action and empower teammates to make decisions.
- One Team - We strive to break down silos, collaborate effectively, and celebrate each other’s successes.
- Global Mindset - We respect local cultures and embrace diversity. We think globally and act locally to maximize our impact on education.
Work Mode
Remote position available in Ukraine within a highly flexible work environment.
Turnitin, LLC is committed to the policy that all persons have equal access to its programs, facilities and employment. We strongly encourage applications from people of color, persons with disabilities, women, and the LGBTQ+ community, regardless of age, gender, religion, marital or veterans status.
