Chrome Extension Software Developer
Please read this entire job description and follow the instructions carefully before you apply. We appreciate your attention to detail as it is an integral part of our application process. Thank you!
About our company
At Rooof we build PostEngine, the world’s best software for automatically creating classified ads. PostEngine allows users to select an available rental they’d like to post an ad for, automatically templates a posting using unit and property amenity information, logs into the appropriate platform, and programmatically posts the ad.
That said, we’re even more proud of the team that we’ve built. We love working together and we’re very good at innovating, selling, and capturing the hearts of our customers.
What we’re looking for
PostEngine has evolved a lot since we started back in 2012 and now it’s a mature product with a lot of infrastructure. We’ve been working through a transition period with our Chrome extension and Electron-based web applications while simultaneously starting a second company, so we need some help!
We have a mature yet modern product stack which we’ve rebuilt over the past few years. Rooof has recently started a second company and some of our team is moving on to work on a brand-new product, but we don’t want to neglect our existing business.
The goal of this role is to add velocity and increase our knowledge sharing for the PostEngine platforms to continue delivering quality feature updates to our users.
Our technology stack
Chrome extension:JavaScriptTypeScriptHTML/CSSManifest V3 Chrome Store APIsChrome Web Store
Desktop app:TypeScriptJavaScriptHTML/SCSSElectron frameworkMicrosoft Store
API & Database:PythonDjangoPostgreSQLAWS
DevOps:JiraGitHubDockerCircleCI
What you’d be doing
Our goal as an engineering department is to serve our internal customers: the Product and Client Services teams, who serve our external clients. Using an agile scrum methodology our goal every two weeks is to deliver new and improved features to our products, help fix any bugs with existing functionality, or clean up any technical debt from the past.
Here is a snapshot of some of the activities this role may encounter:
Front-end developmentWorking with RESTful APIs (ours and third-party)Working with DatabasesWeb-based development
Quality assurance & deploymentIssue reproduction & investigationUnit test writing and automationParticipate in releasing code via Continuous Integration and Deployment (CI/CD)Contributing to logging, dashboards, and alerts for monitoring
Agile activitiesCode reviewsSpike meetings and Sprint retrospectivesTask estimation & breakdownFunctional and technical requirements development and reviewWorking on projects with our cross-functional teams
Your skills & experience
Proficiency in HTML & CSS for structuring content in extensions and styling their user interfacesPast experience using JavaScript to implement functionality in a Chrome extension, including JavaScript frameworks and third-party librariesKnowledge and understanding of the various Chrome extension APIsKnowledge of extension concepts like background scripts, content scripts, chrome.runtime, chrome.storage, chrome.tabs, etc.Understanding Manifest V3, including the new structure changes to the ecosystem and how it affects new extension developmentUsing JSON to create manifest filesUsing browser- and extension-based developer tools to debug and developExperience building software using asynchronous functions
Your traits & values
You are detail-orientedYou are customer-focusedYou are self-sufficient, and able to work independentlyYou are able to communicate complex technical issues to non-technical teams You prefer it done right, not necessarily right now You have exceptional problem-solving abilities and you don't give upYou have a range of experience with different technologiesYou are open to working in different areas of technology and not just in a specific nicheYou can context-switch between working on low-level development projects and high-level implementation discussions with cross-functional teams
Your onboarding experience
Everyone has to start somewhere, so here’s a quick description of what to expect when you first start, and how things might evolve over several months and the first year. These are just baseline expectations of the progress, and results would really depend on the growth of the candidates, the position and the priorities of the team at the time.
First few weeksLearn about Rooof’s history, business model, and future plans.Get introduced to our team, products, and platforms by having meetings with various department members from engineering, product, and client services.Familiarize yourself with our internal tools and processes.Explore our tech stack and ecosystem.Shadow and pair-program with others in the engineering team as they work through daily tasks for current projects.Get assigned your first introductory tasks.
First few monthsSteadily increase your development capacity over time, namely by growing the types of components you’re comfortable with so you can work on a wider variety of tasks.Become familiar with the full project technology stack.Take professional development time to hone your skills.
Within the first yearIncrease your development capacity by undertaking larger and more complex issues. Become proficient in working with the full project technology stack.Start contributing more to foundational and planning activities like technical requirements, design specifications, etc.
Who you’d be working with
Rebecca is our PostEngine development and integration developer who’s got an amazing knowledge of PostEngine and the platforms we work with. She’s also done a lot of QA in the past and can help introduce the review/test/release processes.
Adam, Lisa, and Nino are some of our other Rooof/PostEngine developers who work on other platforms like our internal administration platforms and our APIs. They’ll be great resources for learning how PostEngine interacts with the rest of our tech stack.
Jason is our Product Manager for PostEngine and is our product subject matter expert. He helps run the engineering sprints with our other Product Manager and ensures that development moves along smoothly and meets the requirements of the roadmap and any deadlines.
Our compensation package
We offer compensation packages based on experience and circumstances of employment. All wages are expressed hourly and paid based on timesheets.Paid time off (PTO) (vacation, holiday, discretionary, etc.) equivalent to either 8% paid on each pay cheque or banked timePaid sick time off (accrued at a rate of 2%)Paid time off for statutory holiday allowance. (Regional holidays and customs vary vastly. Instead of paid time off for regional holidays, we pay out 4% on each pay cheque. If the employee chooses not to work on a regional holiday, then it is PTO or has already been compensated by this 4%) Allowance for health and wellness equivalent to an additional 4% on each paycheque, but the employee is responsible for procuring their own health care.Up to 3 paid days per quarter for professional development opportunities
Application process Applications and interviews are reviewed and conducted on a rolling basis; No deadline. Please apply in a timely manner.Cover letter and Resume are both requiredYour application must be submitted directly to our applicant-tracking system found at https://rooof.bamboohr.com/careers (Do not submit your application using the website upon which you found the job posting. Do not use the "Easy Apply" button in Indeed.)To demonstrate your attention to detail and excellent ability to follow instructions, please include the words "Rubber Ducky" in your cover letter. This process helps us identify people with great attention to detail.