Position: Senior Back-end Developer NodeJS (Long Term Project) to Tallinn
Company: abz.agency
Experience required: 5y

For a Long Term Project we are looking for a strong Senior Back-end Developer with 7+ years of experience. The tasks on the project are interesting and complex. High load, high responsibility, a lot of work (100% workload). Sounds interesting? Then we are waiting for you!

IMPORTANT! Relevant for 14 of December 2022. 1 position vacant.

For a Long Term Project we are looking for a strong Senior Back-end Developer with 7+ years of experience to work in our Tallinn office. Project is already in production for several years and has thousands of RPS. You will work in a dedicated team for this project (~15 team members currently). Communication and technical documentation is in English only (written English required). The client and his team are strong technical specialists, the tasks on the project are interesting and complex. High load, high responsibility, a lot of work (100% workload). Sounds interesting? Then we are waiting for you!

By clicking on the link (company name) in the vacancy header, you can find brief information about our company, video, photos, contacts of the HR manager and a link to our website.

**Our working conditions**
- Always stable and on time salary;
- First two weeks will be a paid probation period;
- Probation period paid as fixed monthly payment;
- Company support with relocation to Tallinn (500€ per month for 3 months);
- Official employment in Estonia by Estonian company;
- Full work load of 160−200 hours per month and hourly rate ensuring all (extra) hours are paid;
- Regular revision of the hourly rate;
- Quarterly bonus, project performance based;
- English classes 2 times per week (groups of two people, after work hours);
- MacBook Pro 13/16, 4K monitor, stand, mouse, keyboard, headphones, comfortable chair, company branded T-shirt and mug;
- Working day from 8:00 to 17:00 (1);
- Breakfast, lunches and other things in the kitchen at the expense of the company (coffee, tea, cookies, sweets, yogurts and drinks in the refrigerator);

**Requirements**
- 7+ years of experience;
- Strong knowledge of Node.js;
- Strong knowledge of JavaScript and Typescript;
- Experience with relational databases (particularly PostgreSQL);
- Experience with NoSQL databases (Redis, InfluxDB);
- Experience working with Git and pull requests;
- Understanding basic design patterns and being able to apply them;
- Understanding of CI/CD processes.

**Nice to have**
- Knowledge of the NestJS framework;
- High-loaded applications experience;
- Experience in working with large data sets, statistics;
- SQL queries optimizing experience;
- Minimal frontend development experience;
- Browser extensions development experience;
- Experience with canary deployments;
- Out-of-the-box thinking :)

**Project technology stack**
- Typescript / NestJS;
- PostgreSQL;
- Redis;
- Influx DB;
- Heroku / AWS / GCP;
- Kubernetes;
- Cloudflare workers;
- Grafana;
- New Relic;
- React / Vue.js;
- Pug / SCSS;
- Webpack;
- Adguard SDK;

**Opportunities/benefits**
- Each employee has a mentor and together with him develops an PDP (Personal Development Plan) to improve skills and knowledge in different areas;
- Revision of the hourly rate happens every six months and depends on the implementation of the PDP and other performance indicators;
- Opportunity to learn/improve skills in NodeJS, modern frontend frameworks like Vue/React or browser extensions development as part of the PDP (personal development plan) program. Depending on your PDP direction and (if you like to) you can switch later to pure backend developer role, pure frontend developer role or browser extension developer role;
- Experienced colleagues ready to help with complex tasks;
- Technically savvy PMs who do task decomposition and know how to work with both the client and developers. No broken telephone game and no estimates handed down from the top;
- Mandatory peer code review and test coverage of important functionality, efficient QA process and task acceptance procedures;
- Opportunity to study related areas/technologies (frontend, browser extensions) — not abruptly, but systematically as if working on a complete mini-project; being guided by a mentor and according to a plan drawn up with a mentor, with each task passing code review and QA process, etc.

(1)The plan for the day is made at the stand-up meeting and must be accomplished (considering common sense) within the day according to the checkpoints. After accepting the work, the PM finalizes the working day.