Principal Frontend Engineer (USA Remote)
- Full-time
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 looking for an experienced front-end engineer to help us build user-facing applications used by millions of students, teachers, and administrators. This is a high-impact role.
You will
- Collaborate cross-functionally with the Engineering, Product, UX, Quality Assurance, and Support teams
- Implement end-to-end solutions for Turnitin’s next generation of academic integrity products
- Break down large projects and features into independently workable/shippable milestones and stories
- Write readable, testable, and maintainable code
- Contribute throughout the front-end stack, developing features and reusable components for performant, accessible Javascript applications that enable users to submit, view, and interact with documents they have written within the context of our integrity products
- Make contributions to both the short- and long-term development of our products and team processes
You should
- Be passionate about the software you build, and the way that you build it. We’re a small, high-output, largely self-directed team that prides itself on both the quality of the code we produce and on our commitment to improving our processes along the way.
- Be opinionated enough to speak up when you think we could be doing something better than we’re doing it now -- and tactful and empathetic enough to communicate this in a way that brings people along instead of distancing them.
- Be curious enough to try new approaches to problems, in code, architecture, and organizational matters. Don’t be afraid to try something that doesn’t work, or doesn’t work as well as you might like - but also know when to quit.
- Be self-directed enough to seek out and understand not just the ‘what’ of what we’re building, but also the reason we’re building it - who is it for, how does it help them - and be informed by this knowledge to make your own decisions, large and small.
- Be a proactive communicator - both to teammates and our collaborators from other engineering teams, product, customer support, sales, you get the picture. Our work impacts a lot of people, and there are a lot of stakeholders who need to maintain context alongside us as progress / decisions are made.
- Be practical enough to strike a balance between doing things ‘perfectly’ and doing things ‘well enough to ship’. That is, you should know what an ideal project or application looks like, and also know when diminishing returns get in the way of bringing a better experience to our users.
- Be well-versed in understanding large feature requests and breaking them down into smaller, more manageable chunks of independently shippable work - and helping to organize the team to collaborate on working together or in parallel to get them done.
Qualifications
- 7+ years professional software engineering experience, at least 4 years working with modern Javascript frameworks (we use React) developing scalable, performant applications
- Be well-versed in best practices in writing efficient, understandable CSS and accessible, standards-compliant HTML.
- Understand frontend performance
- Familiarity with current frontend build systems (Ex: Webpack, Rollup)
- Well-versed in writing and running unit- and integration tests
- Experienced using Git as part of a collaborative team, including branching, pull request, and code review processes
- Accustomed to iterative development practices - breaking problems down, shipping small pieces rather than long-running features, etc.
Nice to have
- Some experience with web-components and/or micro-frontends
- Specific experience developing add-ons for G-suite or Office applications
- Experience working full-stack in one or more server-side technologies, preferably to develop APIs. Our edge service[s] are mostly written in Java/Spring Boot and Python
- Browser-driven end-to-end testing using a tool like Selenium or Cypress, and/or frameworks that operate on top of them (we currently use Nightwatch)
- Working with containers in development and/or deployment contexts
- Experience working in distributed / microservices environment
- Automation (Jenkins or other CI/CD)
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 Turnitin. 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.
Global Benefits
- Flexible/hybrid working
- Remote First Culture
- Health Care Coverage*
- Tuition Reimbursement*
- Competitive Paid Time Off
- 4 Self-Care Days per year
- National Holidays*
- 2 Founder Days + Juneteenth Observed
- Paid Volunteer Time*
- Charitable contribution match*
- Monthly Wellness Reimbursement/Home Office Equipment*
- Access to Modern Health (mental health platform)
- Parental Leave*
- Retirement Plan with match/contribution*
* varies by country
Seeing Beyond the Job Ad
At Turnitin, we recognize it’s unrealistic for candidates to fulfill 100% of the criteria in a job ad. We encourage you to apply if you meet the majority of the requirements because we know that skills evolve over time. If you’re willing to learn and evolve alongside us, join our team!
Turnitin, LLC is committed to the policy that all persons have equal access to its programs, facilities and employment. All qualified applicants will receive consideration for employment without regard to age, race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.