Position: Strong Middle / Senior back-end developer specialist
Company: Softonix
Category: Node.js
Experience required: 3y
English level: upper

**Technical skills:**

· At least 3 years of experience in commercial software development using Java or other programming languages
· Extensive knowledge of JavaScript
· Extensive knowledge of TypeScript
· Extensive knowledge of building REST API
· OOP:
    - Abstraction
    - Encapsulation
    - Inheritance
    - Polymorphism
    - Abstract Classes
    - Interfaces
    - Composition
· Design principles:
    - DRY
    - SOLID
· Extensive knowledge of SQL database:
    - Data types
    - Relation types
    - Queries
    - Aggregation
    - Transactions
    - ACID
    - Indexes
    - Locks
    - Views
    - Сonstraints
    - Normalization
    - Primary/foreign keys
· Good knowledge of NoSQL database (MongoDB):
    - Queries
    - Aggregation
    - NoSQL vs SQL
· HTTP:
    - Headers
    - Methods
    - HTTP message structure
    - Polices:
        · Mixed content
        · Same origin
        · CORS
        · httpOnly/secured cookie
· Websockets:
    - Socket.IO framework
· Git-flow, knowledge of Scrum-based ticket tracking systems like Jira or Trello, Kanban
· Experience with code review & testing processes:
    - Unit tests
    - Integration tests
    - E2E tests
    - coverage 
    - Jest framework
· Algorithms and data structures
· Express.js, Nest.js web frameworks
· Node.js API:
    - Stream
    - FS
    - HTTP
    - Crypto
    - Child process
    - Event emitter
    - Async execution
    - Event loop
· App containerization 
    - Docker
    - Docker Compose
· Cache: 
    - Redis
    - Cache replacement policies
· Crypto:
    - Symmetric
    - Asymmetric
    - Hashes
· Authentication & authorization:
    - JWT
    - OAuth
    - Session (cookies)

**General requirements**

· 3+ years of experience in IT industry
· Good English skills (Upper-Intermediate level)
· An intelligent person with critical thinking who are able to find smart solutions for complicated tasks
· A good review of the personal work done, not rely on testers but test yourself very patiently
· Estimation of complex projects

**Will be a plus:**

· AWS, GCP infrastructure
· Kubernetes 
· Serverless framework
· SQL/NoSQL optimization techniques
· GraphQL

**We offer:**

· Cheerful new colleagues
· No dress code as we value your uniqueness
· Competitive salary
· Personal performance bonuses
· Powerful Macbook Pro laptops for comfort work
· Constant support from experienced Team Leaders within the team
· Fully paid sickness leave (up to 14 days)
· Annual vacation of 20 working days
· Bonuses for referring friends (referral program)
· Regular corporate events and team buildings
· Opportunity to build a career and gain an experience that will serve you in a long-term perspective
· Help moving to the beautiful city of Lviv (if needed).