Remote Developer Jobs

Principal Software Engineer

Turnitin - US
Full-time
Posted: 9 months ago

When you join Turnitin, you'll be welcomed into a company that is a recognized innovator in the global education space. For more than 20 years, Turnitin has partnered with educational institutions to promote honesty, consistency, and fairness across all subject areas and assessment types. Over 16,000 academic institutions, publishers, and corporations use our services: Gradescope by Turnitin, iThenticate, Turnitin Feedback Studio, Turnitin Originality, Turnitin Similarity, ExamSoft, and ProctorExam.

Turnitin has offices in Australia, India, Indonesia, Japan, Korea, Mexico, the Netherlands, the Philippines, Ukraine, the United Kingdom, and the United States. Our diverse community of colleagues are all unified by a shared desire to make a difference in education. Come join us, and let's make change together.

Job Description

Turnitin is seeking a Principal 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 a team supporting shared services that provide the backbone for existing and new applications. We operate at a high scale across global markets and seek individuals that enjoy solving complex problems.

Do you have the skills—and drive—to join a tech team that’s working to digitally transform the ed-tech industry? From test-driving the latest technologies to creating high performing applications, Turnitin is constantly innovating and creating industry-leading solutions that provide peace of mind for our customers worldwide.

As a Principal Software Engineer at Turnitin, you’ll apply your talents in an agile environment that has the creative energy of a start-up, a highly flexible work environment, a culture of innovation, and most importantly other talented engineers, designers, and product managers to interact with and learn from.

Responsibilities

  • Provide guidance in technical design and development activities.
  • Make significant contributions implementing our shared services, as well as help maintain and upgrade existing one.
  • 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.

Qualifications

  • 5-10+ years experience writing robust web applications in Java with Spring Framework (Spring MVC, Hibernate).
  • Experience in more modern Java technologies such as Java 8/11 and Spring Boot.Experience with container and clustering technologies (we use kubernetes).
  • Experience working with relational databases (we use Postgres) and Caching systems (we use Redis).
  • Strong knowledge of object-oriented analysis and design principles and understanding of applying those principles in RESTful API implementation.
  • 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.
  • Practical experience in cloud technologies and frameworks preferably in Amazon Web Services and familiarity with native services such as RDS, SQS, SNS, S3 etc.
  • Experience with authentication standards (like SAML or OpenID), and authorization frameworks (like OAuth2).

Nice to Have:

  • Familiarity with Golang, Python, modern JavaScript frameworks such as React/Angular/ES6.
  • Familiarity with Basecamp's Shape Up process.

Additional Information

Our Mission is to ensure the integrity of global education and meaningfully improve learning outcomes.

Our Values underpin everything we do.

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