Software Engineer II - Java - GMNST
Job Description:
Software Engineer II designs, develops, tests, and debugs software applications, contributes to software builds, completes code reviews and automated testing to maintain high-quality standards with guidance, supports and monitors software across environments, and adheres to security and regulatory best practices.
Responsibilities:
- Designs, develops, tests, and debugs software applications and systems
- Completes software builds through consistent development practices, including the use of tools, common components, and documentation with guidance from peers and leaders
- Completes code reviews and automated testing to maintain high-quality code standards with guidance from peers and leaders
- Supports and monitors software across test, integration, and production environments
- Adheres to security and regulatory best practices to ensure software compliance
- Collaborates and co-creates effectively with teams in product and the business to align technology initiatives with business objectives
- Integrates AI tools into coding, testing, debugging workflows and documentation tasks and applies AI tools to improve development speed and code quality
- Evaluates AI-generated recommendations for accuracy, quality, alignment with engineering standards, and security and maintains accountability for outputs
Qualifications:
- Degree in computer science, computer engineering or a related field.
- Minimum 5 years of software development experience in a professional environment working with Java technologies - Vertx, Spring, Spring Boot, RESTful micro services, Ignite, In-Memory Computing, Spark, PostgreSQL, Cassandra, Kafka, Yellowbrick (Apache Ignite is a plus) and RESTful API’s.
- Hands-on experience with application design, software development and automated testing
- Experience with distributed (multi-tiered) systems, algorithms, relational or NoSQL databases.
- Ability to effectively interpret technical and business objectives and challenges and eloquent solutions.
- Ability to learn and investigate new technology and business domains, question status quo and think outside of the box.
- Ability to debug basic software components and identify code defects for remediation.
- Experience working in Agile or other rapid application development methods.
- Proficient oral and written communication skills.
- Depending on factors such as business unit requirements, the nature of the position, cost and applicable laws, American Express may provide visa sponsorship for certain positions.