Posted September 7th 2017

Position Description

Who you’d be working with

Our main product at the moment is our Chrome Extension and requires your primary attention. 

Catlin works on the Electron platform that we're building. In only a few months he’s built up a solid understanding of the extension code and is building our Electron implementation on top of it. You’d be working with him to make sure we have testing in place for its release next year. In addition to automated testing, we also need continuous integration for faster and more predictable deployment of these various components.

Adam has built the backend for our extension - our internal API. We are transitioning to a new version of our API built in Python/Django. You’ll be working with both him and another new software engineer who are working on the rewrite and transition the API while also building a web application against the new API. We want to make sure that nothing is missed during the transition and that we have solid tests in place for the new version. The new RESTful API needs automated testing and continuous integration for deployment.

Miranda integrates our software with our customers’ websites. Integration is done through a somewhat complex process of reading their websites and using that information to create automated classified ads. You’ll be working with Miranda as she leads the charge to transition us to a better way of doing things. You’ll be responsible for understanding the process and figuring out how we can test it and monitor it's resilience.

As new product ideas are developed, you’d also be involved with them as well to make sure they are tested from the start.

Everyone on the team ultimately reports to Adam Cowley (the other Adam) and we’re seeking a Software Engineering Manager to help manage just the software engineers. Matt is our Product Manager and he ensures that all aspects of our core products are running and growing as expected.


Primary Responsibilities

  • Browser extension development and maintenance
  • Maintain our existing javascript code
  • Look for bugs in our existing code and address them
  • Write new code for new features
  • Respond to third-party web-based changes by adapting our existing code
  • Write documentation to support your work
  • Continuous integration, deployment, logging, and testing
  • Teach others how to perform your key responsibilities
  • Perform research and development tasks to seek new business opportunities for the company


Who are you?

  • You have an undergraduate degree in computer science or software engineer
  • You have 4+ years of programming experience directly with browser extensions or add-ons
  • You have 5+ years of programming experience directly with JavaScript or other prototypical programming language
  • You have moderate to exceptional experience working with most or all of the following technologies: Git, Grunt, Python, PHP, and at least one client-side javascript framework
  • You have experience planning software development roadmaps
  • You may have experience implementing unit tests and performing peer code reviews
  • You are self-driven and pro-active. You’ll be expected to take ownership of all aspects of the position
  • You have great attention to detail and you are committed to helping us prevent errors and omissions in our code
  • You look to solve the root problem instead of band-aid solutions
  • You communicate well. You’ll be our internal champion for quality & reliability and will need to work well with our other engineers to make sure they understand the importance of writing code in a modular and maintainable manner.

Company Description

Rooof sells software to property management companies in the USA on monthly recurring subscriptions. On-site users at each property use our software to automatically put classified advertisements on the internet using our browser extension (and pending Electron implementation) that mimics human-like browser-interactions. Instead of making classified ads manually, our software does all the work. Our software is used in over 2,000 apartment buildings by over 5,000 users.

Rooof was founded in 2012 to improve how the rental-housing industry advertises their vacancies. People love our software because it writes great performing ads and because we have automated a task that they despise. We are preparing to build new software for our existing customers to meet other needs, unrelated to classified ad automation.

We are a team of nine with our head offices in Victoria, BC. Six of us are located in Victoria, BC, with sales in Phoenix and two off-site software engineers. Read more about us below!