Job title: Senior Full Stack (Typescript, React/React Native) Developer
Type: Remote, permanent, full-time position
Do you have a soft spot for profitable companies with a meaningful, globally used and loved product? Would you like to work within a compact, super-capable team in a refreshing work environment? Would you like to work on an application that is changing the way we learn and communicate? Drops could be the place for you.
You’re a no-nonsense person, comfortable taking on a variety of projects who has been working within product companies and has extensive development experience across the development.
You’ve spent years within the frontend (React/React Native), combining your presentation layer with your backend business logic. You have a deep understanding of data structures, storage and restful API design for both the browser or a mobile client. You enjoy the challenge of growing a product from an (already) large user base to a larger one with tens of millions of MAU with all the complexities it comes with.
You are an advocate for static typing and prefer to use a minimal set of simple tools over complex ones. You know when to store data within RDS or when to use S3, you know when you should use object storage or relational. You know your way around the core AWS services and you’re comfortable with maintaining CI/CD pipelines
You believe variety is the spice of life - In this role, you’ll be developing a complex app deployable to web and app stores, building internal automation infrastructure/tooling and contributing to our CMS project. You’ll be working on our fully serverless, auto-scaling architecture for both product development and technical debt refactoring.
Drops is a deliberately small, but super effective team. You’re naturally drawn to the fate of the products & driven to grow as an engineer rather than to manage people.
You’ll be a core part of the development team, working on both our main (Drops) and auxiliary products (Droplets, Visual Dictionary, Internal CMS tooling). Drops values clear, honest communication and transparency. It’s the linchpin of our culture, success and freedom. You’ll be involved in both high and low level decision making and are available during European working hours (10AM - 6PM CET). Remember, we’re looking for a missionary here rather than a mercenary.
- Work cross functionally with our lead designer / data analyst / engineers / project owner to define, scope, estimate and plan various aspects of the product
- Work independently (and with other engineers!) to develop new web experiences
- Support of production applications / sites that you’ve built or helped to build
- Communicate effectively and often to ensure that everyone is aligned
What’d be different here:
- We’re a small team. We’re optimising for impact, not for headcount. You’ll be carefully considering any tradeoff that would lead to increased complexity
- We’re using a single programming language - TypeScript. We have strict linter rules. Every pull request needs to be approved before it lands in master. We use the rebase workflow and we release a few times a week
- We’re using React + Redux to develop UI, on both mobile and the web. We use selectors extensively. Our backend is on AWS, deployed multi-region to Lambda and using RDS for our DB and S3 for storage. We use Buildkite for our CI/CD and Bitrise for our deployment tooling (iOS)
- We’re using a large suite of tools for both business and platform analytics
- We are BIG on AB testing. We focus on releasing high impact projects and minimise noise
- We’re doing things in a functional way, concentrating state, minimising side effects and making dependencies explicit. We’re sharing 98%+ of the code between Android, iOS and Web
- We automate where it has positive ROI
- Our biggest challenge is (and will remain) managing the complexity of sharing a lot of code between different apps
- At least 5 years of experience in software (product) development
- At least 2 years of experience in building apps with React or React Native with state management tools (redux, flux, etc)
- At least 2 years working with relational databases and/or document storage
- At least 2 years of experience of working within serverless architecture (experience writing business logic in AWS Lambda would be awesome)
- Experience architecting and developing complex web or mobile apps and static sites
- Some experience in understanding basic user funnels, and collaborating with support to resolve user-facing issues
- Project management experience (everyone manages projects at Drops)
- Strong verbal and written communication skills
- The ability to work well cross-functionally
- Experienced in strongly typed languages
- 🌍 All the perks of remote working
- 👥 An awesomely compact 20 person team
- 🧠 Yearly educational allowance
- 💪 Fitness allowance
- 💻 High-end Apple hardware and ergonomic accessories
- 🏖 36 days of holiday per year
- ✈️ Quarterly team gathering somewhere in the world (Amsterdam, Iceland, Lisbon and Budapest were previous locations)
Job posted 2021-03-16