Position: Senior Nodejs developer
Category: Node.js
English level: fluent
Years of experience: 11

- author of popular Open Source project (permissions management library)
- author of few commercial libraries (database access layer for  PostgreSQL with fail-safe recovery support, distributed application cache cleanup, policy driven ACL, etc)
- regularly contribute to popular open source projects (e.g., ionic, ionic-native, cordova plugins, protractor.js, element-ui)
- was speaker on JSFest Autumn 2019
- conducted Protractor.js training for customer’s team in Israel 
- successfully released product in environment without QA team (everything was automated and tested by developers, including unit and e2e tests)
- developed an architecture for several SPA and Node.js APIs, including REST and GraphQL
- built CI/CD for mobile apps based on fastlane tools and Jenkins, can do the same using gitlab CI and ansible
- able to learn a new technical thing quite quickly (e.g., new programming language, library, framework)
I'm a software engineer with over 12 years of experience in web stack, 5 years of which I additionally managed teams of 3-7 people. Over the past few years, I've been working on the position of team lead caring about project activities and people, and tech lead caring about application architecture and quality. This is the main reason of why I can understand the full picture.

I like OpenSource (have own popular project, contributed to Ionic, Cordova, Protractor and others), write blog posts (​Medium​, ​Habr​, ​Own Blog), reading books and skating. In the rest of free time, I participate in conferences as a speaker. I hate laziness, absence of results and uncontrolled chaos
0. I don't consider game or gambling projects.
1. Sensible amount of bureaucracy. The project MUST have process! The leading team (project manager, business analyst, team lead, CTO) MUST support process adherence and execution.
Either too hurry or too relaxed environment must not be a common practice in the company. Overtimes on regular basis are also a sign of a bad planning or sales phase. 
Though, a process must not become a “goal”, it should serve product development instead of causing obstacles. 
2. If you want developers to grow, make sure you have a process that helps developers to progress. Budget for conferences, books and subscriptions in services like O'Reilly is one way to help programmers to develop their skills.
3. The team should have strong level of technical expertise. I'd like to work with people who not only state that they want to learn and improve but actually doing this on everyX basis.