Full Stack Software Engineer (Typescript/Vue.js)
Job Description
OfferFit was founded by ex-McKinsey and BCG math PhDs, and we’re funded by leading Silicon Valley VCs. OfferFit replaces A/B testing with AI testing, powered by reinforcement learning AI. This allows lifecycle marketers to test & improve the performance of their campaigns much faster than before. Customers include leading brands like Brinks Home, Yelp, Engie, and MetLife, among many others.
Note for Applicants:
Data shows that men on average apply for a role if they meet 6/10 requirements while women often only do so if it’s 10/10. We work hard to be clear and specific about what our roles require, and we encourage you to apply even if you don’t check all the boxes! Applying gives you the opportunity to be considered and we look forward to reviewing your application!
Do you enjoy working on complex data-intensive products from an early stage? Come join our quickly growing Engineering team to help design, improve and scale OfferFit's self-learning (reinforcement learning) AI platform.
In particular, you will:
- Use robust software engineering best practices to design, implement, and improve modular components in a cutting-edge ML product
- Collaborate closely with other teams (e.g., UI/UX, Product, Research, Implementation) to create scalable and dynamic OfferFit product components
- Apply your extensive knowledge of TypeScript, JavaScript and their ecosystem to build a clean, reliable, and extensible web application
- Influence OfferFit’s product strategy and roadmap
- Support teams implementing OfferFit for customers to ensure their success
Tech stack:
- Web: TypeScript, Nuxt, Vue.js (v3), Node.js, PostgreSQL, HTML5, CSS3
- Data Science/ML Pipeline: Python (Pandas, Polars, Ibis, Spark), SQL, BigQuery, FastAPI [Not required for this role, although experience with Python would be helpful]
- Architecture/DevOps: Docker, Kubernetes, Airflow, Terraform, GCP, BigQuery [Not required for this role]
- We write well-tested, type-hinted, documented, modular code and use pre-commit hooks, CI/CD, and issue tracking for development.
Why is it great:
Build the first platform to make RL available to marketers everywhere!!
- Get in at an early stage to make a great impact on the product concept, look and feel.
- Participate in the AI transformation happening in marketing technology today.
- Work in a team that not only talks the talk of development best practices, but walks the walk — unit & integration tests, modular design, CI/CD, pair programming, code reviews — the works.
- Join OfferFit’s fast-paced, supportive, and professional team. We make sure all of our team members are empowered and receive great mentorship and coaching.
Who’s a Fit:
- Exceptional coder: you write clean code and you care about good design and development best practices
- Tinkerer: you regularly explore and learn new technologies and methods
- Problem solver: you recognize patterns, synthesize information and come up with creative, simple, and practical solutions
- Entrepreneurial: you proactively identify opportunities and risks, work around obstacles, and always seek creative ways to improve processes and outcomes
- Structured and organized: you can structure a plan, align stakeholders, and see it through to execution
- Clear communicator: you are able to express yourself clearly and persuasively, both in writing and speech
Additional Requirements:
- Applicants willing to overlap most of their workday with Eastern Time Zone (ET) working hours are highly preferred
- Must be fluent in English, both written and verbal
- Up to 10-15% travel for company-wide quarterly gatherings, team offsite workshops, and industry-related events
OfferFit Benefits and Perks:
- Generous PTO policy (starting at 25 days PTO per year) and Parental Leave policy (12 weeks paid)
- 100% remote work environment with flexible hours
- Quarterly gatherings where we meet in person in a different city to work together, bond as a team and celebrate our progress
- Weekly team events (lunch and learns, trivia, virtual escape rooms, town hall and team health “barometer” meetings)
- Ability to learn and develop under an experienced leadership team (ex-Amazon, McKinsey, BCG, and IBM, among others) who are focused on building a talented, diverse, and inclusive team
- Dedication to building a strong culture (e.g., employee resource groups, weekly employee recognitions, major life event celebrations, mental health/sustainability days off, etc.)
Please note that we adjust compensation for non–US countries using a relative cost of labor adjustment between the US and your country of residence. Applicants should apply via OfferFit’s internal or external careers site.
OfferFit is committed to a diverse and inclusive workplace. OfferFit is an equal opportunity employer and does not discriminate on the basis of race, national origin, gender, gender identity, sexual orientation, protected veteran status, disability, age, or other legally protected status.
More job openings
Senior Contract Recruiter
Are you a skilled recruiter with high volume experience in the fintech industry? Are you looking for a challenging and dynamic contract role that allows you to work flexibly for 6 months? Look no further!
Tasks
Our fintech client, is seeking a Senior Contract Recruiter in Europe to join their team during a time of change and growth. As the company continues to expand and evolve, our client needs a talented and driven individual to assist in finding the best candidates for all open positions.
As a Contract Recruiter, you will play a crucial role in identifying, attracting, and hiring top talent for our client. Your responsibilities will include sourcing and screening candidates, conducting interviews and working closely with hiring managers to understand their needs and develop effective solutions to meet those needs.
Requirements
To be successful in this role, you must have a deep understanding of the fintech industry and its talent landscape. You should be a sourcing expert and able to creatively utilise various recruitment methods with a limited budget, including online job boards, LinkedIn Sales Navigator and social media.
Strong communication and interpersonal skills are a must, as you will be interacting on all levels with international candidates, hiring managers, and other HR team members on a daily basis.
With our client undergoing a period of change, we need someone who is adaptable, resilient, and able to work in a fast-paced environment!
Your ability to multitask and prioritise will be critical in managing a high volume of recruitment activities.
Benefits
This is a contract position for approximately 6 months, located in European timezone.
If you are a results-driven and adaptable Contract Recruiter (Sales/Business or Technical) with a passion for finding top talent, we would love to hear from you.
Please answer these questions in the 'cover letter' field on the application form:
- Have you previously worked in the UK or collaborated with British-based teams?
- Are you currently working remotely or from home?
- Have you had any experience working as an independent contractor in the past?
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
Senior Frontend Engineer
About Smartcat
Smartcat is on a mission to become the wall-to-wall Language AI platform, addressing the diverse needs in multilingual content for various user personas within global enterprises.
Smartcat is uniquely positioned within the $100+ billion multilingual content industry, which is currently served by tens of thousands of agencies. This results in a highly fragmented and inefficient supply chain, high costs, unacceptable turnaround times, and quality issues. Using highly qualified internal resources to translate or create multilingual content (insourcing) solves the quality problem for enterprises, but if done manually, it can't solve for scalability, high cost, and slow turnaround.
Smartcat changes the ROI equation in favor of insourcing with its Language AI platform for enterprise end-users. It delivers high-quality, instantaneous AI translations or generates new content in any language by tapping into a customer-specific multilingual content library. The AI output is further refined through human editing by the client's internal reviewers or experts from the Smartcat's embedded global marketplace of linguists and content editors. This AI output continuously improves through the editing feedback loop, ensuring consistent and customer-tailored results.
More than 1,000 global companies including ~20% of the Fortune 1,000 trust Smartcat to communicate their innovations and ideas all over the world.
As a dynamic Series C company, Smartcat is growing at 130% YoY, thanks to the high and quick ROI it delivers to global enterprises. It's well-funded by notable VCs, and is capital efficient, offering a unique blend of hyper-growth potential with downside protection and the capacity for long-term planning and strategy.
Mission
As a Senior Frontend Engineer at Smartcat, you'll be at the forefront of shaping our platform's future. You'll lead the development of cutting-edge features, optimize our application's performance and scalability, and ensure our growing global client base enjoys an exceptional user experience.
Outcomes
- Design, develop, and deploy frontend applications that solve real-world customer challenges
- Enhance application performance, scalability, and security
- Develop and maintain components within the Smartcat design system
- Collaborate closely with product managers and UX/UI designers
- Troubleshoot and resolve production issues efficiently
- Actively participate in code reviews and knowledge sharing
Requirements
- 5+ years of professional Software Engineering experience, with 2+ years in JavaScript/TypeScript
- Experience in SaaS product companies (1+ years)
- Passion and skill for writing clean, maintainable, and testable code and well-documented JavaScript/TypeScript code
- Experience with writing and maintaining Unit tests (Vitest) and E2E tests (Playwright)
- Strong experience with Vue.js
- Ability to create pixel-perfect HTML layouts from Figma designs
- Solid understanding of working with HTTP APIs
- Upper-intermediate or higher English proficiency (written and spoken)
- Strong problem-solving skills and a growth mindset
- Readiness to thrive in a fast-paced startup environment with extreme focus, a strong sense of ownership, and determination
- Openness to constructive feedback and value the ideas and opinions of others
Our technologies
- Frontend: Vue.js 2/3, Nuxt 3, Typescript
- Backend: .NET Core (C#), Python
- Databases: MongoDB, PostgreSQL, Elasticsearch
- Messaging Queue: Kafka
- Cloud Provider: Amazon AWS
- Monitoring & Logging: ELK (EFK), Prometheus, Grafana
Why joining Smartcat might be your best move so far
- Fully remote team
We are a global team of 200+ enthusiastic people spread across 30+ countries. We have been fully remote since 2020, with some locations populated with more Smartcaters than others, such as Boston, NYC, SF, the Bay Area, London, and Lisbon. - Innovating a $100 Billion industry
Smartcat’s innovative approach towards multilingual content, taps into a $100B industry. Our platform enables enterprise end users to stop using traditional outsourcing methods, and start enjoying an easy-to-use, AI-powered SaaS, that delivers immediate high-quality results, at a fraction of the cost. - High impact role enabling innovation and inclusion in organizations
You will enjoy building with us. You will drive changes in how an old-fashioned global language industry operates while improving how hundreds of thousands of people work and millions of people exchange knowledge and ideas worldwide. - Join the rocketship to scale-up 10x and beyond together
We are looking for someone to become an integral part of our team and play a crucial role in the most exciting part of our journey: transitioning from a post-Series C startup to a company exceeding $100M in ARR and $1B in valuation. Our journey isn’t for the faint of heart. We are growing at 130% YoY, thanks to our strong product-market fit and high-performing team, and plan to accelerate from here. - Smartcat Culture: Where Diversity Meets High Performance
At Smartcat, we are committed to building a culture that highlights respect and appreciation for each individual's unique background and perspective, while maintaining a strong focus on results and clear, honest and direct communication. We believe in welcoming everyone and fostering an inclusive environment where team members can be their authentic selves at work. Our commitment to diversity and inclusion is steadfast, and we stand firmly against discrimination and harassment.
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
Technical Support Engineer
At StarTree we're a group of passionate individuals that desire to improve the lives of many by developing tools and technologies that support availability and speed in the world of real-time analytics.
Our aim is to make it simple for every company to delight their users - external and internal - and create new revenue streams from their data, by building the world’s most comprehensive and accessible cloud analytics system.
About the Role:
StarTree is seeking an experienced Technical Support Engineer located in Europe, who craves a challenge and feels energized to roll up their sleeves and help realize StarTree's potential and solve big problems.
Technical Support Engineers work at the intersection of StarTree’s engineering, sales, and customer success teams and drive customer success by helping identify and resolve critical issues in their production and pre-production environments.
In this role, you’ll interact directly with our customers to provide software development and operations expertise, leveraging deep knowledge of best practices in the use of Apache Pinot and the broader StarTree Platform. You will be hands-on in fixing issues seen by StarTree customers. This may include contributing fixes back to the open-source community. You’ll build strong relationships with customers, ensuring exemplary support and timely resolution to customer requests.
Responsibilities:
- Collaborate with other engineers to understand and troubleshoot systems and use the experience gained to influence the roadmap of the StarTree product
- Work with customers to resolve a wide range of issues with their deployments and usage
- Contribute to process development - we are always looking to improve how we work
- Communicate with product and engineering teams to provide product feedback from the field
- Improve product documentation and author knowledge base articles
- Create internal tooling and review product demos
What we’re looking for:
- Must be located in the Europe region to be considered.
- Experience in diagnosing, reproducing, and resolving technical issues in complex customer production environments
- Deep desire to help customers through direct interaction
- Previous experience working in a startup environment with global customers
- Experience troubleshooting applications running on Linux (resource contention, network bottlenecks, etc.)
- Operational knowledge of Java applications
- Experience with at least one mainstream distributed system
- Familiarity with streaming systems, such as Kafka, Pulsar, Flume, Flink, Spark, or similar
- Strong troubleshooting and critical thinking skills
- Excitement in learning about streaming data and becoming a domain expert in Apache Pinot
- Experience with cloud platforms such as AWS, GCP, or Azure is a plus
- Outstanding written and verbal communication skills
About StarTree:
StarTree is a cloud-based software company that enables business customers to derive advanced insights from real-time and historical data. StarTree was founded by the core software engineering team and inventors of Apache Pinot, which currently powers hundreds of user-facing applications at companies across industries, including LinkedIn, Uber, Target, 7Eleven, Etsy, Walmart, WePay, Factual, Weibo, and more. StarTree Cloud has enabled even more companies to deploy and operate real-time analytics at scale, including Stripe, Sovrn, Roadie, Just Eat Takeaway.com, Dialpad, Guitar Center, Blinkit, and more.
StarTree recently announced our Series B Funding with investment from GGV Capital, Sapphire Ventures, Bain Capital Ventures, and CRV. We have been named one of The Information's 50 Most Promising Startups and one of CRN's 10 Coolest Cloud Computing Startup Companies of 2022!
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
Graduate Web Developer
Why us?
🇬🇧 Up to £35k per year, full time permanent contract
🇪🇺 Up to 42k EUR per year (or currency equivalent), full time contractor contract
🌎 Fully remote working from anywhere in Europe!
✨ Exciting high growth product, relied on by leading global sports brands
💻 Working with the latest hardware, tech stack and tools
🏋️♀️ Access to benefits (country dependent 🌎 )
The working hours for this role is 9am - 5:30pm UK/EU time.
Summary
Storyteller is a platform that allows brands to integrate Stories functionality into their apps and websites. The platform is in use by multiple global brands serving millions of users. Check us out on our website or on ProductHunt!
We're looking for an amazing Graduate Web Developer to join our growing team and help push this product on to the next 100 million users.
You'll be working with a friendly, talented team and have the opportunity to grow technically. If the idea of a fast-paced, dynamic role with tonnes of opportunity for change, responsibility and innovation sounds exciting to you, then read on!
About us
Storyteller is a high growth B2B SaaS platform, which allows companies to integrate Stories into their owned and operated platforms. Popularized by Instagram and Snapchat, Stories are perfectly suited for boosting user engagement, audience retention, and driving advertising revenue.
For customers, building their own stories experience can take years and a lot of investment however Storyteller has solved this by allowing companies to integrate in days, not years all for one monthly cost. Our end‑to‑end platform gives companies a best‑in‑class Stories experience in days with native iOS, Android, and Web SDKs, publishing tools, analytics, and ad support.
We work with globally-recognised clients in US TV and Sports industries. Every day we produce work that is innovative, challenging, and enjoyed by millions of people!
Responsibilities
What can you expect?
At first, you'll most likely be:
- Assisting with project setup - learning processes and how things fit together
- Making amends to existing projects based on client and internal feedback
- Learning
Eventually, you will be:
- Generating new projects from existing similar projects
- Working closely with the rest of our team to deliver these projects
- Working on a wider variety of projects with larger scope
- Still learning
In time, we think you should be:
- Writing high-quality code that is understood by others and runs within any performance requirements
- Being solely responsible for delivering the technical parts of a project
- Fixing software defects and sharing what was learned from these occasions
- Liaising with project management colleagues when technical input is required
- Providing technical guidance to other developers
- Always learning
Qualifications
For starters, we are looking for someone who:
- Is excited about the internet and its positive, disruptive influence
- Has knowledge of how to use computers
- Can think through problems in a systematic way
- Is self-motivated and self-learning
- Likes to be challenged
- Prides themselves on their attention to detail
- Is used to working as part of a team
Ideally, we'd also like someone who:
- Has at least a 2:1 degree in a difficult subject (be prepared to explain why your chosen field was difficult!)
- Has some programming experience (even if it was 10 years ago)
Recruitment Process
First, you will be given access to a video screening platform called Hirevire where you will answer some screening questions.
If we like the sound of your results then we’ll invite you to complete a short technical test (which you will be compensated for) so you can show us what you’re capable of doing.
Finally, we’ll then invite you to meet Murray, our Web Team Lead, and Dave, our CTO, so you can present your task to us – explaining your technical choices and how you went about building it. We’ll also ask you some final questions.
And that’s it!
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.