Agile product development consultancy
San Francisco, Los Angeles, Chattanooga, and New York
We advocate frequent release of working software. Sometimes the hardest thing to put into practice for larger companies is pushing code continuously. We use continuous integration, do test driven development, and try to deliver something that has business value to actual customers as often as possible. We have weekly iteration planning meetings, where developers, product managers, designers, and the project owner (usually from the client’s side) come together to plan the work for the week. It’s an open, collaborative discussion to identify what the highest value work is and estimate each unit of work. We’re pragmatic about pair programming and leave it up to individuals to decide. Most of the people here have had 8+ years of experience in the industry, so we trust each other to reach out for a pair when needed. Some people pair all the time, some less than that, but everyone pairs some of the time. At the end of the week, we do a demo as well as a retrospective (with everyone from our team and from the client) to go over what went well and what didn’t go well this last week.
1 Open Positions
Online learning platform for course-specific study resources
Redwood City, Vancouver, Toronto, or Remote (w/in a 50-mile radius)
While there are some shared guardrails and baselines, every team has the freedom to define their own working style and meeting cadence. Most teams operate on a biweekly sprint cadence, and push code to production multiple times a day. Individual teams define their own estimation. We also have a technical bootcamp to onboard them onto our technical stack and set them to build and push code to production. The goal for the first month is to set engineers up for long-term success, so experimentation and asking a lot of questions are highly encouraged!
Engineers frequently collaborate via impromptu Slack Huddles and Zoom sessions; while there's no official mandate for pair-programming, it tends to happen organically through these collaborations. The Engineering Manager or Lead Engineer for each team acts as a Scrum Master, and partners with product owners. Testing is an internal priority, and we focus on unit tests, with mandated code-coverage thresholds which run as part of each build during our continuous integration pipeline, and end-to-end integration tests with Cypress to simulate user-flows. Regularly paying down tech debt is also part of our production process. In fact, one month we dedicated two days in a row to paying it down.
We generally favor having multiple, small autonomous product pods, each empowered to make their own decisions to execute on their own roadmaps and drive their key metrics. This streamlined structure allows us to continuously iterate in parallel and move quickly to deliver value to our customers. To ensure cohesion across these pods, we have cross-functional platform teams that enforce technical consistency and provide a common underlying base for individual pods to build upon.
11 Open Positions
Want to List Your Company?
Submit a team profile!
Select 8 Values
Contact me (Lynne 👋)
Qualify Your Values
Reach Thousands of Devs
Find Value-Aligned Candidates
Have Meaningful Initial Conversations
Don't Fill Roles, Hire Teammates
Celebrate
You can post as many job openings as you want.