Senior Front End Engineer

  • Remote, REMOTE, us
  • Employees can work remotely
  • Full-time

Company Description

Turnitin is a global SaaS company dedicated to ensuring the integrity of education and research and supporting the development of original thinking skills. As the academic and research landscape evolves, Turnitin stays ahead of trends through advancements in technology and deep partnerships with education leaders, institutions, and practitioners. Turnitin’s proprietary content databases — built over 20 years — provide an unparalleled repository of 1+ billion student papers, best-in-class scholarly content from top publishers in every major discipline and in dozens of languages, and 70+ billion current and archived web pages. We promote honesty, consistency, and fairness across all assignment types and subject areas so that educators can help students do their best, original work

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 in which you will:

  • Collaborate cross-functionally with the Engineering, Product, 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 (Webpack, Rollup)

  • Well-versed in writing and running unit- and integration tests

  • 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 haves

  • Specific experience working with web visualization of non-HTML documents (pdf.js or canvas-based document viewers)

  • 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.

  • Browser-driven end-to-end testing using a tool like Selenium or Capybara-webkit, 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)

  • Experience working with Typescript, bonus points for experience transitioning plain JavaScript applications to strong typing

 

Additional Information

No agency submissions 

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 veterans status.

Privacy Policy