Software Engineer II designs, develops, tests, and debugs software applications; contributes to automation and AI-enabled solutions; completes code reviews and automated testing to maintain high-quality standards with guidance; supports and monitors applications across environments; and adheres to security, governance, and regulatory best practices.
- Designs, develops, tests, and debugs software applications and systems, incorporating automation and AI capabilities where appropriate to improve functionality and efficiency.
- Completes software builds through consistent development practices, including the use of development tools, reusable components, automation frameworks, and documentation, with guidance from peers and leaders.
- Completes code reviews, automated testing, and validation of software, automation workflows to maintain high-quality engineering standards with guidance from peers and leaders.
- Supports, monitors, and troubleshoots software applications, automation solutions, and AI-enabled services across development, test, integration, and production environments.
- Applies automation techniques and AI-assisted development tools to improve software quality, development efficiency, and operational effectiveness.
- Adheres to software engineering, security, and regulatory best practices to ensure compliant, secure, and reliable solutions.
- Collaborates with cross-functional engineering teams to integrate software applications with enterprise systems, APIs, etc.
- Participates in the design and implementation of application capabilities under the guidance of senior engineers.
- Contributes to the continuous improvement of software development, testing, deployment, and operational processes through automation and engineering best practices.
- Collaborates and co-creates effectively with teams in product and the business to align software, automation, and AI initiatives with business objectives.
Education Qualifications:
- Bachelor’s degree in Computer Science, Computer Engineering, and/or comparable experience
- Knowledge of distributed (multi-tiered) systems, algorithms, APIs, NoSQL, and relational databases.
- Knowledge of the core tools used in the planning, analyzing, designing, building, testing, deploying, configuring, monitoring, and maintaining of assigned application(s).
- Knowledge of software engineering principles, object-oriented design, application architecture, and secure coding practices.
- Knowledge of automation frameworks, CI/CD pipelines, and development tools that improve software delivery and operational efficiency.
- Knowledge of AI-assisted software development concepts, including large language models (LLMs), intelligent automation, and AI-enabled development tools.
Work Experience:
- 4+ years of software engineering and application development experience or a related technical role.
- Experience in application design, software development, automated testing, and software lifecycle management.
- Experience in object-oriented design and development using one or more programming languages.
- Experience in distributed (multi-tiered) systems, algorithms, APIs, and relational and NoSQL databases.
- Experience with Agile software development methodologies and practices such as Scrum, Kanban, iterative development, and user stories.
- Experience implementing automation solutions, CI/CD practices, or workflow automation to improve software quality and delivery.
- Experience leveraging AI-assisted development tools or AI-enabled capabilities to enhance software development and engineering productivity.
- Experience in automated testing and documentation (e.g., unit, integration, functional, regression, and performance testing).