Responsibilities: Leads multiple project teams of other software applications engineers and internal and outsourced development partners responsible for all stages of design and development for complex products and platforms, including solution design, analysis, coding, testing, and integration. Manages and expands relationships with internal and outsourced development partners on software applications design and development. Reviews and evaluates designs and project activities for compliance with applications design and development guidelines and standards; provides tangible feedback to improve product quality and mitigate failure risk. Provides domain-specific expertise and overall software applications leadership and perspective to cross-organization projects, programs, and activities. Drives innovation and integration of new technologies into projects and activities in the software applications design organization. Handling technical communications and understanding the customers' systems. Working with deployments teams, resolving level issues for systems, coordinating on product design, and offering inputs on the testability of functional elements and product designs. Analyzing and disintegrating software systems and coordinating with other teams to enhance the overall design. Researching architectures, methodologies, and trends and upgrading existing practices and processes. Provides guidance and mentoring to less-experienced staff members.
Education and Experience Required: Bachelor's or Master's degree in Computer Science, Computer Engineering, Information Systems, Electrical Engineering or a related technical discipline. Typically at least 10 years experience.
Knowledge and Skills: Extensive experience with multiple software applications design tools and languages. Excellent designing and programming skills. Knowledge of programming languages and process management methodology. Knowledge of test methodologies and their corresponding tools The ability to recognize risks and errors in an application. Shows creativity and initiative to improve product coverage and effectiveness Computer Science fundamentals in algorithm design, problem-solving, and complexity analysis Proficiency in, at least, one modern programming language such as Golang, Java, and knowledge of Python The ability to keep current with the constantly changing technology industry. Ability of mathematical abstraction Knowledge of internationalization and localization processes, tools and technology Deal well with ambiguous/undefined problems; ability to think abstractly Experience influencing software engineering best practices within your team Excellent communication, collaboration, reporting, analytical and problem-solving skills Ability to effectively articulate technical challenges and solutions A minimum of 6 years’ experience in Java enterprise development Experienced in Agile or Scrum software development methodologies Good time management and organizational skills. Excellent written and verbal communication skills; mastery in English and local language.
Experience with most of the following technologies: 10+ years experience in platform engineering roles involving architecture, automation, and cloud-based infrastructure with AWS, Azure, and/or GCP. Web services integrations (REST) Traditional SQL databases NoSQL databases AWS (EC2, Dynamo, API Gateway, Lambda, Serverless application) Azure Devops GIT Test-Driven-Development, Unit Test, Test automation; Continuous Integration / Continuous Delivery Java (SOLID, OO, design patterns) Testing tools and frameworks (JUnit, JMeter, Restassured)