Senior Backend JS Developer

About

🏗The construction industry (8% of the European GDP) is very late in terms of digitization but it is catching up fast. The financial management of construction projects is very complex, however a vast majority of SMBs are still using Excel & Word to manage their business.

Graneet (www.graneet.fr) is a Financial Management SaaS for Construction SMBs : we help construction companies save time by automating key processes, avoiding costly invoicing mistakes, and providing them with a real time vision on the health of their business. All the key information is gathered in one single place where the entire company can collaborate !

We want to become the destination platform for any construction SMB to manage its business. The same challenges we are looking to solve are being faced by these companies in any country. France is just the beginning !

We are currently closing our Seed round with best-in-class investors (not disclosed yet 😉) to bring great people onboard and be able to help even more companies with Graneet. We are looking for passionate candidates, who are dynamic, eager to learn, and keen to participate in the change of one of the oldest industries : digitizing construction !

Job Description

About the tech team 🕹

At the moment our tech team consists of 4 great people and will double in size over the next 6 months. This growth aims at bringing new functionalities to the very core of the Graneet platform, and deliver more high value features to our clients around 3 major topics:

  • Keep track of new projects opportunities and issuing quotes
  • Create project invoices easily conforming to the specifics of the construction legislation
  • Manage expenses and allocate them per project to monitor the margin and profits made

Our code base is tested and relies on a monorepo which features:

  • React for the frontend + Chakra UI and Storybook for components
  • Rollup + Webpack for bundling the front
  • Node (NestJS + TypeORM) for the backend APIs
  • PostgreSQL for our database
  • Docker for containers

DevOps-wise our CI is automated via GitLab and CleverCloud services, our French host. This allows us to provide a zero downtime deployment to our customers. AWS services (such as Lambda, EC2, S3, SQS, …) also cater a few more specific needs.

Here at Graneet we value quality and are eager to iterate and improve our dev-flows and processes. We used to spend 50%+ of our time on conception and review, furthermore we apply the principles of the Lean methodology in order to track issues and reduce waste.

Job description

As Graneet’s Senior Backend JS Developer, you will have a key role in building and maintaining the product, as well as training other devs and helping the whole team to grow smoothly. Let’s dig into what your position entails:

Delivery

  • You set out, implement and maintain performing, reliable and secure APIs
  • You ensure a sane scalable architecture and structure of the backend projects
  • You play an active role in the architecture, in particular on third-party connections and Cloud infrastructure
  • You suggest, implement and/or supervise needed refactors so our tech debt stays to a minimum at all times

Quality / User experience

  • You ensure all new features are properly tested and get involved with the product team to improve UX to its best
  • You take part in covering more existing code with technical tests
  • You define, follow and push forward our quality standards
  • You make sure the product stays well documented

Communication / Management

  • You are active in leading code review and see it as a great tool to spread knowledge across the whole tech team
  • You plan and give peer-programming sessions, and train other teammates as needed
  • Along with the product team you study feasibility of a design/functionality, and bring constructive criticism
  • You estimate time/complexity of any given task and can explain it to non-tech people
  • You write out your deliverables in English

Organisation

  • You accompany the team’s growth and take charge in each new onboarding/recruitment
  • You take part in the team’s life and you come up with ideas to bring it to its best level 🥂

Preferred Experience

  • You need to be fluent in French
  • You have at least 4 years of experience in backend development, mostly spent on Node.js which hides no secrets from you especially with TypeScript
  • You had successful experiences with other programming languages / frameworks which gives you an open mind as to adequate solutions
  • You know and apply best practices for connections to other APIs or external tools
  • You improved some CI-CD processes and are eager to improve Graneet’s ones
  • You are familiar with Cloud services and in particular AWS with which you have already set up infrastructures
  • You are curious by nature and the simple idea of the very odd fiddle with frontend code isn’t tripping you out already 😁
  • You are goal oriented and like to get things done the right way
  • You have an analytical mindset and are able to break down a problem into smaller ones easier to tackle
  • You have had a positive experience as lead backend and you have at heart to bring the tech team to embrace your vision
  • It is important for you to share your knowledge and wish to be part of the exciting journey that is a young and dynamic tech startup like Graneet !

Bonus points ✨

  • You have a repo where you host personal projects, awesome!
  • TDD et BDD are tools you use on a daily basis
  • You know and apply Lean principles

Benefits 🥳

  • Competitive salary
  • Employee Stock Options : All our team members own a part of Graneet !
  • Access to trainings on demand
  • Participation to "Pass Navigo" (or equivalent compensation : 🚶‍🚴)
  • Participation to lunch expenses (Swile card)
  • Superb offices in the center Paris

Recruitment Process

  • Introduction call (30 min)
  • Interview with Raphaël - CTO (1h)
  • Technical exercices (remote) + Debrief (30min)
  • Physical interview with all founders (1h)

Additional Information

  • Contract Type: Full-Time
  • Location: Paris, France (75011)
  • Experience: > 4 years
  • Occasional remote authorized