Tech Lead at Quave - Fully Remote - $6,000 or $8,000 USD
filipenevola opened this issue · comments
Title: Tech Lead at Quave
We're hiring a Tech Lead to join Quave and lead our team in supporting client projects.
This is a fully remote position offering a compensation of $6,000 or $8,000 USD per month, suitable for candidates in time zones ranging from Eastern (UTC-5) to Central European (UTC+1).
Applications are open until Monday, May 6th, 9:00 PM ET.
While our primary aim is to hire an exceptional Tech Lead, we are also open to hiring a Dev Expert if we identify a suitable candidate during the selection process.
A Dev Expert is a highly skilled Tech Lead proficient in our primary technology stack, with significant OSS contributions or demonstrated deep expertise.
Monthly compensations are as follows:
- Tech Lead is $6,000.
- Dev Expert is $8,000.
If you are a Tech Lead, please apply. We will determine if you qualify as a Dev Expert during the selection process, this decision is not your call.
Hey, Filipe Névola here, I'm writing this position myself as it is a key role in our company. I'm excited to see who is going to join us.
🇧🇷🇵🇹🇲🇿 Portuguese warning: You must be fluent in both Portuguese and English. We have previously had and will have future positions that do not require Portuguese, even the same one if we are not able to find Portuguese speakers for this one. Keep an eye on this repository or follow us on Twitter.
What you’ll do
We’re a small multidisciplinary team and you’d have a wide variety of responsibilities, including:
- Build new features and code extensively, as this is a hands-on position. 80% or more of your time will be spent coding or reviewing code.
- Fix bugs and implement small adjustments in existent features.
- Review code to ensure quality all the time, including performance, and documentation, to make sure we’re always shipping work we can be proud of.
- Maintain CI workflows and automations for running tests and building releases to save everyone's time and provide a safe environment for rapid changes in production.
- Estimate in a smart way to decide allocation and deadline of projects.
- Manage priorities and adjust scope to meet project deadlines. without sacrificing on top-level goals.
- Work on multiple projects simultaneously is very likely, as this is a key role.
- Inspire, motivate, and lead the team.
Here are some real examples of projects you would have worked on in the last few months:
- A New Web and Mobile App: Develop an app to assist vanlife travelers and road trippers, providing a platform for sharing experiences and recommendations. Leveraging AI, using LLMs and our proprietary database to deliver natural, human-like responses.
- Refactor a big feature: Refactor the way forms and complex data were handled in order to be able to reuse components in new and old features including the model layer.
- New complex feature: Implement a new feature to track async operations in Node.js to be able to monitor and debug live in an APM.
- New VSCode Extension: Implement a new VSCode extension to track changes in a yaml file and draw the corresponding diagram and vice-versa.
- Make old UI Responsive: Change the foundation definitions of styles in several pages to make sure all work in all devices and screen sizes.
- Improve Post feature: Enhance the newsletter post form by integrating AI to review text and suggest topics and headlines for posts.
- Migration to new version: Migrate a project from Meteor 1.8 to 2.15 including all dependencies and tests.
- Apply changes in async code: Change all the code that needs to use Promises instead of Fibers API for accessing Database and other external calls.
- Urgent performance analysis: Help client in understanding performance issues that are causing a lot of users to leave the app or operations to be stuck forever.
- Analyze and fix critical issues: Help client in a war room suffering to keep the app running and fix the issues that are causing the problems suggesting approaches live with the clients' team.
- Create bridges: Create a bridge from scratch between Native iOS and Android SDKs to React Native apps.
- Fix IoT communication: Analyze and fix IoT communication issues with backend systems.
- Reduce costs: Analyze and reduce costs of a project due to high usage of database due to bad performance of GraphQL queries.
- OSS packages: Create new packages to speed up client work when integrating Microsoft Active Directory authentication with web apps.
- OSS issues: Release a new version of our eslint plugin to work well with different projects setups.
- Generate images: Generate image based on other images using opensource AI models to fine tune them on very specific features of the face.
- Builders: Create a new builder plugin capable of handling Webpack federation in Meteor apps.
- A new feature for a client’s app: Calculate freight costs using Uber's API and display it to the user integrated with a Map widget previously delivered.
- A bug fix: Fix a bug that was causing the app to crash when the user tried to upload a profile picture larger than 5mbs.
- A small adjustment: Change the positions and design of a portal where members of an organization see relevant info such as next events and plan options following a Figma design as close as possible.
Who you are
We’re looking for someone with strong Computer Science skills and experience leading small teams who shares our most important values:
- You love people. You enjoy working with others, having fun, telling jokes, and always being ready with your camera for live calls, no matter where you are.
- You like to pair on problems. You get energy from working directly with other people in code.
- You hold people to a high standard and inspire them to do their best work. You’re candid and direct with feedback, and motivate your teammates to raise their own bar all the time.
- You’re fanatical about long-term maintenance — almost to a fault. It’s important to you that every variable name is just right, code comments are free of grammatical errors, and tests are named consistently.
- You miss when writing software used to be fast, and you love writing code that shows how fast we can deliver useful features.
- You are paranoic about being productivity in everything you do — you are always looking for ways to improve your productivity and the productivity of the team without compromising quality. "Quave stands quality (qua) and velocity (ve)!"
- You’re energized by unfamiliar territory. You enjoy the challenge of digging in to a codebase you’ve never seen before to try and troubleshoot a complex problem.
- You’re a great writer. Whether it’s a project status update, documentation, a pull request description, you think about the reader and care about communicating clearly. We believe poor writing is a sign of poor thinking.
- You speak English and Portuguese. For this role, you need to be fluent in both languages.
- You're fluent in algorithms. You've implemented all the algorithms and data structures from Cormen's book, and you can easily solve logic puzzles or mid-level coding challenges.
- You're addicted to learn. You’re always looking for ways to improve your skills, and you’re excited to learn new things. Well-versed and curious about emerging AI solutions.
- You’re good at breaking down tasks. You’ve got good instincts for what to work on first, what’s safe to save for later, and how to get to a working demo as fast as possible.
- You love great design. You might not consider yourself a designer, but you kinda wish you could wave a magic wand and become one to deliver delightful web apps and apps.
- You are obsessed with results. You are always trying to deliver the highest quality for optimal outcomes, aligned with clients objectives. You prioritize the final product over the technology used, viewing technology as a means to an end, not the end itself. "Quave stands for quality (qua) and velocity (ve)!"
On the technology side, you’ll be a great fit if you have expertise in these areas/tools:
- Javascript — most of our projects are in pure Javascript.
- Node.js — a good amount of the work we do is based on Node.js environments, especially Meteor.js.
- React — Most of our UI code is written in React, using modern patterns like hooks and simple components. (This refers specifically to React for UIs, not to the recent hype around old ideas).
- Tailwind CSS — of course, we use Tailwind CSS. While we like to challenge the status quo, we love Tailwind. (Side note: we were inspired by their work when writing this position, thanks Adam).
- MongoDB — we don't use it in all the projects but it is usually our go-to database.
- Docker — we use Docker in some way almost in every project.
- JetBrains — we use JetBrains IDEs like WebStorm and IDEA in most cases.
- Figma — you will consume Designs from Figma.
But that is not all, as you can imagine we have clients with projects of different flavors, so we are looking for someone that can adapt to new as well:
- Clouds — we have many projects in our own cloud zcloud.ws based on Kubernetes. And we also use AWS quite a lot and a little bit of GCP.
- DBs — we have projects using PostgreSQL, SQL Server, Redis, etc.
- GraphQL — we use GraphQL in some projects.
- CI/CD — we primarily use GitHub Actions, but we also work with other tools when necessary.
- React Native — we have a few projects in React Native.
- iOS — we have a few projects in Swift.
- Android — we have a few projects in Java/Kotlin.
- Python — we have a few projects in Python.
- .NET/C# — we have a few projects in .NET/C#.
Why work with us
- We ship — our clients choose us not just because we are great in what we do (yes, we are), but because we consistently deliver high-quality results on time.
- Our work is impactful — in many cases we are the whole technical team of the client, so the work we do directly impacts on their success.
- We're Small, on Purpose — We aim to keep our company small and simple to minimize distractions and complexities.
- We’re fully remote — work from wherever you want. We collaborate in real-time every day over Slack and Google Meet video calls, but we all work from the comfort of our own homes.
- We’re independent and profitable — we don’t have investors or a board to justify our decisions to, and aren’t burning through cash trying to make the business successful.
- We care about doing great work — we are a profitable company because our clients love our work. You don't need permission to do your best work in your way.
- We’re not trying to make it big — we say no to great opportunities if there’s any chance it would make our days less fun. We care about making enough money to keep doing what we enjoy, not doing whatever it takes to make as much money as possible.
- We move fast — we believe in changing. We keep our processes at minimum, and we’re not afraid to change our minds if we think we can do something better.
Pay and Benefits
The compensation for this position is the same regardless of location.
This is a full-time position, requiring 40 hours of work per week.
- Work remotely: work from wherever you’re most productive, no commuting to an office.
- Flexible hours: work when you’re most productive and be there for the people you love.
This is a key role in our company, so we also offer:
- Paid Vacation: vacation time is unmonitored as long as results are achieved and deliverables are met.
- Annual bonus: we pay a bonus when we achieve our profit goals. This bonus is weighted based on past months of work.
- Stock options: we don't plan to sell the company, but we do have a stock option program just in case.
People in key roles working with us for a long period can also expect:
- Profit sharing: over time, for a select few, we include a variable payment based on results of reach quarter as we don’t have investors to return money.
- Direct equity: over time, we offer direct equity in the company to a handful of individuals.
For all team members, we offer:
- AI Allowance: 20 USD/month on top of the monthly compensation to be spent on AI productivity tools.
We’re a very small distributed team, so we work together as independent contractors. That means we cannot offer certain benefits like health insurance or a retirement savings plan.
You should only apply for this position if you are comfortable with being self-employed from the perspective of your local tax authority.
How to apply
To apply, write something specifically for this position that tells us why you’re a great fit for the role and what you can bring to Quave.
Quick reminder: You speak English and Portuguese. For this role, you need to be fluent in both languages.
Send to filipe@quave.dev with the subject: “Tech Lead Application - ”.
Examples of things we’re interested in learning about you include:
- What you’re excited about, and the work you’d be most looking forward to in this role.
- Interesting projects you’ve worked on, especially things that are relevant to the work we do here.
- Open-source contributions, whether it’s your own project, a pull request you’re proud of, or a well-written bug report you filed.
- Previous experience, especially any leadership responsibilities you’ve held in other roles.
- Technical writing, like blog posts you’ve published or documentation you’ve worked on.
In the email body, include a link to your LinkedIn profile URL, your GitHub user URL, and any other external links that you think are relevant.
This role is open to candidates with timezones ranging from Eastern (UTC-5) to Central European (UTC+1).
We’re accepting applications until Monday, May 6th, at 9:00 pm ET.
We’ll let you know whether we’d like to invite you to the interview process in the beginning of May.
Here’s what the process looks like:
- Introduction call — a short call where we’ll ask you some questions to get to know you better, and answer any questions you have about the role.
- Take-home project — next, we invite about ten people to complete a small technical project. Expect to spend about half a day on this, and we’ll pay you $150 USD for this time.
- In-depth interview — after the take-home project, we do a longer interview with the top candidates where we’ll ask you questions about the project and your experience in previous roles.
- Pair programming session — the final step is a one-hour pair programming session with another engineer on our team, where you’ll work on something unfamiliar to both of you to get a better sense of what it would be like to really work together.
We’ll make an offer in May, with an aim to start working together in mid-May.
This position is for a key role, so it doesn't follow Quave standard
approach for hiring. I'm going to be the one reviewing the applications.
If you haven't heard from us by May 20th, your application will not be progressing.
The deadline was wrong; it was April 29th, but it should have been Monday, May 6th. It has been fixed.
Hi @filipenevola, thanks for the detailed description.
I really appreciate the fact that you are willing to pay for the take home assignment.
I almost applied to it until I saw, "You speak English and Portuguese. For this role, you need to be fluent in both languages." clause. As a suggestion, if you could move it to the top of the requirements, or highlight it, then it would catch the attention and filter out candidates who don't speak Portuguese.
Thanks!
As a suggestion, if you could move it to the top of the requirements, or highlight it, then it would catch the attention and filter out candidates who don't speak Portuguese.
Makes sense.
Done:
🇧🇷🇵🇹🇲🇿 Portuguese warning: You must be fluent in both Portuguese and English. We have previously had and will have future positions that do not require Portuguese, even the same one if we are not able to find Portuguese speakers for this one. Keep an eye on this repository or follow us on Twitter.
Thanks @ultrasonicsoft
Sent! 🤞
I've added this clarification: If you don't hear back from us by May 20th, that means your application is not going forward.
We are getting many applications and it is impossible to reply all of them but we are reviewing all of them, one by one.
Sent! Great job with the description.
Added the benefit about AI Allowance