Job Description
Responsibilities
The Lead Software Engineer serves as the interface between the software engineers and management, they have ownership of the team's development plans and have supervisorial responsibilities in delegating work as well as occasional development and pair programming.
In delivering the key responsibilities of the role, the Lead Software Engineer will;
• Own all aspects of technology related to the products built.
• Mentor, coach, and pair program with other engineers to improve technical quality produced.
• Coordinate the effort and leadership of offshore development team.
• Participate in security governance for PCI and PII.
• Participate in regular application performance monitoring meetings, to proactively diagnose potential issues and remedy or mitigate them before they impact customers in production.
• Work with Product Owners to help define future technology architecture of the GNC Marketing and Booking Engine platforms.
• Maintain high standards of software quality within the team by establishing good practices and habits.
• Work directly with business and technology leadership to manage end user expectations.
• Set standards for code reviews to ensure quality and secure coding practices.
• Create user stories, technical specifications, system documentation and other project deliverables.
• Aid in planning product development and timelines.
• Lead assigned team in covering the full Agile Software Development Lifecycle.
• Identify and encourage areas for growth and improvement within the team.
• Assess opportunities for application and process improvement and prepare documentation of rationale to share with team members and other affected parties.
• Build trust and cooperation between technology and clients whether internal teams or external customers.
Qualifications/Requirements
• 8+ years of technical expertise including recent experience architecting, designing and developing containerized Node.js applications.
• 2+ years of experience NoSQL databases, with MongoDB experience a plus.
• 2+ years of experience with React.js.
• Deep understanding of microservice and container-based design patterns and architectures.
• Experience using technologies such as RabbitMQ, Redis, and ElasticSearch
• Experience in modern Agile Methodologies (SCRUM, Kanban and/or Extreme).
• Experience with Software Design Patterns and SOLID design principles.
• Deep knowledge of modern software architectures and ability to compare and assess their relative suitability for a project.
• Experience tuning and optimizing web services that are consumed by diverse technologies.
• Experience in a collaborative, team-driven software engineering environment.
• Team leader with strong analytical, problem-solving, and excellent communication skills.
• Bachelor's Degree in Computer Science or relevant area of study.
Jobcode: Reference SBJ-rv7m2w-44-200-23-133-42 in your application.