Software Engineer
Role details
Job location
Tech stack
Job description
The Software Engineer (with .NET Experience, .NET Framework and supporting .NET toolset) is to join our technology team at a leading retail bank. This role involves designing, developing, and delivering enterprise-grade custom microservice applications using modern Java technologies, .NET technologies and framework. You will lead development efforts on mission-critical applications such as our billing platforms., End-to-End Development:
- Design, develop, and maintain end-to-end application features across frontend and backend layers.
- Build scalable, maintainable solutions using modern frontend frameworks and backend technologies.
- Translate business and product requirements into well designed technical implementations.
- Take ownership of features throughout their lifecycle-from design to production support
Backend Responsibilities:
- Design and implement backend services, APIs, and integrations.
- Apply sound system design principles for performance, scalability, reliability, and security.
- Write clean, efficient, and testable backend code following best practices.
- Optimize data access and service performance; troubleshoot complex backend issues. Ensure data consistency, proper error handling, and robust service communication.
API & Integration Ownership:
- Design and consume REST or API based interfaces between frontend and backend systems.
- Ensure clear API contracts, proper versioning, and backward compatibility.
- Work closely with other teams on service integrations and shared data flows.
Code Quality & Engineering Excellence:
- Write high quality, readable, and maintainable code across the stack.
- Perform thorough code reviews and provide constructive feedback to peers.
- Champion best practices in testing, documentation, and refactoring.
- Balance feature delivery with managing and reducing technical debt.
Testing, Reliability & Production Readiness:
- Implement automated tests across frontend and backend layers.
- Participate in debugging and resolving production issues.
- Ensure applications meet nonfunctional requirements such as performance, resilience, and security.
- Contribute to post incident analysis and continuous improvement efforts.
Communication & Technical Influence:
- Collaborate effectively with product managers, designers, QA, DevOps, and other engineers.
- Clearly communicate technical designs, risks, and tradeoffs to both technical and nontechnical stakeholders. Participate actively in sprint planning, estimation, and delivery commitments.
- Mentor junior and midlevel engineers through code reviews, design discussions, and guidance.
- Act as a role model for engineering best practices and professional behavior.
Requirements
- .NET coding technologies, Java 21/Spring, Oracle, No-sql DB, Kafka,
- DevOps CI/CD, Git
- Strong understanding of design patterns and SOLID principles
- Experience with Agile/Scrum methodologies
- Excellent problem-solving and analytical skills
- Strong communication and leadership abilities
- Bachelor's degree in Computer Science, Software Engineering, or related field
- Excellent problem-solving and critical thinking abilities
- Effective communication with technical and non-technical stakeholders
- Ability to balance technical debt with feature delivery
- Proven track record of delivering complex enterprise applications
- Self-motivated with strong ownership mindset
- Adaptable and quick learner
- Collaborative team player with cross-functional experience
- Customer-focused approach to software development
- Strong understanding of financial calculations and accuracy requirements
Preferred Qualifications
- Experience with IBM MQ or other message queuing systems (RabbitMQ, Kafka)
- Experience with Spring Cloud components (Config Server, Eureka, Zuzu/Gateway)
- Familiarity with OAuth 2.0, JWT, and Spring Security
- Experience with test automation frameworks (JUnit, Mockito, Jasmine, Karma)
- Knowledge of CI/CD tools (Jenkins, GitLab CI, Azure DevOps)
- Understanding of API management platforms (Swagger, Informatica, Mulesoft)
- Experience with cloud platforms (AWS, Azure, GCP)
- Familiarity with banking/financial services applications and payment systems
- Experience with batch processing and job scheduling frameworks (Spring Batch, Quartz)
Benefits & conditions
Invitation for Job Applicants to Self-Identify as a U.S. Veteran
- A "disabled veteran" is one of the following:
- a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or
- a person who was discharged or released from active duty because of a service-connected disability.
- A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.
- An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.
- An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.