Senior Software Engineer (USA Remote)
- Compensation
- Not disclosed
- Location
- Dallas, nl
- Work setup
- Remote
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 5+ years
- Category
- Software engineering
- Posted
Skills
Must have
- 5+ years experience writing robust web/SaaS applications in Java
- Proficiency in Object Oriented Programming
- 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).
- Knowledge in Database Systems
- Systemic thinking
- Open-mindedness in problem solving
- Ability to communicate effectively with both technical and non-technical colleagues.
- 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 / Math or related discipline or equivalent professional experience
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 technologies such as message queue, SSO standard such as SAML and Open ID, authorization frameworks such as OAuth2.
Full description
Company Description
100% REMOTE (Must be U.S. based)
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 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.
Responsibilities
- 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
- Work closely with the Product Management team on requirement analysis
- Optionally mentor peers in Java best practices
Qualifications
Essential Qualifications, Skills, and Knowledge/Experience:
- 5+ years experience writing robust web/SaaS applications in Java
- Proficiency in Object Oriented Programming
- 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).
- Knowledge in Database Systems
- Systemic thinking
- Open-mindedness in problem solving
- Ability to communicate effectively with both technical and non-technical colleagues.
- 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.