Stay in Touch



Senior Software Engineer - Platform Services






Oakland, CA, US


Company Description

Turnitin is revolutionising the experience of writing to learn. Turnitin’s formative feedback and originality checking services promote critical thinking, ensure academic integrity and help students improve their writing. Turnitin provides instructors with the tools to engage students in the writing process, provide personalised feedback, and assess student progress over time. Turnitin's applications are used by more than 33 million students at 15,000 institutions in 140 countries. Turnitin is headquartered in Oakland, California, with international offices in Newcastle, Utrecht, Seoul, Melbourne, Noida and Mexico City.

Job Description

Turnitin is seeking a Senior Software Engineer interested in distributed systems, data modeling, and scalability to develop and improve our award-winning educational software. As an engineer on this team, you will be a core contributor to our service-oriented platform. These services provide the backbone for both existing and new applications. This work spans areas such as tenancy management, provisioning, license management, user roles and permissions control, and analytics. We operate at high scale across global markets and seek individuals that enjoy solving complex problems.


  • Make significant contributions implementing our platform services.

  • Ensure future success and stability through code quality and automated testing.

  • Work closely with software architects and database/operations engineers on system infrastructure and design.

  • Mentor peers in Java best practices.


Required Skills

  • 5+ years experience writing robust web/SaaS applications in Java with Spring Framework (Spring Boot, Spring MVC, Hibernate, etc).

  • Hands-on experience building cloud-ready solutions based on micro services and multi-tenancy architecture.

  • Strong knowledge of object-oriented design and implementation, and RESTful API design and implementation.

  • Extensive experience with software development best practices (e.g. design patterns, test-driven development, code profiling, debugging).

  • Ability to communicate effectively with both technical and non-technical colleagues.

  • Experience or interest in working within an Agile model (particularly Scrum).

  • 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.

  • Bachelor’s degree in Computer Science or related discipline.

Nice to Have

  • Background in cloud technologies and frameworks such as Amazon Web Services and Google Cloud.

  • Experience with container and clustering technologies like Docker, Kubernetes in a micro-services environment is desirable.

  • Experience with authorization frameworks like OAuth2.

Additional Information

Turnitin, LLC is committed to the policy that all persons have equal access to its programs, facilities and employment without regard to race, color, ancestry, national origin, age, gender, sexual orientation, gender identity, age, religion, creed, disability, medical condition, genetic information, marital or veterans status.

Apply for the job

Subscribe to our blog.


Blog & Newsletter Signup