Position: Senior Node.js Developer
Company: Developers Shore
Category: Node.js
Experience required: 3y
English level: upper

**Role description:**
Node.js developer with experience in Firebase Cloud Functions and testing.

**Brief description of our client:**
The product is a service that makes it easy for private individuals to find & hire certified craftsmen for large and small projects, as well as for craftsmen to work more easily with private customers. Through the app for iOS, Android and the Web, they replace home visits before quotation with video calls, and simplify communication with chat, in-app quotes, price guides, etc. Through the our Product, you can today hire certified Electricians, Plumbers, Carpenters, Painters, Tilers and Arborists in Stockholm, Gothenburg and Malmö.

**About the Team:**
The company currently has 5 full-time employees and a number of consultants. The tech team consists of two people: CTO with a background in mobile app development & solution architecture, and a Flutter developer.

**Assignment description:**
Our tech stack today consists of a Flutter app and a React web app that both talk to Cloud Firestore and a serverless backend of Firebase Cloud Functions that runs Node.js. The assignment consists of setting up a new test-driven foundation for our cloud functions using the new Firebase Local Emulator Suite. The goal is to get the existing cloud functions unit- and integration tested, and set up a foundation & practice for future development with TDD with a functioning CI / CD pipeline through GitHub Actions or similar.

**Technique:**
Typescript, Node.js, Firebase Cloud Functions, Firestore, Firebase Local Emulator Suite, TDD, CI / CD


**Other skills needed:**
Independent, responsible, commitment to Open Source is a plus. Communicative developer between, can explain solutions, engaged in pull requests. No contact with customers or marketing / other team in this role. However, plus if any extension.

**Values   and culture:**
Individual responsibility is rewarded as we are a small team, but rather a question of input than getting stuck yourself. The whole team is remote. We are more like a team than a family and are incredibly user-driven. Care about work-life balance = overtime only takes place if absolutely necessary.