Role and Responsibilities:
Own the definition, design, development, delivery and quality for large feature sets, subsystems, or products.
Deliver highly scalable, available, and fault-tolerant production applications.
Help prevent and investigate production issues.
Build architecture design, ensure the quality of architecture and design of systems, influence product roadmap, and take ownership and responsibility over current projects.
Lead code/design reviews to ensure smooth daily operations and accurate planning
Participate in the entire application lifecycle, focusing on coding and debugging
Write clean code to develop functional applications
Identify bottlenecks in systems and optimize performance
Liaise with developers, designers and system administrators to identify recent features
Manage cutting-edge technologies to improve legacy applications
Gather and address technical and design requirements
Set up and maintain setting configurations and monitor system health
Provide training and support to internal teams
Contribute as a Technical Team Lead by mentoring others, lead sprint planning, delegating work and assignments to team members and participate in project planning.
Introduce and enhance tools to allow greater automation and operability of services.
Interface with customers and other business stakeholders to effectively deliver software products that meet their needs
Establishing and maintaining standards for the engineering organization.
Job Requirement:
Requires a minimum of 15 years of related experience in software development, or equivalent or 12 years and an advanced degree.
Bachelors degree in engineering, or another related field or equivalent work experience
Possess expert knowledge in performance, scalability, distributed architecture, and engineering best practices.
Strong programming skills in an object-oriented language such as Java or C#, with proven work experience as a full stack developer
Experien