About the Role
This position performs complex research, design, and software development assignments within a software functional area or product line, and provides direct input to project plans, schedules, and methodology in the development of cross-functional software products. This position performs software design typically across multiple systems; mentors more-junior members of the team; and talks to users/customers and translates their requests into solutions.
Responsibilities
- Interface with other technical personnel or team members to finalize requirements.
- Write and review portions of detailed specifications for the development of complex system components.
- Complete complex bug fixes.
- Work closely with other development team members to understand complex product requirements and translate them into software designs.
- Successfully implement development processes, coding best practices, and code reviews.
- Operate in various development environments (Agile, Waterfall, etc.) while collaborating with key stakeholders.
- Resolve complex technical issues as necessary.
- Train entry-level software engineers as directed by department management, ensuring they are knowledgeable in critical aspects of their roles.
- Keep abreast of new technology developments.
- Design and work with complex data models.
- Mentor less-senior software developers on development methodologies and optimization techniques.
- All other duties as assigned.
Requirements
- Deep understanding of Java Software Engineering & Development
- Expertise in Java Open-source Technologies - Apache camel, Spring boot.
- Expertise in AWS Cloud Technologies - ECS, S3, SQS, Step Functions, Lambda serverless implementations.
- Expertise in AWS DevOps activities, AWS Cloud Formation Templates and Create & Upgrade of AWS Databases.
- Expert knowledge of resolving security vulnerabilities on Open-source Java technologies.
- Expertise in industry technology language development trends.
- Expertise in test-driven development and maintenance including techniques for applying best practices for overall project benefit.
- Knowledge on Payment processors to facilitate payment transactions.
- Experience in the development and integration of payment webservices.
- Proven expert in partnering and leading internal and external technology resources in solving complex business needs.
- Software development process expert in applicable methodologies (e.g., Agile).
- Strong interpersonal skills.
- Strong experience with various resource models such as Managed Services and/or Staff Augmentation.
- Strong knowledge in industry best practices in external resource development.
- Solid knowledge of architectural principles.