Staff Software Engineer (JAVA)
MEXICO
Job description
Job Description Summary
Responsible for designing and programming a small module or a large component and designing a feature, set of features, or whole feature area. She/he will work independently and contribute to the immediate team and to other teams across business. She/he will Lead design discussion in a limited manner.
Job Description
Roles and Responsibilities
In this role, you will:
• Identify the scope of the work, provide initial estimate and justify the estimate with facts
• Demonstrate the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle.
• Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
• Execute in a fast pace delivery mode and focus in delivering tasks to meet the product release goal
• Maintain code quality through best practices, unit testing and code quality automation
• Seek and provide feedback on design and development
• Demonstrate the ability to make informed technology choices after due diligence and impact assessment
• Understand whole product, its modules and the interrelationship between them while being an expert in the assigned component or module
• Help in designing interfaces and information exchange between modules
• Articulate the need for scalability and understand the importance of improving quality through testing.
• Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project
• Drive design reviews, define interfaces between code modules, and applies existing technology to designs
• Be an expert in assessing application performance and optimizing/improving it through design and best coding practices
• Be an expert in core data structures as well as algorithms and has the ability to implement them using language of choice
• Be responsible for providing technical leadership and defining, developing, and evolving software in a fast paced and agile development environment using the latest software development technologies and infrastructure
• Provide guidance to a team of 5 to 7 developers with either planning and execution and/or design architecture using agile methodologies such as SCRUM
• Work with Product Line Leaders (PLLs) to understand product requirements & vision
•Write code that meets standards and delivers desired functionality using the technology selected for the project
Required Qualification
· Bachelor's Degree in Computer Science or “STEM” Majors (Science, Technology, Engineering and Math) with advanced experience.
· Able to legally work in Mexico. This position can work remotely only within Mexico.
· Effective written and oral communication skills in English and Spanish.
· Strong Java programming experience
· Hands-on experience in utilizing Spring Framework (Core, MVC, Integration and Data)
· Experience in Application development - Java Spring Platform
Desired Characteristics:
· Strong knowledge of Object-Oriented Analysis and Design, Software Design Patterns and Java coding principles
· Hands-on experience in web services (REST, SOAP, WSDL etc.), using Apache Commons Suite & Maven, SQL Database such as Oracle MySQL, PostgreSQL etc.
· Experience developing mission-critical enterprise software
· Exposure to Domain Driven Design
· Familiarity with Kubernetes and cloud technologies including Kafka, S3
· Experience with modern tooling (Jenkins, Maven, Git,)
· Experience with microservices and distributed systems
Business Acumen:
· Strong problem solving abilities and capable of articulating specific technical topics or assignments
· Experience in building scalable and highly available distributed systems
· Expert in breaking down problems and estimate time for development tasks
· Evangelizes how our technology solves customer problems from a technology and business perspective
Leadership :
· Demonstrates clarity of thinking to work through limited information and vague problem definitions
· Influences through others; builds direct and "behind the scenes" support for ideas
· Proactively identifies and removes project obstacles or barriers on behalf of the team
· Shares knowledge, power, and credit, establishing trust, credibility, and goodwill
Personal Attributes :
· Able to work under minimal supervision
· Excellent communication skills and the ability to interface with senior leadership with confidence and clarity
· Able to work well with global teams, including time-zone flexibility
· Skilled in providing oversight and mentoring team members. Shows ability to effectively delegate work
Additional Information
Relocation Assistance Provided: No
- This is a remote position