The dogma of sanctucompu
Table of contents
Often studios like ours begin life with the best of intentions, but as time goes on, these initial goals can slip by the wayside as money, stress, clients and deadlines take to the foreground.
This document serves to reinforce these values, and give our community a sense of how our culture works.
Inspirations and Reactions
First and foremost, Sanctuary Computer offers technical work to commercial clients (Brands, Startups and City Entities).
While this is not a new idea, we believe our underlying methodology is.
(While bearing some major differences) Sanctuary Computer's operational structure partly takes inspiration from such companies as Patagonia, Thoughtbot, Basecamp, Valve, Dockyard, Formidable, Tilde and Zeit.
However, Sanctuary Computer is, in a lot of ways a reaction to existing problems in the client services space. Some of these reactions are:
As a reaction to the bloat inherent in a classic agency model, Sanctuary Computer focuses almost entirely on technicality, and builds generous partnerships with small shops and freelancers to fulfill remaining workloads.
As a reaction to the poor visual and interactive quality of work inherent in a classic "dev shop", Sanctuary Computer hires developers with art, music and design backgrounds who naturally have a sense of how to achieve the ephemeral quality found in high-end digital products.
As a reaction to the off putting nature of "being bossed around" in a top-down management structure, Sanctuary Computer employs a mostly flat structure, where management and operations support and bolster the ability and efficiency of the technologists, and those technologists in turn go over and above to deliver high quality work products on time and budget.
As a reaction to the frustration for creatives of "not having enough time for side projects", the Sanctuary Computer team spends Friday afternoons working on personal ideas and open source. As the business stabilizes, Sanctuary intends for the entirety of Fridays to be spent on such projects.
As a reaction to "being told when to wake up", Sanctuary has a flexible starting window of 9am to 11am. Ultimately, the overriding fact is that if a team member is putting in a solid work day and not impeding others, start time is up to the individual.
At the time of writing, Sanctuary's longer term goals are as follows (and not limited to):
- Release in-house products, apps and services through internal investment.
- Build a ventures arm for investing in third party businesses through "in-kind" technical and financial contributions.
- To buy a property out of the city to act as an offsite Sanctuary location.
- Start experimenting in non-software engineering industries, such as affordable housing and green technology.
- Give back to our community through charity and in-kind involvement.
Candor and Diversity of Ideas
Taken directly from the Rails Doctrine:
With so many controversial ideas to its credit, Rails could quickly become an insular group of ideological hermits, if we required everyone to exhibit complete deference to all tenets, all the time. So we don’t!
We need disagreement. We need dialects. We need diversity of thought and people. It’s in this melting pot of ideas we’ll get the best commons for all to share. Lots of people chipping in their two cents, in code or considered argument.
We are proud of sharing ideas and suggestions openly, particularly when they are uncomfortable, and when hearing new suggestions from others, choose to receive the idea with an open mind everytime. Diversity of ideas, thoughts and people is a sign of a healthy studio, and any behavior that discourages the like will not be tolerated.
Transparency and Generosity
Transparency and outward generosity comes back 10X.
Sanctuary profit and loss statements and financial information is available to everyone who's interested. We opt to share client relationships with other client-facing shops, and value those partnerships first.
Team members and collaborators are treated generously, as that care most often returns ten-fold.
Clients see detailed breakdowns of every cost associated with their pricing, and quotations are considered collaborative.
Work Life Balance and Mental Clarity
Sanctuary Computer does not glorify working long hours.
Instead, we praise the technologist's ability to make considered decisions that generate ripples of speed and precision throughout the team and project.
While hard work and long hours will get the job done, it's often the micro-decisions made by technologists on a day to day basis that make the biggest impact on the team's work life balance. For this reason, our
Code Culture (more below) is one of depth of experience, in favour of brief exposure to tools and methodologies "because they're new".
We don't do emails or Slack outside of work hours, and we don't work when we're on holiday. Deep thought requires deep rest.
When projects ship on time with few-to-no bugs, everyone at Sanctuary Computer enjoys a great work life balance.
Code Culture is egoless.
The underlying technologist mindset is one of openness and understanding. Both the quality of the resulting product, and efficiency of the project cycle are paramount.
Mindshare and Communication
Shared convention, code style and communication are considered the sharpest tools at our disposal.
For this reason, all code is reviewed and agreed upon by all other coders on the project. Suggestions and revisions are welcomed with excitement as a chance to grow and improve. New directions are discussed and thought through as a team.
Pair programming and whiteboarding is highly encouraged.
Efficiency and Shiny New Tech
For Sanctuary to grow in both innovation and competition, we strive to achieve a balance between the efficiency of "using tools we know well" and "not falling behind the cutting edge".
For this reason, we have a ~15% new-tech budget per project. Should we introduce a new framework, language or infrastructure to the stack, it must have a valid use case (eg: real-time, decentralized) and/or be a meditated direction for the shop's capabilities (eg: virtual reality, blockchain).
When proposed, a 14% new tech solution is favoured over a 16%.
Carpenters and Scholars
In the tech world, it's possible to achieve similar results with vastly different tools and methodologies. For this reason, technologists at Sanctuary Computer value the "consumer-perceived quality" of the resultant work product above all qualitative metrics.
When deciding on tech stacks, methodologies and infrastructure, the underlying tools are chosen with a thorough and sober understanding of their effect on the following:
- Resultant level of interactive and visual quality (network speed, animation and performance)
- Speed and Cost of Development (including learning cycles and initial refactors)
- Ease of maintenance (onboarding others post-launch, post-launch dev speed, framework updates)
- Ease of understanding (accounting for all technologist experience levels)
Verbosity and Cleverness
Simple, easy to read code is always better than clever one-liners (except where performance is a real concern). We have a soft spot for verbose variable names and
We strive to create code that naturally reads with meaning.
// Oh, and comment anything that's confusing!
Hospitality before Technicality
Sanctuary Computer is run more like a restaurant than a traditional tech shop.
Clients are never sold "snake oil", work product is never over-complicated or over-engineered, and pricing is totally fair and transparent.
Our client language is one of empathy, never assuming understanding, and using layman-friendly metaphors in place of technical jargon. If a client can't understand our proposal, it's likely too complicated a solution for their problem.
Client quotations are detailed, fair and transparent. There are no "magic numbers" or made up prices. Quotation phases are considered a collaborative process with the client.