— Bachelor’s or Master’s degree in Computer Science or related discipline.
—
— Experience in more modern Java technologies
—
— 1+ year of cloud development with AWS preferred
— Experience working in an agile environment
— 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.
— Ability to communicate effectively in English, both verbally and in writing
— Hands-on experience with pure Java core development (no frameworks) & performance tuning
— Experience with Cloud Native solutions preferably AWS (Lambda, DynamoDB, SQS, SNS, S3, etc)
— Extensive experience with different architecture types including event-driven architecture
— Experience in working with geographically distributed teams including the USA & European countries
We offer:
— Professional growth opportunity
— Generous holiday allowance
— Free English classes
— Young and friendly team
— Close-knit family atmosphere
— Flexible schedule
— Make significant contributions implementing our shared services, as well as help maintain and upgrade existing ones.
— Hands-on position which requires
— Provide guidance in technical design and development activities.
— 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.
TurnitIn offers a market-leading assessment-management solution that supports the entire testing process, including exam creation, administration, delivery, scoring and analysis. The software delivers powerful, actionable data to assess learning outcomes. Turnitin is a growing company that hires smart and talented people who are excited about personal growth, the positive impact they have on education, and enjoy working in a challenging and fun work environment.
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 working on 2 co-products that help to provide additional exam integrity to the assessment process. 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. Turnitin has an inspiring mission, cutting-edge technologies, and in-house product development.
Job Description
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.