Position: Node.JS Engineer
Company: Innocode
Experience required: 3y
English level: upper

**About you in couple of rows:**

Have a strong software design mentality
Are comfortable working with NodeJS and NPM
Fluent with test frameworks
Proficient in MySQL databases
Familiar with GraphQL
Have an ability to build large scale applications
Confident with debugging and performance optimization;
You understand the necessity of creating maintainable code. Tests help, but they’re not enough;
Comfortable with self code-reviewing and refactoring.
Good understanding of software development paradigms (functional programming, OOP) Cloud (GCP or AWS
You feel comfortable in talking with people (yep, customers included), so English is needed
 
**Would be a plus if:**
 
You are not afraid of new technologies 
You have knowledge of microservices architecture
You are interested in open source activity or experience mentoring others;
You are proactive. We love talking and working with people who come ahead and proposes their own idea

**Essential duties include:**
Development of new features and modules with test coverage
Maintenance of the current version of the application
Participate in code review, application architecture, design business logic
Explore new approaches that could enhance existing solutions

If you are not sure — please come to see us. We can discuss this position in more detail, as we have the luxury of being flexible. We love to meet new people, and even though you might not be ready to join us now — you can do it in the future. We guarantee that our office will surprise you, and it will be an experience by itself.
 
About the project:
The code base is about 4 years old. There are about 3000 active users in the system today, but is expected to increase manyfold over the coming years.
 
From a development standpoint we are going for a Microservice oriented approach to build resilient well encapsulated services which are solving a common problem in the HR Area.
The API uses GraphQL with Apollo Gateway which is exposing the API endpoints.
Some of these microservices are using Typescript and some are still in Javascript. Our goal is to convert all services into Typescript.
Database is MySQL.
For Authentication, we use Auth0 as the Idp.
Access control is an important feature here and thus we need to have this handled across our systems.
Other tools we use are Atlassian Jira, Confluence and Bitbucket for code versioning and deployments.
And the services are running on Kubernetes.