Each team is asked to select, explain, and rank their top 8 values in order of importance.
We expect every member of our team to be proactive in communicating their thoughts, feelings, and challenges. If you aren’t comfortable asking for help when you need it, you probably won’t thrive at Sparkswap. Everyone should keep the rest of the team informed on what they’re doing, and given how small our team is today (4 full-time employees), we look to bring on avid learners: we frequently figure out problems together, and “bringing someone up to speed” on an issue is a common and recommended practice, even in the middle of a conversation. We all benefit when everyone who can contribute is learning.
We try to encourage conflicting opinions, and ask for thoughts from people we haven’t heard from to make sure we’re getting the whole story and testing our thinking. Today, our office layout is open (though we’d be lying if we said that was by design rather than a budgetary decision). That said, we all work across from each other and frequently have discussions across the table on everything from cultural issues to debugging.
Heavily Team Oriented
We think about productivity at a team level, and not as much as individuals. People have different strengths, and we want to take advantage of that while investing in our weaknesses to make the team more versatile and robust over the long term.
We work better as a team than we would as individuals. It is common for people to “check in with the team” at various points on a project to get feedback and bring everyone up to speed. We frequently work in teams of 2 instead of the whole group. For particularly thorny issues during design or code review, we all think through the problem together. (We literally sit together around a whiteboard to solve it together.)
We are co-located in part because we think the high bandwidth communication (both intellectual and emotional) that comes with in-person working is worth the trade-off of losing some (many) candidates. It’s incredibly important to us that all new hires consider themselves to be a mentor, a good teammate, and an enthusiastic learner.
Cryptocurrency allows people to hold digital assets themselves without relying on their local government or bank assigning value or using it. What excites people most about crypto is that it allows for true freedom of economic expression. However, the most common use case for crypto today is using it to trade which forces you to give up that value and go back to the old system of trusted custodians. We at Sparkswap are using properties native to cryptocurrency (programmability) to fix that.
If you want to trade cryptocurrency, you should be able to do that without giving up custody. Cryptocurrency is as important to the future of the world as the internet and the world wide web, and we want Sparkswap to be one small step toward making that future a reality. We want people all over the world to interact with a financial system safely and securely, relying on technology instead of trusted institutions.
Our first customers are traders who have high exposure to existing exchanges and cryptocurrency enthusiasts who are just excited about this technology. Every decision we make, from exposing an API that is similar to existing exchanges to having a docker compose build process that “just works,” is based on the needs and feedback of our users. We’re ok sacrificing short term code quality in favor of shipping great product.
We don’t have a DevOps or QA team yet, nor do we plan to for quite some time. In fact, we don’t even have a Product or Design team. We outsource and automate a lot, but beyond that we expect engineers to be willing and able to take a feature from idea all the way through to deployment, documentation, and customer support. Engineers are almost always involved in the Design process, too. At a minimum they participate in design reviews and are asked to provide feedback. All of our tickets are created by engineers.
Given how team-oriented we are, there’s no such thing as “your project.” Start-to-finish ownership means, above all, that people are responsible for getting their work done. If you need someone to review code so that it can be merged, you’re responsible for finding a reviewer. If you are blocked by someone else, you are responsible for following up with them to get them unblocked.
While everyone is responsible for the maintenance of the code they ship, we consider it a failure if someone ships a feature that no one else can maintain. The expectation is that everyone is responsible. We have users in our Discord channel at all hours of the night, so whoever is online will jump in to help when issues arise.
Committed to Personal Growth
Small improvements every day, week, and month lead to massive gains in the long-term. Our “constantly improve” mindset is one of our core values, and something we apply to our product, company, processes, and each person as an individual. We care deeply about personal development, which is expressed in three ways:
- We encourage traditional continued learning. One of our engineers is taking classes at Bradfield and another is volunteering at a Data Science non-profit initiative. We support any and all outside-of-work learning initiatives or interests.
- We’ve introduced formal learning programs. Not everyone learns in the same way, so we’ve introduced programs like our Sparkswap Study Sessions. Every Friday, a team member has the opportunity to grow as a public speaker and teach the rest of the team about some core technology that we use at Sparkswap. Teaching is one of the best ways to learn.
- We expose everyone to the entire codebase and all aspects of the business. Working at a small company on new technology is by far the best way to learn, and we make sure to take full advantage of that. Everyone has the opportunity to jump into a segment they’re interested in, and we are all constantly sharing knowledge with one another.
Small companies like ours can’t provide the same mentorship opportunities that big companies can, but we think that our Sparkwap Study Sessions, educational reimbursements, increased responsibility and ownership, and a general team attitude of collective learning more than make up for that. We’re rolling out an educational stipend and program soon, so stay tuned!
When we started, Lightning wasn’t even in Beta, so we’re right on the bleeding edge. This choice in technology has come with its fair share of challenges (i.e. we’ve had to implement key features ~6 months before they get upstreamed), but it has also allowed us to build significant new features that were never before possible, and these key features are our differentiators. Our ability to trade cross-chain, giving access to real Bitcoin, and our high performance without sacrificing custody is our core product and value and both are the result on building on this brand new platform.
We predict that in 5 years, there will be far more engineers working on Bitcoin, cryptocurrency, and Lightning than there are today, and we want Sparkswap to contribute to that growing trend. A core competency of the company is to bring in people who are interested and enthusiastic about our technology and teach them how to work with it. In other words, you are not required to have experience with Lightning to apply or join. (If we had this criteria, we’d be limited to about 200 engineers worldwide :)
Eats Lunch Together
While we’re still too small for catering, we did start paying for lunch at the end of 2018. As a team, we like to mix it up between getting food delivered or going out to places like Rooster & Rice, Native Co, Sweetgreen, and Super Duper Burger together.
On Fridays we do Sparkwap Study Sessions during (or usually right after) lunch, which is a presentation/talk from someone on the team about a core technology. We usually talk about bigger picture and longer term issues during lunch, but more than anything, it’s the best time to enjoy one another’s company. We like to do things like contests to see if a coffeephile can really tell the difference between a pour-over and french press (spoiler alert: Danny can’t).
We often hear people say, “I can’t believe you accomplished Y in time Z with a team of only X people!” We’re proud of how efficient and effective we are, and want to maintain this level of productivity as we grow our team. To be clear, working in a fast-paced environment does not mean putting in maximum hours. If it did, Google would win every time because they can throw far more people-hours at a problem than we ever could.
Instead, fast-paced to us means (1) focusing on the right problem, (2) being clear-minded and thoughtful enough to find the most appropriate solution for the problem right now, and (3) pushing towards that solution as hard as you can. We consider any Pull Requests that have been open for more than a couple of days to be slow or drawn out, and we single those out during retrospectives to see how we can improve.
Our whole company is focused on one thing at a time, but that one thing can change rapidly based on the environment. A few weeks ago, we discovered we needed to implement a compliance program. We committed to figuring out what the program was, finding a consultant to help us, designing our product to fit it, and shipping it within those same 8 weeks.
Note: Our core work hours are 10am to 4pm, and outside of that people work when it suits them.