Software Engineer (Java)
In this role you will be responsible for analyzing, designing, developing and testing software modules. The Software Engineer will participate in development of new systems as well as maintenance of existing systems. Closely follows product development process and industry-accepted development practices and techniques to deliver high quality results on time. Works closely with other Software and System Engineers, Product Managers and Specialists.
• Supports existing products by fixing defects reported after release.
• Works closely with product introduction and regional teams to diagnose and troubleshoot software issues.
• Assists with manual software testing as needed to meet release objectives and timelines.
• Performs analysis, estimates work and creates and updates software architecture and design.
• At all times remains compliant to established process, guidelines and policies.
• Leads and mentors other software developers at all levels.
• Drives the work of the team, acts as the go-to person to remove impediments and provide innovative solutions.
• Works closely with management to define and negotiate scope of releases.
• Works closely with management to suggest process improvements, structural and technical improvements.
• Recommends research, prototypes and technology selections to address business problems.
- BS in Computer Science, Computer Engineering or Systems Engineering
- At least 5+ years of proven, relevant experience
- Solid understanding of real-time distributed application development on Java platform
- Strong experience with Java.
- Demonstrated ability to create and maintain large and complex system architectures
- Strong written and interpersonal skills, ability to effectively interact with local and offshore development teams
- Strong analytical skills, experience with domain modeling and requirement gathering