Firstly, What are we trying to achieve at Flick?
We're an Instagram marketing platform that’s on a mission to help creators, entrepreneurs, small businesses, and Social Media Managers live better lives by saving them time, helping them get things done, and improving their results.
Over the last 2 years, we’ve focused on helping people with their hashtags and analytics – with over 20,000 paying customers, we're now looking at the adjacent problems that we can work on to help make their lives easier.
A message from me (Andreas - Co-Founder & CTO)
We're looking for individuals to form the foundation of our new cross-functional teams. This means you'll have a lot of freedom & opportunity to grow via solving hard problems with huge ownership of the feature/product you're working on. Our team is full of highly motivated & super-intelligent people who love to extract the most out of life.
Our engineering culture is slowly becoming a "build in public" kind of vibes and is super focused on adopting awesome technologies & ways of working. If any of the above sounds interesting to you, and you're keen to work in a fast-growing (bootstrapped) product startup, innovating in the marketing space, I'd love to hear from you.
It would be desirable to have experience across our backend and frontend:
- React (Next.js)
- GraphQL (Apollo)
- E2E testing (e.g. Cypress)
Professional experience with infrastructure (e.g. AWS)
Find out more about our stack here.
What you'll do
- Implement brand new features. We're working on implementing a new area of our product: Instagram Post Scheduling.
- Co-own the product and work self-directed in a cross-functional team. We're a small team of individual contributors. Everybody has autonomy and responsibility. You will work with others on new features from ideation to release, through to maintenance. For example, you might build an analytics dashboard for Instagram stories. You may work on a backend system to integrate with the Instagram API to efficiently store large amounts of Instagram data, to be used to serve insights to our users.
- Improve our current features. You'll help improve performance and reliability, or polish existing features. For example, you might improve the user experience of our existing hashtag search, allowing for pagination through related hashtags.
- We're a small startup. Wear many hats. We're all generalists. You might add a new feature to our Next.js app, set up infrastructure components, or write a blog post about how we built a new feature.
- Form the backbone of our engineering department. Contribute to technical and architectural decision-making. Drive meaningful process improvement and ensure the implementation plans are deployed and followed.
- Deploy, monitor, and optimise your code in Vercel and AWS.
- Improve processes and developer tooling. Following the Pareto principle, we aim to continuously invest in our future selves by setting up systems and improving processes.
- Improve the reliability and deployability of Flick. Extend Github Actions CI/CD to automate new tasks which involve building and maintaining unit and mostly integration and e2e tests.
What makes you a great fit
Value personal & team growth
Our engineering culture is slowly becoming a "build in public" kind of vibes and is super focused on adopting awesome technologies & ways of working (e.g. adopting Blitz).
- Flick can act as a playground for your growth.
- The things you work on should be seen as your blank page. Express your creativity as you wish.
- There's space for innovation at every level of the business. No matter what you're working on, you should feel you have the freedom & flexibility to innovate.
You're highly productive while writing quality code.
We release updates every 1-2 weeks. You can break down big projects into small deliverables. You care about the outcome and take a pragmatic approach to deliver it. You know when you want a code review or need to write tests. You're also comfortable asking for help when you get stuck.
Thoughtful software craftsmanship and problem-solving
You leave the Flick codebase in a better place than when you found it. Your code is a pleasure for your teammates to read. It should be easily understood, and simple to build upon.
You should love the art of engineering software. A practised understanding of ideas in Uncle Bob and Martin Fowler's books is a huge plus.
Deploy engineering best practices through the SDLC to ensure engineering output is top quality and your technical debt is kept to a minimum. An understanding of best practices in scalable frontend and backend architecture.
You care about the code our writing and its maintainability. You take a balanced approach to engineering, embracing pragmatism over perfection in your work.
A passion for shipping and iterating on high-quality interfaces
You can work closely with our design & product teams to build and maintain Flick's magical user interfaces for our diverse range of customers (IG native 20-year-olds to 55-year-old marketing moms).
You're product-minded. You have a sense of great user experience and feel when something is off. You work with continuous deployment and preview environments to get constant feedback and you have monitoring and analytics in place to quickly act when something unexpected happens. You're eager to optimize UI responsiveness and dig deep when there is a need to resolve a tricky issue. You treat the products you build as an extension of yourself and proactively iterate on them.
Comfortable working in a scaling startup
You have a track record of working on great web applications. You've experienced the technical challenges of rapid growth in a (preferably B2C) SaaS company. You've seen software projects succeed and fail and bring in proven concepts to ship software from day one.
Bonus points that will make you an even better fit!
- Familiarity with aspects of our tech stack: React Native, Next.js, Elasticsearch, Redis queues (Bull), Apollo Client & Server, TypeGraphQL, Typegoose (Mongoose), Cypress, Jest, Storybook
- Experience using a style-in-props methodology. E.g. theme-ui, tailwindcss, xstyled, Chakra-UI (we use a custom fork of Chakra UI for Flicks design system).
- Experienced being in a team that was building big data products. Those which involve storing large amounts of analytics data, from which you build features for users.
- You're able to partner with Product Management to break down large, complex projects into smaller tasks with rapid iterative milestones and clear outcomes, to produce predictable product and engineering roadmaps.
- You take ownership and feel responsible for the product as a whole. You don’t mind getting your hands dirty and work with legacy code.
- An understanding of architecting solutions around observability, scalability, reliability, security, etc.
Our stack - only the best tech
- TypeScript Nx monorepo frontend: React, Apollo Client, Recoil, Next.js, a custom fork of ChakraUI, Cypress, Storybook, Chromatic UI snapshot testing, etc.
- TypeScript Nx monorepo backend: Apollo Server with TypeGraphQL and Typegoose.
- TypeScript React Native mobile app: RN, a custom UI library similar to ChakraUI and Apollo client.
- Infrastructure: Amazon SQS, MongoDB Atlas, Amazon Neptune, ElasticSearch, BigQuery, Redis, and more.
- Modern work tools for everything. Notion for roadmap and tasks, GitHub as source control, Sentry for error reporting, Datadog for observability, Segment for tracking and Amplitude for analytics, Slack and Loom for internal communication, Figma for pixels, Notion as a knowledge base, and a few others. As a team, we enjoy using Bear, Hey, and more awesome apps.
Perks & Benefits
Home office setup budget & goodies
Kit up your home office or workstation.
Books, courses or whatever you want.
25 days paid time off for vacation, holidays & sick days.
Work from anywhere in the world.
Our process aims to ensure that both sides get a feel of what it's like to work together day-to-day.
Our process is as follows:
- Getting to know your values and experience. We'll reach out asking you to share with us what excites you about this role at Flick.
- An intro call with Andreas. Both parties get to know each other. You learn more about the team, codebase, and Flick. At this point, you can ask us any questions that you might have.
- Coding task. We'll send you a task that is similar to something that you'd pick up on our Notion roadmap.
- A zoom call to chat about your task. In this stage, you'll have a quick zoom call with the three founders. You'll have an opportunity to get to know us and show your work. ****Andreas will ask some role-specific questions to better understand how you work.