Position: Senior Full-Stack (Node.js) Software Engineer
Company: Ukraine Tech IT Recruiting and Staffing
Category: Node.js
Experience required: 5y
English level: upper

Our Client is a luxury travel operator developing an Artificial-Intelligence-as-a-Service solution for the next generation of luxury leisure. Their full-stack platform is cloud agnostic, highly scalable, They utilise cutting-edge technology in IoT, Big Data and AI in a DevOps setup to maximise user experience and accessibility, improve productivity and minimise environmental impact for our clients. They are on a mission to find the very best people to be part of our success. 

**The Role** 
You will take responsibility for developing key aspects and functions that form the backbone of our product portfolio. This includes development at different Technology Readiness Levels, writing functions to analyse data sets, develop prototypes releases of software (for pilots to prove concepts), and “glue” systems together to integrate different business applications. You will support technical review and have a passion to design, develop and implement quality software solutions to be deployed at scale. 
Within this role you will be expected to undertake tasks such as gathering user requirements, defining system functionality and writing code predominantly in JS & TypeScript, and in various languages, like Java, python, or .NET. Our ideal candidate will work with our stack and will be familiar with the software development life cycle (SDLC) from preliminary system analysis to tests and deployment. Ultimately, the role is to build high-quality, innovative and fully performing software modules that complies with coding and technical design standards. This role requires significant existing knowledge as well as a keen passion and enthusiasm to work as a team on one of the most exciting technical challenges of our era. 

**Responsibilities**
● Execute full software development life cycle (SDLC) to enhance the frontend and backend of our SaaS product: Design, Develop and Test (including reviewing and supporting quality assurance), Maintain and Deploy 
● Develop flowcharts, layouts and documentation to identify requirements and solutions. 
● Write well-designed, testable code and solve technical problems across multiple technologies, developing new methods if required. 
● Produce specifications and determine operational feasibility. 
● Integrate software components into a fully functional software system. 
● Develop software verification plans and quality assurance procedures. 
● Troubleshoot, debug and upgrade existing tools and systems. 
● Comply with project plans and industry standards. 

**Experience**
● 5+ years of experience in a related role: developing in JS and deploying on AWS 
● Working with Agile Methodologies e.g., Scrum or Kanban within a DevOps culture 
● Experience in developing in JS with React, Redux, Express, styled components, Lambda, node.js with appropriate testing frameworks will be advantageous 
● Working knowledge of web service interfaces and web-based user interfaces. 
● Experience of software testing practices, verification and software QA, ideally test-driven development. 
● Experience designing interactive applications. 
● Ability to document requirements and specifications. 
● Experience of working with configuration management tools, CI/CD (e.g., CircleCI, AzureDevOps, etc.) and Infrastructure-as-a-Code 
● Experience of databases, relational or otherwise, and ORMs. 
● Ideally, certified AWS developer 
● Key fundamentals in object-oriented design, data structures and distributed system 

**Competencies** 
● Full understanding of the software development life cycle. 
● Strong written and verbal communication to present complex concepts to multi-disciplinary teams. 

**Nice-to-have**
● Experience with/Knowledge of team collaboration and communication tools like JIRA, Slack, Azure DevOps, TFS, VSTS 
● Exposure to techniques of Machine Learning or Artificial Intelligence, applied to real-world challenges, e.g., predicting maintenance of aircraft and parts 
● Exposure to Data Science or Data Analysis techniques, e.g., create dashboards from real-time data and evidence-based recommendations 
● Exposure to IoT technology, e.g., create gateway and correction of measurements from environmental sensors and messaging protocols like Kafka, MQTT, RabbitMQ or equivalent and protocols like DDS, DIS or equivalent