Principal Software Engineer (USA Remote)
- Dallas, TX, USA
- Employees can work remotely
Turnitin is a global SaaS company dedicated to ensuring the integrity of education and research and supporting the development of original thinking skills. As the academic and research landscape evolves, Turnitin stays ahead of trends through advancements in technology and deep partnerships with education leaders, institutions, and practitioners. Turnitin’s proprietary content databases — built over 20 years — provide an unparalleled repository of 1+ billion student papers, best-in-class scholarly content from top publishers in every major discipline and in dozens of languages, and 70+ billion current and archived web pages. We promote honesty, consistency, and fairness across all assignment types and subject areas so that educators can help students do their best, original work
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.
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.
Bachelor’s or Master’s degree in Computer Science or related discipline.
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 Basecamp's Shape Up process.
No agency submissions
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.