TL;DR
- We’re an early stage martech and analytics company with a remote team, headquartered in Berlin, Germany.
- 7+ years of professional experience is ideal for this role.
- You’ll be joining a small but experienced engineering team.
- Our codebase is TypeScript on the frontend and backend.
- There’s a wide variety of projects to work on and things to learn, such as our React web app, analytics infrastructure on GCP, customer API, JS snippet, and AI-driven experimentation.
- This is a full-time, remote role within Europe. Our existing engineering team is split between Germany and Poland.
- Link to apply below!
IMPORTANT: You must currently be a resident of Europe within the 29 countries listed below for us to be able to hire you. We are not relocating candidates or sponsoring new visas, but can help you keep an existing work visa within Germany if needed.
About the role
Affilimate is looking for a Senior Fullstack Engineer experienced with TypeScript, React, and Node.js to join us.
Our product is a web analytics and data platform used by media companies and creators. We track millions of pageviews per day and millions in revenue every month for our customers.
This role is perfect for an experienced, product-oriented software engineer, who strives to build beautiful, user-friendly products across the full stack.
You should love talking to users, participating in product research, and be able to work autonomously on projects without having all the requirements spelled out in advance.
Our team is small and our processes are efficient. You’ll eventually ship code to production on a daily basis. You should be able to balance a high level of code quality with practical decision-making and bias towards shipping early and often.
Our cofounder,
Monica Lent, is a software engineer with 10+ years experience, and together with the team will work with you to get you up to speed quickly.
Technologies
Our codebase lives in a monorepo of 300K+ lines of TypeScript.
We’re running on Google Cloud Platform, with a React.js frontend (built with Firebase, Material UI, Emotion, and Recharts) and a serverless backend running on Cloud Functions and GCP-managed databases.
Bonus if you have experience with columnar databases like BigQuery and ClickHouse, though we also use Firestore, Postgres and Redis for specific use cases.
Typical tasks
- Building new features end-to-end based on first-hand customer research you participate in and iterating on design mockups.
- Building new tools that ingest and display large volumes of analytics, transaction, and ecommerce data in a performant and user-friendly way.
- Optimizing and scaling existing workflows, for example by introducing streaming, gradual data fetching, intermediate storage in buckets, or creating new systems altogether.
- Working on our customer-facing API, exposing some of our powerful internal endpoints to customers in a safe way.
- Data visualization, including pulling data from our JS snippet or integrations, and bringing that date to the frontend and then visualizing it.
- Enhancing features with AI where it makes sense, mindfully and responsibly, so we can provide innovative ways for our customers to leverage their proprietary data.
- Integrating 3rd party APIs following proven patterns and systems.
- And of course, maintenance, refactoring, and fixing issues reported to our Support team, as well as writing internal documentation.
In general, there’s a wide variety of work, so there’s a lot to learn no matter your background.
Product
Affilimate is an analytics platform that helps media companies, marketers, and creators grow their website's affiliate revenue by understanding exactly where their revenue is coming from.
We do that in three main ways:
- Aggregating transaction data from multiple data sources in one place via APIs and other integration methods.
- Connect revenue back to specific content and links, using our web analytics platform and JavaScript snippet.
- Optimization tools like heatmaps and revision tracking, which content editors can use to improve performance.
We’re already handling millions of requests per day and looking to scale 100 - 1000x.
We’re also expanding our product offering beyond data and analytics, and are looking for product-minded engineers to help spin those projects up.
Location
You must currently live and be able to work in Europe in one of the following countries:
Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, Switzerland, or the United Kingdom.
We would especially like to hire within Germany or Poland, as that’s where our existing team is and we do quarterly coworking and planning in person. For strong candidates, we can expand the area to the 29 countries listed above.
If you need an employer to continue working on a German work visa, we can probably support you!
We are not able to sponsor relocation to Europe or visas in other European countries.
Benefits
- Work remotely and enjoy flexible hours.
- Low stress, low meetings, no corporate politics.
- Internal transparency of our company performance via weekly All Hands.
- Influence the product direction and see your work directly impact the business.
- Build the product based on direct customer feedback, be part of customer interviews and onboarding, and implement improvements based on first-hand experience.
- Opportunity to take on more responsibility as the team grows.
- Use modern tools for work, like Slack, Linear, and Slab.
- Quarterly in-person coworking with other engineering team members in Europe.
- Annual offsite with the rest of the company.
- Company-provided laptop with upgrades every 2 years.
- 300 EUR initial remote office budget.
- Local benefits (varies by country).
What we’re looking for
Our ideal candidate fits the following profile:
- 7+ years prior professional experience. You should have strong technical experience, ideally working in an early to mid-stage startup.
- Very strong understanding of data structures. A huge part of the job is data aggregation and transformation, so you can store/retrieve/display data in different ways.
- Strong TypeScript skills. You need to be comfortable working in a TypeScript codebase, and fundamentals like using generics, union types, etc.
- Experience with React. A big part of the job is building and improving our UI.
- Command line fundamentals. You should be comfortable working on the command line as needed. Comfort with git is also a must.
- Focus on security and performance. Performance matters at our scale, and nothing is more important to us than security of our confidential customer data.
- Care about design and UX. You should be comfortable with CSS, and pay attention to detail when implementing designs.
- Strong English communication. You should be able to clearly discuss technical topics in English.
We're building a diverse team, and welcome non-traditional backgrounds. We don’t care if you have a CS degree or not. We do care about years of professional technical experience and as well as the non-technical skills that come along with it.
This role is not open to freelancers or agencies, and we are not interested in hiring through a recruiter.
Bonus points
You’ll be at a strong advantage for this role if you have:
- Experience on Google Cloud Platform.
- Experience working on data-intensive projects and related skills.
- Comfort with SQL and experience working with relational databases like Postgres, columnar databases like BigQuery/ClickHouse, and in-memory storage like Redis.
Expectations
- You can work independently while still asking questions when something isn't clear.
- We'll start by tag teaming over Slack as you learn the product, domain, and codebase.
- After 2-3 weeks, you'll be able to independently handle small features, add functionality to existing screens, and fix simple bugs.
- After 1-2 months, you'll be able to implement small to medium-sized, standalone features, build new screens, and fix more complex bugs.
- After 3-5 months, you'll be able to contribute to system refactors and more architectural-level changes.
Hiring process
- Fill out the application form linked below. You'll hear from us within 1 week.
- If you pass the application, you'll get a short coding test (15-20 minutes) to help us evaluate your programming fundamentals.
- Then, we'll do an initial, 30-minute interview over Zoom to learn about you and share more about our company.
- Finally, we’ll do a 45-minute verbal technical interview together with existing members of the team.
- In the end, we'll see if we're a match from both sides.
Our goal is to fill these roles by the end of August.
To apply
Please click the Apply now fill out the form to apply for this role.
Demonstrating an understanding of our product and this role will dramatically improve your chances of moving to the next step.
Thanks for your time, we look forward to receiving your application!