Our philosophy

We’re a different kind of team and a different kind of company. We’re passionate about wanting to be part of something very different.

We’re small, so each of us has a big impact on the team, the product and the company’s success. We all respect each other and genuinely enjoy working with each other. We encourage collaboration, listen to each other, and debate to arrive at the best solution.

We don’t see the benefit of an office or a commute, so we work out of home offices. We use Google Docs, Hangouts and other tools to collaborate.

We work hard but we believe in a good work-life balance. We don’t buy into the working-crazy-hours-is-cool thing.  We have humane working hours. We’ve proven that happy relaxed people are more productive and do better work.

We don’t care about titles.

We’re constantly finding ways to improve our product and how we work. We eliminate unneeded obstacles. We leverage tools and innovation to make more happen with less. When we identify an improvement, we implement it fast.

How we code

We’re an agile shop. We agree on who’ll do what features as they come up in the backlog. The feature owners design  how the feature will be constructed, including understanding what the customer and business needs, user experience design, class design, business logic, and data modeling.

We sketch our designs informally to get rapid review and critique by others. Finished code is reviewed by others in the team. We mix up the review teams so everyone has good exposure to the whole system.

We embrace the full-stack development philosophy. We’ve found it benefits the team and product when an engineer is familiar with the entire stack and has a genuine interest all our software technology. Full stack engineers know how to make life easier for those around them. We also recognize that each engineer is passionate and skilled in specific layers. We manage to blend the two realities very well.

We’re fanatical about user experience, performance, security and testing.

It’s a fast environment with a lot of churn. For a small team, we turn out a lot of high-quality code.

Our stack

Here’s our application stack:

  • JavaScript/HTML5/less
  • OpenSpaces (our custom, rich-client, OO JavaScript framework. The skinny: single-page application with no refresh, very OO with a strict MVC architecture, client-side view templates with powerful data-binding features, controller code written in plain JavaScript.)
  • Node server-side JavaScript environment
  • Jetty HTTP server and Java Servlet container
  • JSON
  • Redis in-memory, key-value data store
  • Java
  • MyBatis OO / relational database mapping
  • MySQL
  • Linux
  • Amazon Web Services (AWS)
  • ELK – Elasticsearch, Logstash and Kibana

And here are some of our tools:

  • github
  • Jenkins CI
  • gradle
  • JAXB
  • iText
  • Prince XML
  • IntelliJ IDEA (JetBrains)
  • Asana

We develop with OS X on Macs.