Position: Strong Middle Full Stack JavaScript Developer
Company: Sigma Software
Experience required: 3y
English level: intermediate

**PROJECT**
We are a team of 100+ professionals. We are very different, but there are a few things that make us a true team: a genuine passion for our work, friendliness, and inexhaustible optimism, no matter what.
We use Agile with technical excellence in place and Kanban approaches to do great work and make customers happy. Our goal is to offer our clients the best expertise in different domains to bring value to their business and become the best tech partner.

**REQUIREMENTS**
3+ years of software engineering experience
Good knowledge of JavaScript, TypeScript
Solid experience with Node.js and the related ecosystem
Experience with React/Vue/Angular
Strong knowledge of algorithms and data structures
Expert in documentation and Software Development Lifecycle and ALM Tools
Strong estimation skills, ability to come up with solutions
Strong knowledge of functional programming concepts and other programming paradigms
Ability to communicate solution rationale and build team’s consensus over business drivers
Upper-Intermediate level of English

**PERSONAL PROFILE**
Proactive person
Enthusiastic problem-solver
Good team player
Customer Orientation
Openness to feedback and changes
Result-oriented
Thoroughness and accuracy
Striving for high quality solutions
Strong estimation skills, ability to come up with solutions
Ability to communicate solution rationale and build team’s consensus over business drivers

**RESPONSIBILITIES**
Take responsibility for the delivery of assigned product features
Participate in requirements clarification sessions, collect inputs and requirements of assigned tasks
Continuously participate in technical risks identification and analysis
Ensure quality, maintainability, and conformance of software to best practices
Produce clean code
Performing control of software testing: unit and integration testing of own code and code written by other software engineers
Proactively review code with peers to ensure its quality
Participate in estimation and planning sessions
Develop technical project documentation and user documentation
Participate in project and team meetings, provide relevant contributions and information

Communicate with customer on complex matters, discussions, negotiations
Participate in technical interview of software developer specialists and perform assessment of candidates’ capabilities against job requirements