Senior Node.js Developer
Full time - immediate start possible - Berlin Hackescher Markt
TL;DR: Your chance to bring your backend experience to the table and accelerate a development team of 6 with your experience by building the leading enterprise solution for automated dialogs.
Join our growing Future of Voice team to help our customers to build next level voice applications. Our product, Parloa, provides a low code environment to create dialogs for voice assistants, like Amazon Alexa or Google Assistant, and via telephone. In our developer team of six, we are using scrum, peer reviews, TDD, and architecture workshops to build a well structured product our users love.
Company Techstack: TypeScript, Node.js, Kubernetes, Docker, MongoDB, Inversify, Lerna, Koa, Jest, React, Redux
As the dev team, we own the entire product development cycle from designing the architecture and APIs, developing the feature, ensuring the correct behavior via automatic tests and QA and rolling it out to our Kubernetes cluster. Within our team we don’t have silos, however, based on the individual experience each one focuses on the topics he/she can provide most value in.
With your experience you will have a major impact on the overall architecture of Parloa and in particular on the backend. For example, you might work on an architecture proposition to migrate production data in a Kubernetes environment with minimal downtime and discuss the proposition with your fellow team.
You effectively collaborate with your peers, both technical and non-technical, for instance consulting how new features could be defined or adapted, so they can be developed quicker.
Like everybody in the team, you are eager to provide customer value. You don’t hesitate to roll up your sleeves and make it happen.
- You have an ‘Own it’ mentality – You are able to take ownership of a task from inception to completion.
- You have the ability to work successfully in a team.
- You have 4+ years of professional experience as a developer.
- You have in-depth experience designing, developing and operating a large enterprise application.
- You have worked before with TypeScript/Node.js, MongoDB, Docker and Kubernetes.
- You are fluent in German (C1) and English (B2).
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)
What to expect – An example sprint
Monday – Sprint Start: The product owner summarizes the user stories with the highest priority. As they all have been refined 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 in which we 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 front-end colleagues. 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 story introduction 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.
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.
Monday: Clients are asking for 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: Good news from one of our clients! A phone bot 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 three 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 different 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 entire company what they can archive with the new features. 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 for improvement.
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).