Senior Software Engineer - remote

Wave HQ
Posted 3 years ago
We believe small businesses are at the heart of our communities, and championing them is worth fighting for. We empower small business owners to manage their finances fearlessly, enabling more of them to thrive by offering the simplest, all-in-one financial management solution small business owners can't live without.

As an award-winning company, and one of the fastest growing financial services software, we are unwavering in our commitment to grow and support both our customers and our people. We care deeply and we challenge directly. We re-imagine the possible, together, to achieve extraordinary results for the small business owners we support and believe in.

What Wave Engineering Offers 

A Powerful Mission: Working at Wave means you are meaningfully improving the lives of small business owners, who are traditionally under-served and often struggle to succeed because of this.

Longevity and Agility: Wave is deeply loved by our customers and we have a solid position in-market. However, we are not stagnant. We are constantly changing, and with that change comes a lot of opportunity for learning and career growth.

Empowerment: Each area of Wave’s business genuinely owns its own outcomes. We often get feedback from people who’ve interviewed with us that they can tell just through meeting their interviewers how much we empower everyone to deliver on our shared purpose.

Community: Wave is about the size of a small neighbourhood, and is likely to stay that way for the foreseeable future. It is very possible to get to know everyone on a personal basis. If you’re trying to solve a hard problem that has roots in some other part of the company, odds are pretty good that you’ll personally know someone over there who can help you out.

What We Don’t Have

Abundance: Wave covers a huge span of needs for our customers, and it does it largely for free. Because we do so much with so little, Wave often operates in an environment of scarcity and resource constraints. We do a lot with what we have, but you will always feel like we could use more people or more resources to get the job done. 

Easy Answers: Wave serves a customer base that has a diverse set of needs. In a sense, there are many complex businesses running simultaneously at Wave, and they all depend on each other in sometimes non-obvious ways. Because of this, prioritization at Wave is hard. But, it is possible! You will feel like there are many concerns that we need to tackle all at once, and you will sometimes have to work hard to create your own focus in your work. 

Engineer Worship: Wave uses technology to its benefit, and we have a strong engineering culture. However, you won’t find the values and perspectives of engineers to be valued over those of other Wavers. We seek egalitarian balance across everyone at the company, no matter what their role or training.

What You Can Contribute

Creativity: Each business line and functional area at Wave has a great deal of ownership of what they are doing and why. This means that you’re not just instrumental in getting the work done;we need you to help us decide what ideas are the ones we act on in the first place, and how we can best bring those ideas to life. This sounds glamorous, but it is very hard work. There are countless ways that you could shape Wave for the better, and you’ll need to work with your teammates and leaders to figure out where to best focus your energy for the collective good of us and our customers.

Craft: At Wave, you won’t just write code - you will build high-quality systems at scale. This means being involved in the research, design, and organizational and maintenance practices that we need to create and properly operate these systems in production. You’ll also need to promote and teach skills and practices in an environment where good engineering is valued and respected. 

Curiosity: You won’t find many hardcore specialists at Wave. Most Wave engineers are willing and able to dive into different specializations and technologies to get the job done. Whether it’s mobile development, server-side development, data science or engineering, machine learning, web experience, ops engineering -- most Wavers will work with many of these on a daily basis, and will develop significant expertise in more than one. This requires curiosity, openness to new ideas and perspectives, and a genuine interest in what makes software products tick. 

Change: Wave has built and maintains systems of varying age and maturity. Some are years old;others have only been around for a few months. This means we are constantly looking to evolve them to adapt the needs of our current environment. If you’re interested in experiencing firsthand what it’s like to directly be involved in evolving older, proven architectures into newer ones -- and working through all the complexities that emerge in the process -- Wave is a great place to do that.

For more info visit Engineering@Wave

About Technology at Wave:

  • Wave is powered by several key technologies. Our primary toolkit includes Python and Django, Ruby on Rails, Golang, and JavaScript, but we also explore and experiment with brand new technologies to see how they can help fulfill our mission. 
  • Complete Continuous Integration workflow that run test suites on every commit and deploy code to production with one click. 
  • Culture of shared ownership via mandatory code reviews and learning opportunities such as mentorship programs and bi-weekly workshops.
  • On-call expectations at Wave. We try to abide by the idea of “you build it, you run it”. i.e. the team that develops a software service owns that service, and is responsible for the uptime of that service. As an engineer joining Wave, there is a high likelihood that you will be on-call for the services that your team owns (not immediately though). In general, the number of alerts per team is quite low. When you are on-call, you are never alone. There are other engineers on-call who will help you in the event of an issue.