Who we are and what we’re looking for :
Bergamotte (www.bergamotte.com) offers a curated selection of flowers, plants and accessories, delivered everywhere in France and Germany. Each of our bouquets is designed by our floral artists and made in-house with flowers sourced directly from farmers. With lots of exciting new projects in bloom, we're looking for a few talented folks to join our growing tech team.
You will join a team of about ten to help us fine-tune our existing apps, as well as design and build new features. You can either work from our stylish office in downtown Paris or from the comfort of your own home - it’s up to you. We’re looking for a developer with extensive experience with semantics, accessibility, optimizing for speed, an eye for detail and an ability to put themselves in the end-user’s shoes.
Requirements :
- At least 3 years of experience working on e-commerce apps or similar projects
- Great written and spoken English skills
- Able to work full-time
- Able to enter into an employment contract or to bill clients in France
Our stack
We build our systems using Ruby on Rails, but enforcing our own conventions, to help us deal with the several apps we build and maintain daily to serve different aspects of our business.
We are constantly working on improving our workflow and tech stack, establishing and embracing new practices and tools. We are not afraid to test things out and see if it works than to say no without trying.
Here is a teaser of some of our conventions and stack:
- ActiveRecord models only deal with database access and are very simple. We don't do system logic here.
- Controllers only deal with request-reponse and are very simple. We don't do system logic here.
- Our system logic resides in Services that are just Plain Old Ruby Objects.
- We structure and separate our applications using Rails engines.
- We compose views as if they were simple components. Our view system is inspired by Trailsblazer's Cells, Hanami views and Elixir Phoenix patterns of separating the template (.erb/.haml/.slim/.eex depending on the reference framework) from the presenter (View/ViewModel depending on the reference framework). Templates are as logic-less as possible and self-contained.
- We use and maintain an internal UI reference for visual components based on this system that render in isolation and that we use in many applications.
- Ruby, JavaScript and Haml style is automatically enforced with tools during development and on CI using Github pull request hooks and AWS Lambda.
- All commits go thru a Pull Request workflow were they are reviewed by at least one fellow developer (+ CI linters and test suite run) before it can be merged.
- We follow infrastructure as code principles and use Docker and AWS Codebuild.
- We render server side as much as we can and are not using a JavaScript front-end framework, although some of our team members have experience with React and Vue. We might use one in the future, if necessary. But hasn't been necessary yet. We don't have a client API to maintain as a result.
- This position doesn't require strong front-end skills but would be a plus. Our front end stack uses Webpack, es6 JavaScript and Sass.
If this sounds interesting to you, the first (and most important) step of the application process is a code test. Send us your application at tech@bergamotte.com and we'll send it to you.