Frontend Software Engineer (USA Remote)
- Full-time
Company Description
MUST BE U.S. BASED
100% REMOTE
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 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
- 2+ years professional software engineering experience working with modern JavaScript frameworks such as Angular, React, Vue, Backbone, or Ember developing scalable, performant applications
- Be well-versed in best practices in writing efficient, understandable CSS and accessible, standards-compliant HTML
- Understand front end performance
- Familiarity with current front end 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.
- Ability to communicate effectively in English, both verbally and in writing
Nice to haves
- Automation (Jenkins or other CI/CD)
- Experience working with Typescript
- Experience in working with geographically distributed teams including the USA
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.