Flutter Software Engineer - Mobile
Contentsquare is a digital experience analytics company dedicated to making the digital world more human through online experiences built on trust, privacy, and accessibility. Since our founding in France in 2012, we have grown to be a truly global team, representing more than 70 nationalities in offices across the world, including New York, London, Paris, Munich, San Francisco, Barcelona, Amsterdam, Tel Aviv, Tokyo, Singapore, and more.
We’ve been recognized by Frost & Sullivan as a Global Company of the Year, and by Wired Magazine as one of Europe’s hottest startups. In July of 2022, we raised $600M in Series F funding, doubling our valuation to $5.6B. But we’re not stopping there.
To reach our ambitious goals for the future, we will be nearly doubling the size of our global workforce in the next 2 years. Want to learn, innovate and contribute your unique perspective to an industry leader? Join the team dedicated to bringing more human analytics to the world!
🚀 Our mission
At Contentsquare, all employees share one goal: to help brands create exceptional online experiences with our industry-leading digital experience analytics platform.
In the mobile data collection team, we are on a mission to build the industry leading digital experience analytics SDK.
With a stellar growth, billions of users, a complex business environment and the need for us to have a very high level of quality, performance and privacy, you’ll find an engaging, rewarding and supportive work environment at Contentsquare.
We are looking for developers who understand that development is a team effort, who are proud of a job well done and know how to implement simple and efficient solutions to solve challenging and unique problems.
💻 Our stack
On the data collection side, our SDK works on native iOS applications (implemented in Swift) and native Android applications (SDK is in Java - converted to Kotlin over time -, Unit Tests and Sample App in Kotlin). We also support various multi-platform frameworks (React Native, Flutter, Capacitor/Ionic, Cordova) with specific bridges.
The Tag (implemented in Typescript) that collects data on websites (both desktop and web mobile) is implemented and maintained by the Web Team.
Our APIs are mostly designed with our specific constraints in mind. For example, the most data intensive ones use Protocol Buffers.
Our backend uses a combination of technologies such as Kafka, Spark, Flink, Akka, ClickHouse and languages such as Scala, Golang, Python, C++.
Our monitoring and deployment are handled through Kibana, Grafana, Terraform, Datadog and finally, everything is hosted on AWS and Azure.
Our frontend is a micro-frontend SPA developed mainly in Angular/Vue.js and Node.js.
🧠 Our challenges
Our first challenge is to navigate through uncharted territories, native APIs, cross-platform wrappers and bridges as well as poorly documented features to make sure we collect all the relevant data we need to compute our insights.
In addition we obviously must ensure a very high level of performance (as well as the least impact on user experience), stability and be very mindful about data and CPU consumption.
Our rapid growth requires a strong focus on software architecture, code sharing and automation to sustain our delivery capacity while increasing our teams' size.
Finally, we are not a tracking company, so collecting PII (Personal Identifiable Information) is an absolute no-go for us and we take it very seriously!
🤗 Skills & Mindset
If you have already worked on any kind of software SDK your experience will be of great interest to us.
In the same way, if you have notable experience in high performance code, automated non-regression and performance testing, software bridges (between technologies, native and non-native), and if you love working “between the lines” by bridging native and cross-platform technologies or frameworks such as Flutter/Dart, Swift UI, Compose, React Native/Typescript, we would love to hear from you.
As a team we are really involved in producing a high quality SDK. We expect our developers to know how to unit test their code, to write easy to read & maintain code and documentation as well as being comfortable doing pair programming with their team members.
🏝 What we offer
A healthy working environment with supportive team members, a place to grow both technically and as an individual
Autonomy, responsibilities, and opportunities
An Engineering Career Path (with clearly defined progression steps and opportunities to mentor and be mentored) to make sure you always learn something new
Plenty of opportunities for training and development
Attractive salary and stock options
Flexible working conditions (full remote, 100% in-office or any hybrid setup of your choice)
A dynamic and multi-cultural company with +50 nationalities
Good health insurance
Many benefits such as reductions on gym membership and leisure activities
While we are offering fully remote opportunities, employees need to be fiscally based in one of our main countries to be hired by one of our office. Please ask your recruiter for more information.