Senior Software Engineer, Web Development
- Full-time
Company Description
Turnitin is your partner in education with integrity. Turnitin’s originality checking and authorship investigation services ensure academic integrity, promote critical thinking, and help students improve their authentic writing. Turnitin provides instructors with the tools to prevent plagiarism, engage students in the writing process, and provide personalized feedback. Turnitin is used by more than 30 million students at 15,000 institutions in 140 countries. Turnitin is headquartered in Oakland, Calif., with international offices in Newcastle, U.K., Utrecht, Netherlands, Melbourne, Australia, Seoul, Korea and throughout Latin America.
Job Description
Turnitin is seeking a Senior Software Engineer to join and build the next generation of Turnitin's integrity and feedback tools used by millions of instructors and students. You will be building web application services, which enable users to interact with Turnitin's award winning similarity detection tools, and create and engage with rich feedback on documents. As a Senior Software Engineer, you will use your technical expertise and leadership to develop products which support students in classrooms worldwide.
Responsibilities
Lead back-end Java engineering efforts for applications used in Turnitin products
Work hand in hand with other engineers along with other members of the scrum team - Product Management, UX, etc.
Produce high quality software that is unit tested, code reviewed, and continuously integrated
Shape and evangelize best practices to improve engineering and team productivity
Foster a culture of collaboration, mentoring and open communication
Qualifications
Required Skills
5+ years experience writing robust web/SaaS applications with Spring Framework (Spring Boot, Spring Cloud, Spring security, Spring MVC, Spring Data) using Java
5+ years experience in object oriented programming with expert knowledge of distributed systems, microservices, concurrency, RESTful web services, SQL and no-SQL databases, and internet scalability
Extensive hands-on experience in building cloud ready solutions based on microservices, multi-tenancy architecture using Spring Boot and related Spring technologies.
Experience in designing and documenting RESTful APIs
Extensive experience with software development best practices (e.g. test-driven development, ORM, object-oriented design, code profiling, refactoring, debugging)
Experience with container and clustering technologies like Docker, Kubernetes, etc in a microservices environment is desirable
Front-end development interest and experience a plus
Background in cloud technologies and frameworks such as Amazon Web Services, Google Cloud, and OpenStack a plus
Good knowledge of federated security architecture, flows and standards, e.g. OAuth
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 veteran’s status.