As a site reliability engineer (SRE), you are responsible for maintaining our core platform and services which our web (Ruby on Rails) and mobile app
Quimbee is growing! We’re looking to add a new full-time member to our core team. This position is 100% remote (U.S. only). All you need is an internet connection and a quiet place to work.
Who We Are
Quimbee is one of the most widely used e-learning platforms for law students in the United States. Simply put, our mission is to help law students get A's in their law school courses.
Since 2007, Quimbee has helped over a hundred thousand law students prepare for classes and final exams. We provide law students with access to a comprehensive database of case summaries, video lessons, practice questions, a legal dictionary, and a growing library of content. We have become one of the most widely used and trusted sites for law students, serving both institutional clients, such as Yale University, American University, and University of Illinois, as well as thousands of individual law students.
We prefer a small and highly effective engineering team, so every new team member is vital to the success of the company.
Who We’re Looking For
You must be an experienced developer with a passion for operations tasks. Technically we’re mostly interested in your recent DevOps and software development experience, from writing back-end code for a website to optimizing the SQL queries to dealing with search engines, monitoring and performance, and everything in between. But your focus will be on optimizing our app's code, its underlying architecture, and infrastructure so that we minimize surprises while maximizing performance at all levels.
As a site reliability engineer (SRE), you are responsible for maintaining our core platform and services which our web (Ruby on Rails) and mobile app (React Native) users depend on. As our first SRE, you'll have the opportunity to help us define and shape processes, tools, and best practices in the context of our platform. You'll work closely with our team of developers to determine the current state of our platform as well as defining the future of it.
We're looking for collaborative, detail-oriented people who are ready for a challenge. In this role, you'll be responsible for working on the critical task of ensuring our backend systems are rock solid and scalable. Strong candidates will bring strong engineering and operations acumen, combined with the ability to move fast (and fix things).
You have to have a special care for writing maintainable and reusable code that every developer on our team can work with and an ability to collaborate well with cross-functional teams.
You’ll join a small tech team, so your voice will be heard when we need to make new technical decisions as our product grows. We expect you to go beyond coding to give input on the product roadmap, design, and architecture.
We look for:
- A Ruby developer. You have deep software engineering experience and are comfortable writing code in Ruby as well as at least one other programming language.
- A DevOps advocate. You believe in the benefits of immutable infrastructure and understand what it takes to implement it from the operating system level up to datacenter deployments.
- A data-driven engineer. You know the difference between an MTTR and MTTD and have the skills necessary to optimize them.
- A great process and code debugger. You feel comfortable leading robust and thorough root cause analysis (RCA) sessions to attack problems at their core and ensure they don’t recur.
- A self-starter. You take responsibility for projects from idea to completion, proactively seeking assistance as needed while guiding the work to successful outcomes.
- A versatile engineer. You know what you don’t know and feel comfortable learning new skills. You’re not ashamed of recognizing mistakes and take measures to avoid falling again.
- A team player. You share code-ownership as much as possible. You don't mind fixing other people’s code or stepping in to help a teammate.
- A minimalist. You believe a new feature should be built only when the evidence supports it. You’re willing to push back when you believe this rule is being ignored or violated.
- A great communicator. You communicate your ideas, feedback, and criticism thoroughly, clearly, and courteously. You believe there’s no such thing as over-explaining or over-clarifying because that’s how miscommunication is avoided.
- A business-minded engineer. You have deep understanding of the importance of building maintainable, efficient, clean code, while balancing that with the urgency of the business needs.
Working with us, you could be asked to (solo or as part of a team):
- Create and maintain documentation about our platform and all the third-party services it depends on, defining a plan of development for failover mechanisms to improve our platform's resilience.
- Investigate issues reported by our automated systems, or our customer support or QA teams, determine impact and root cause, then prioritize and document them, and solve them yourself when possible or sync with our devs team to solve it.
- Streamline our deployments process so that they are as smooth as possible both for our users as well as for our teams, considering the possibility of having to rollback.
- Educate engineers throughout the company on how to ensure their projects meet our reliability, performance, and security requirements.
- Reduce the server-side and front-end latency of our application to deliver a lightning fast user experience.
- Optimize our hosting bill by increasing throughput and resource efficiency, while planning capacity for the next two years of growth.
- Determine and configure a core set of metrics and alerts to make sure our apps and servers are running smoothly and that we can react fast if something bad happens.
- Develop and maintain performance and load tests.
- Possible on-call responsibilities.
- Experience hosting apps in Heroku, monitoring and scaling them up/down
- B.S. computer science or related field
- 5+ years of software engineering experience
- 2+ years of site reliability engineering (or similar) experience
- 1+ years of direct Ruby on Rails experience
- Strong experience profiling and optimizing applications for speed, and memory consumption
- Strong knowledge of SQL in general and PostgreSQL in particular
- Experience with at least one programming language other than Ruby and JS
- Extensive Git (or similar) experience solving complex merging conflicts
- Know how the web works under the hood: TCP, HTTP, DNS, IP, caches, etc.
- Native fluency in English
- U.S. based
- Hosting apps in AWS or similar, monitoring and scaling them up/down
- Experience working on a SaaS application or with subscription-based businesses generally
- Experience contributing to Open Source