Position: Senior Software Engineer Java w/full AWS stack
Company: ExamSoft/Turnitin
Experience required: 3y
English level: upper

Turnitin is seeking a Senior Software Engineer who will be working on 2 co-products that help to provide additional exam integrity to the assessment process. 

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. 

As a Senior 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**

- Make significant contributions implementing our shared services, as well 
 as help maintain and upgrade existing ones. 
- Hands-on position which requires 90-95% of writing the code.
- 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.

**Qualifications**
Minimum needed:

- Bachelor’s or Master’s degree in Computer Science or related discipline.
- 5-7 years experience of designing and developing applications using Java
- Experience in more modern Java technologies 
- 5-7 years of experience with relational databases
- 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

Nice to Have:

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
 
**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 ExamSoft. 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.