Position: Node.js Team Lead
Company: Optimize Ad
Category: Node.js
Experience required: 3y
English level: upper

**Location:**
- Ukraine

**Requirements:**
- 5+ years experience in NodeJS server-side development
- Proven management experience - mentoring, leading the team, organizing teamwork
- Experience with SQL databases such as Postgres, Mysql
- Experience with message broker systems such as RabbitMQ, Kafka
- Successful cases of delivering Node.js applications
- Experience in building delivery flow: branching strategy, repo management, code style guides and enforcing, testing approaches, CI/CD, release plan
- Experience working on complex event sourcing systems
- Strong knowledge in design patterns and architectural abilities
- Ability to make well-balanced and responsible decisions as a team leader
- Personal initiative when facing a problem, and the creative problem-solving ability
- Proficient in back end development with a solid understanding of the app development cycle as a whole
- Excellent communication & collaboration skills
- Upper-Intermediate level of English

**Technical stack:**
- NodeJS
- PostgreSQL
- TypeORM
- AWS SQS
- AWS Elastic Beanstalk
- ExpressJS
- TypeScript
- Angular

**Nice to have:**
- Knowledge and experience with both back-end and full-stack development

**Responsibilities:**
- Establish and improve development processes, identify problems and communicate them to the relevant people, resolve issues
- Manage, mentor, guide the development, and motivate team members
- Participate in full lifecycle software development process
- Engage team members to understand clients’ business and tech requests, suggest and implement optimal solutions, achieve the best results for the clients and for the company
- Be proactive in communication with team members
- Use industry best practices of development processes & tools, adopt and improve them
- Analyze and Estimate. Perform technical assessment of UI mockups/wireframes to ensure the possibility of their implementation within reasonable time
- Take responsibility for project delivery playing role of the most senior technical person (by stack) at the project, so be a technical expert responsible for architecture, analysis, development, and implementation of deliverables
- Be responsible for various coding activities and development of new as well as improving existing features
- Pure CI/CD flows, from local to production
- Outside the box architectural solutions
- Cooperate with other team members remotely

**We offer:**
- Participate in developing new features (90% of development tasks are new, not maintenance of existing code)
- Work for a fast-growing company
- Competitive compensation
- Flexible work hours
- Remote work