Senior Node.js Developer
Full time - immediate start possible - Berlin Hackescher Markt
TL;DR: Your chance to bring your TypeScript experience to the table and accelerate a team of 6 with your experience and knowledge by building the leading enterprise dialog management tool.
Join our growing Future of Voice team to help our customers to build better voice applications.
We, the product team, are dedicated to build an enterprise tool that enables businesses to have conversations with their customers using voice assistants. Our product, Parloa, provides an interface for business users to design and maintain their dialogs. And we make sure to deliver these automated conversations in a scalable way on the leading voice assistants, like Amazon Alexa or Google Assistant and via telephone.
In our developer team we are using Scrum, peer reviews, TDD, and architecture workshops to keep pace with the fast-growing opportunities the assistants provide.
Company Techstack: TypeScript, Node.js, Kubernetes, Docker, MongoDB, Inversify, Lerna, Koa, Jest, Phoenix, React, Redux
What to expect – An example sprint
Monday – Sprintstart: The product owner summarizes the highest prioritized user stories. As they all have been groomed before, we share an understanding of the stories already. Together we agree upon the scope of the sprint. This sprint we mostly focus on the Epic of automatically upload the Google Assistant Speech Assets.
Kickoff: In the kickoff we plan how we go about the bigger stories and stories with an interface between frontend and backend. For the most part we stay in the domain we have most experience in (frontend/backend) and collaborate within the team to deliver the features. There are no hierarchies in our development team. Based upon your experience, you contribute how bigger stories can be split into tasks which can then be developed in parallel.
Tuesday: You co-create the first API draft with your frontend colleague. Your experience with structuring APIs including versioning helps to quickly find an adequate solution.
Wednesday: The product owner presents the biggest pain points and possible solutions in the Pregrooming meeting. We collaborate on the story to find more effective alternatives. Your good overview of relevant node.js/typescript frameworks allows you to contribute which external functionality can be leveraged. Your understanding of the fundamental design principles behind scalable and distributed web applications allows you to point out risks in the structure.
Thursday: After work, a small group gathers on the balcony to fade away the day with some drinks and bbq.
Friday: You have finished the story. Quite a few merge conflicts pop up while you create your pull request. You sit down with a fellow dev and resolve the issues in a peer programming style. As a team we always provide peer reviews of pull requests. Even though you have many years of professional experience and technical knowledge, you have not lost the skill to consider other points of view.
Monday: The customer success team uses Parloa to deliver voice experiences. They need more ways to analyse the usage behavior. Along with a voice user interface designer and the product owner you participe in a workshop to design the improved analytics features. Your understanding of delivering a product incrementally allows you to propose releasable increments to the path of the full feature.
Tuesday: Big news from our customer success team! A new customer just went live using our product. Our daily ends with a short round of applause and appreciation for everyone who was part of the project.
Wednesday Evening: Every two months, we organize the Berlin Voice Meetup and it is time again. After the meetup we grab some beers together with some people from the meetup.
Thursday: We still turn up to work!
Friday: It’s testing time. We don’t have a dedicated QA person, but take on the responsibility ourselves. So we do a final manual QA before finishing the sprint. Many aspects are tested automatically. However, some of them should be tested manually, because it is more efficient. In the QA, we always detect some aspects we didn’t think of testing. You have worked with all levels of testing in the past. Identifying an appropriate way of testing is easy for you.
Monday: We release all finished stories and present the customer success team with the new features they can work with. Finally, we reflect in our retro what went well during the sprint, what we want to keep, and in which fields we still have room to improve.
- You will effectively collaborate with your peers, the product owner, UX designer, and our customer success team. (both technical and non-technical)
- You proactively contribute to team and organizational improvements in process and infrastructure
- You will code, test and operate node.js based services, which are mostly but not limited to backen
- You have 4+ years of professional experience as a developer
- You understand the fundamental design principles behind scalable and distributed web applications
- You have an in-depth understanding of Node.js and (preferably Typescript) and you have worked with relevant frameworks for web development
- You are aware of the difficulties in delivering product incrementally in a Scrum process and have know corresponding strategies with their pros and cons
- You have experience working in a scrum team, in which you were delivering products incrementally
- You have worked with all levels of testing and in past
- Identifying an effective testing strategy is easy for you
- You know how to structure APIs including versioning strategies
- You are experienced in using Jest, Koa/Express MongoDB, Mongoose, and Docker
- Other Pluses: Kubernetes, Lerna, Inversify, React, Redux, SocketIO, GraphQL
What we offer apart from a challenging job and an open environment:
- Work flexible working hours
- Join our voice meetup with over 1500 members in regular events
- Minimize the time to get to work because of our conveniently located office close to Alexanderplatz, Weinmeisterstraße und Hackescher Markt.
- Commit your work and join us regularly on the balcony for a bbq session, in our lounge for games night or just where you are for a cold drink.
- Enjoy drinks like coffee, rhababerschorle and coffee coke, fruits and snacks.
- To give you an idea what to expect when working with us, please find some comments from our last company wide retro below:
“Growing team … and I like everyone.” (Elisabeth, VUI Designer)
“Product usage and progress are on the rise.” (Stefan, Product Owner)
“We ship faster than our customers name requirements” (Cleo, Customer Success)
If the role and our company culture appeals to you, we look forward to hearing from you! Please send your application (resume / Xing / LinkedIn profile, portfolio and salary expectations) to Stefan (firstname.lastname@example.org).