Become a Marmelab Developer
At marmelab, developers don't just code. They transform the ideas of our customers into actual products. To do so, they use cutting-edge web technology and agile methodologies. Developers have the technical responsibility of the products they build. Oh, and we don't have project managers, so developers are in constant touch with customers without intermediaries.
We follow the evolution of the web stack very seriously. We dedicate 10% of our time to research and development, during which we test new approaches, languages, or libraries. When those new technologies actually bring an advantage to our customers projects, we do not hesitate to use them in production. Using this approach, we started using Node.js in 2012, d3.js in 2013, React.js in 2015, Serverless in 2016, GraphQL in 2017, TypeScript in 2018, and it's only the beginning!
If you're passionate about web & mobile development, Marmelab will be a great opportunity to level up.
React & Redux
Agility And Communication
Backed by agile methodologies (SCRUM, Kanban, Lean Startup), we focus on the end user value to design and build features. We are directly and constantly communicating with our customers and their domain specialists.
We develop in an iterative manner, in two weeks sprints. We deliver to production continuously, and collect domain specific metrics from end users. Customers prioritize the work every 2 weeks, based on the feedback from earlier sprints. We design each new feature in collaboration with our customers, so they can confront their vision to what the web stack can offer. We look for shortcuts to build a better product faster. We refactor continuously to avoid technical debt.
We talk to the customer Product Owner every morning in a short video conference. And at the end of every sprint, we meet in person for a demo and retrospective. Customers are always aware of the work we do and the problems we solve. This constant communication helps us avoid waste, and the nasty tunnel effect. Customers see us as partners more than contractors.
Shared Responsibility and Autonomy
At Marmelab, developers propose their own solutions to the customers needs. They choose the technologies themselves, making sure their are a good fit for the customers context. We choose standard, durable, and fun to use solutions. When we hand over the code to our customers development team, we make sure they become autonomous.
We make decisions as a team, and we share the responsibilities. This autonomy promotes a deep involvement in our customers projects. It makes us have a strong impact on the direction they take.
When we make architecture decisions, we tend to document our key learnings in our blog, see for yourself.
Should we always use redux?Read more
Progressive migration from Angular to ReactRead more
How to automate accessibility tests?Read more
Research And Development
At marmelab, we keep ourselves up to date with web and mobiles technologies. We regularly attend Tech / UX / Agile / Product conferences - it's part of the job description.
We constantly look for tools that help us solve our customers problems faster, or address a complex use case in a simple way. We experiment these tools early on, so we can know them when a customer needs them. We share what we learn in the open, because we learn a lot from other people doing the same.
We also regularly go to conferences as speakers. If a particular subject catches your attention, marmelab will invite you to talk about it publicly.
We organise a hackday every two weeks. Marmelab employees choose a technical subject of interest, and work on it the whole day. It doesn't have to be related to the project they're working on.
It can be a new language to discover, a tool to build, a methodology to learn about. The goal is to learn something new, and to leverage this learning for the others, with a blog post or an open-source project.
Detox : a testing frameworkRead more
How to track memory leaks?Read more
What's functional programming?Read more
Do you picture yourself as a marmelab developer?
The main skill we're looking for is the love for work well done. No matter what programming language you master. You will learn, by our side, the current technologies and their best practices.
We're looking for more than just a particular skill, we're looking for a deep experience in web development and the ability to use this experience in new customer projects.
We are looking for seasoned developers, having at least 5 years of experience. You should master:
- JS or PHP7 or .Net/C# or Java/J2EE or Ruby or Python, in production and on a large codebase
- A MVC framework (Express, Symfony, MVC.Net, Sprint, RoR, Django)
- API-centric architectures (REST, HTTP)
- Design patterns
- Automated tests
- Frontend tech (HTML, CSS, animations, accessibility)
- At least one relational database (PostgreSQL, MySQL, MSSQL, Oracle)
- At least one NoSQL database (ElasticSearch, Redis, MongoDB, Cassandra)
- Performance optimisation (profiling, HTTP lifecycle, memory management)
- Collaboration with other developers (pull requests, code reviews, continuous integration)
- French and English
- Agile methodologies (SCRUM or KANBAN or Lean Startup)