Tempest Systems - Senior Full Stack Developer. Remote position (ideally within Canada).

--- The Job ---------------------------------

We are looking for an experienced, effective senior developer who can take on a leadership role on our team. We have two established products - www.searchtempest.com and www.autotempest.com - but we also have a list of desired features a mile long, so we need your help to continue to delight our users, and hopefully pick up a few more along the way!

Your first major task will be to help us transition SearchTempest from a classic server-side application to a client-side MVC framework. We expect to achieve a fairly dramatic improvement in perceived speed of the site by removing unnecessary processing on page load, and increasing parallelization. However, this is only one task among many. We are looking for a highly skilled and motivated developer who can help us continue to improve all aspects of our sites.

--- Skills & Requirements--------------------

You will need advanced knowledge of modern javascript frameworks - preferably Angular, but we would consider Ember or Backbone/Marionette if you make a strong case. Also PHP (we use the Symfony2 and Slim frameworks), and SQL. (“Advanced” means you should be comfortable personally leading architecture and development using these tools.)

Even more importantly, you must be comfortable (and ideally experienced) working on a remote team. Working from your preferred environment, at your preferred times, can be great for productivity (and enjoyment!) - but only if you have exceptional self-motivation. You should also be effective at communicating via chat, email, and video-conferencing (Google Hangouts), and using a project tracking tool (we use Pivotal).

As a senior developer, you will be designing program architecture, writing specs for yourself and other developers to follow, and reviewing code, as well as hands-on coding.

High Priority Skills:

- Client-side MVC with AngularJS (or a comparable framework)
- Back-end development using PHP and a modern framework (ideally Symfony2)
- Database design and maintenance (MySQL/MariaDB). Familiar with concepts like
normalization, index selection, query optimization, caching, etc.
- Testable program design and unit testing

Nice to Have:

- Coffeescript, Twig, Handlebars, Compass/sass, Composer, Grunt
- Responsive design and development
- Experience testing with PHPUnit and Behat/Mink
- Experience working with APIs such as YQL, Google Maps, eBay, AWS, etc.

Bonus:

- Visual web design and/or graphics design
- App development for iOS and/or Android
- System Administration; shell scripting, familiarity with provisioning tools
such as Puppet and Chef

--- About Us -------------------------------

We are a small web company based in Victoria, BC, Canada. Basically, we build handy little tools to make people's lives a little bit easier. Our current sites are http://www.searchtempest.com, and http://www.autotempest.com. SearchTempest is a search engine for classifieds (which is actually more useful than it sounds!) Search multiple craigslist cities by distance from your location, plus eBay, Amazon, etc., without having to type in the same stuff over and over.

AutoTempest is a similar idea for used car shoppers; it lets you search all the top cars sites at once, with the results in one big list (optionally sorted by price, distance, etc.) If you're serious about finding a good deal on a car, you're searching all these sites anyway, so we save you most of the effort.

We believe in a flexible, results-driven work environment. We all work from home, using the tools we choose, at the times we feel most productive. We keep in sync with Pivotal Tracker, XMPP chat, BitBucket, email, and occasional Google Hangouts meetings.

Everyone on our team has a significant role to play. Remote work and flexible hours mean we can each work when and where we prefer, but they also mean we have to be highly self-motivated and communicate effectively to be productive. It also helps when you really love what you do. We're looking for others who share those attributes!