Job details
Job type full-time
Full job description
At instructure, we believe in the power of people to grow and succeed throughout their livesOur goal is to amplify that power by creating intuitive products that simplify learning and personal development, facilitate meaningful relationships, and inspire people to go further in their educations and careersWe do this by giving smart, creative, passionate people opportunities to create awesomeAnd that`s where you come in:
The app fundamentals team works on some of the core components in the lms experience (like authentication, permissions, and administrative functionality) and many of the underlying technical components of the software stack (like multitenancy and updates to ruby, rails, and other dependencies).
Much of our work is open source, including our primary product (canvas)Check us out on github: www.github.com/instructure.
Some of the projects we’ve worked on recently include:
Refactor core system permissions to have more granular controls.
Upgrade to rails 6.0.
Replace datetime handling library code with built-in browser support.
Analyze data from back-to-school user load to find and fix performance bottlenecks.
Gather frontend metrics to better understand user behavior with calendar datetime form pickers.
Here are some future projects we’d like your help with:
Researching and deciding on a vision and direction for frontend testing frameworks, build a plan to get there, and help drive adoptionThis may include building some static analysis and codemod tools to help support the migration.
Help define, describe, and evangelize best practices around when to use deep vs shallow rendering, api mocking, jsdom vs real browser backend, accessibility and contract testing, webdriver tests, snapshots, and moreWe believe these are complex and nuanced issues.
Help build test harnesses, helper functions, load tests, debugging and support improvements, and other tools to help ensure a high quality experience for our customers in complex integration points like 3rd party authentication providers (saml, cas, oauth), spam prevention, and api contracts with internal and 3rd party plugins.
Helping to define the necessary skills and abilities in the career ladder for sets at instructure, mentor other sets, get involved with the testing guild, and help level our team up in a focus on quality.
Help define a path toward better modularity and loose coupling in our rails codebase to help improve onboarding speed and reduce hard-to-understand interdependency while still maintaining the benefits of a monolithic codebase.
This is a great opportunity for a senior software engineer who has a passion for software quality to help set the vision and drive the evolution of automated testing, code quality, and quality tooling in the canvas codebase.
What we look for:
Experience (and interest) in different languages and frameworks, including testing frameworks.
Experience writing high quality code in ruby or javascript, and open to working in both.
Ability to solve complex problems requiring in-depth analysis.
7+ years of professional software engineering experience.
Capable communicator.
Passionate about learning new stuff.
Knowledge of, and adherence to coding best practices.
Commitment to code quality with experience testing up and down the pyramid.
Ability and desire to work in an open and team-oriented environment.
Bs in computer science or related degree preferred.
We’ve always believed in hiring the most awesome people and treating them rightWe know that the more diverse we are, the more diverse our ideas will be and when we openly welcome those ideas, our environment is better and our business is stronger.
At instructure we participate in e-verify and yes, in case you didn`t catch it from the above, we are an equal opportunity employer.
All instructure employees are required to successfully pass a background check upon being hired.