Job Introduction
The Sr. Engineer - Software Engineer will work as a senior member of a software development team and be responsible for the development, implementation and post deployment support of enterprise applications. In this role, the position works independently or with minimal input or supervision from the engineering manager. As a member of the team, the position is expected to participate in all phases of the Software Development Life Cycle (SDLC) and will be responsible for mentoring junior members of the team, providing them ongoing guidance and supporting their completion of work assignments.
Note: USC and GC only
Top Skills Required for this Position
- Minimum Bachelor’s Degree in Computer Engineering, Computer Science or related field
- Java (10 years)
- SQL (10 years)
- Hibernate / JPA / MyBATIS (5-7 years)
- Javascript (5-7 years)
- Spring (5-7 years)
- Struts (5-7 years)
- Python (3+ years)
- AWS (3+ years)
- JSF (3+ years)
Essential Duties and Responsibilities
- Architect advanced to complex system solutions, solicit and incorporate inputs from technical and operational teams and document for consumption of development and testing teams.
- Fix defects in the home grown applications or third party software according to written and oral specifications.
- Perform database design and create scripts to create and modify database objects.
- Work on deliverables, such data analysis, client report requests etc. with minimal to no guidance from Development Manager or senior developers. Assist junior members of the staff by providing direction on customer requests and performing code review to ensure quality outcomes.
- Actively participate and contribute in SDLC activities such as solution design, work effort estimation, assisting peers with technical challenges and code reviews.
- Lead a small team of developers - creates and assign work packages. Manage the work to its completion meeting the quality standards.
- Works very closely with operations team and acquires expert understanding of the business processes and develop unit and integration test scenarios in accordance with system requirements and business process changes. Provide expert advice to the testing team to create test data manually and/or systematically to test software programs.
- Perform production support activities such as monitor system processes, evaluate the outcome of system processes, work through system exceptions, and create processes to monitor and report on the overall system health.
- Work independently to understand the assigned work, deliver on agreed upon dates and raise issues/risks in a timely manner in case of risk to deliverables.
- Create/modify artifacts and deliverables expected from the SDLC and change management process such as project charter, proposed solution documents etc.
- Follow the SDLC and change management processes adopted by the organization. Participate in change management meetings to provide impact assessment of requested change, update the defect tracking system with most up to date information and perform release management tasks as assigned by Development manager.
Education and Experience Minimum Requirements
- Bachelor’s Degree in Computer Engineering, Computer Science or related field and minimum 10 years of relevant experience.