Position: Middle Full-stack Developer (Long Term Project)
Company: abz.agency
Category: Node.js
Experience required: 5y

**IMPORTANT!** Relevant for 26 of May 2023. 1 position vacant.

For a Long Term Project we are looking for a strong Middle JavaScript Developer with 5+ years of experience. Strong fullstack experience is preffered but you can be also middle only in backend and have some frontend experience or middle in frontend and have some backend experience — we are open to all applications.

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**
- Our offices are well equipped power outages: gasoline generator, EcoFlow Delta portable power station provides electricity for devices and standby lightning, Fiber optic internet provider, Starlink provide access to the internet;
- Always stable and on time salary;
- First month will be a paid probation period;
- Probation period paid as fixed monthly payment in UAH;
- Full work load of 160−200 hours per month and hourly rate ensuring all (extra) hours are paid;
- Regular revision of the hourly rate;
- Hourly rate is set in $;
- Official employment (by contract);
- 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 (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);
- Breakfast, lunches and other things in the kitchen at the expense of the company (coffee, tea, cookies, sweets, yogurts and drinks in the refrigerator).
- Work in one of our offices: 7 minutes from Osokorki metro station or 8 minutes from Lukianivska metro station or 15 minutes from Kontraktova Square metro station / 7 minutes from Taras Shevchenko metro station, metro station Nyvky 5 minutes (This office will be opened during the summer or in the third quarter of this year).

**Requirements**
- 5+ 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 and organizing 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;
- 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 once a year 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 program) 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.