(Junior) 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 development team of 6 with your experience by building the leading enterprise solution for building 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

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.

Your Tasks

  • You develop Parloa together with your experienced and diverse colleagues.
  • You mainly but not exclusively focus on the NodeJS backend.
  • You will be part of the whole product development cycle including conception, implementation, testing and deployment of new Parloa features.

Desirable skills

  • You have the ability to work successfully in a team.
  • You have an ‘Own it’ mentality – You are able to take ownership of a task from inception to completion.
  • You don’t hesitate to ask questions but also like to figure things out by yourself.
  • You have a degree in computer science or equivalent education with practical project experience.
  • You write testable code and verify your implementation with unit or integration tests.
  • You are familiar with nodeJS, REST-based APIs, Koa/Express, Jest, MongoDB and have preferably worked with Mongoose before.
  • Other Pluses: Experience with Typescript, DevOps or Kubernetes and Docker, Inversify, Bash Scripting.

What we offer apart from a challenging job and an open environment:

  • Work flexible working hours.
  • Work with a 15” MacBook Pro and 2x4k Monitors.
  • Minimize the time to get to work because of our conveniently located office close to Alexanderplatz, Weinmeisterstraße und Hackescher Markt.
  • 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 all kinds of drinks & snacks and our kicker.
  • Join our voice meetup with over 1500 members in regular events.
  • 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 (jobs@parloa.com). If you have any questions upfront, don’t hesitate to reach out!