Position: Full-stack Developer
Company: Viseven
Experience required: 2y
English level: upper

Responsibilities:
•	Development of functionalities and features different complexity
•	Independently implement functionality from the planning to the delivery
•	Reviewing code
•	Mentoring juniors
•	Working on bug fixes and refactoring
•	Take part in planning and estimation of tasks
•	Write unit tests, e2e test
•	Self-testing of developed tasks in target environment
•	Design database structure and modules
•	Propose and apply development patterns and practices on practice (in own code and while code review)
•	Documenting every part of the development process for further work and maintenance

Requirements:
1) Good knowledge of HTML, CSS, JS
2) Good knowledge of Vue, Vuex (maybe with other framework). 
Can add customized plugins, loaders for build, (i.e. for Webpack project)
3) Good knowledge of Typescript,
4) Good knowledge NodeJS, Express.js, REST, AWS services
5) Good knowledge of databases, can design DB according to the task set. Good theoretical knowledge and understanding of Migrations, can apply it on practice,  understands what is Repository (or ActiveRecord)  when working with DB, can apply it
6) Applies knowledge of OOP, design patterns in practice SOLID, DI. Creates test cases for unittests. Knows principles of functions. Good theoretical and some practical backgroun of rx. Experience with immutable
7) Customizes gitlab pipeline for process automation
8) Production experience with Docker., writes dockerfile and docker-compose
9) Familiar with kubernetes (deployment, ingress, service)
10) At least 2 years of commercial experience