The Sr. Software Engineer contributes to the design, development, and implementation of services on the Cloud Platform. The role utilizes proficiency and skills to work on projects. The engineer possesses experience with commonly used programming and design concepts, practices, and procedures and relies on pre-established guidelines to perform the functions of the position under minimal supervision. In addition, the role utilizes current experience and judgment to plan and accomplish goals.
- Designs, implements and tests complex software application/services/systems.
- Responsible for mid-level designs and contributes to high-level designs.
- Leads and participates in design reviews.
- Provides effective communication with local and geographically distributed team members. Participates in the testing process through TDD, test review and analysis, test execution, and certification of software.
- Provides peer advisement to other Senior Software, Software and Associate Software Engineers, through code/design reviews and peer-programming efforts.
- Interacts with Product Owner to ensure that specifications are satisfied. Communicates design, reliability and maintenance problems to appropriate internal resources.
- Responsible for debugging, troubleshooting and developing technical solutions in the form of software patches related to software errors.
- Creates workaround solutions when product procedures have failed and ensures issues are resolved in a timely fashion.
- Escalates urgent problems requiring more in-depth knowledge to appropriate internal resources. Escalates urgent issues to Engineering Management.
Skills and Experience
- Experience of developing software at scale for a minimum of 5 years is essential.
- A solid understanding of Agile working practices and methodologies is essential with at least 2 years of experience.
- Strong proficiency in Java programming of at least 5 years. And knowledge of various frameworks and open source libraries related to that stack.
- Experience in Object Oriented analysis and design is essential.
- The ability to demonstrate a working knowledge of and experience of cloud platforms such as Amazon AWS is essential.
- Experience of developing micro services using spring boot is essential
- Experience with deploying as docker containers is desirable. Strong proficiency in either front end development technologies or developing REST based web services is desirable.
- The ability to demonstrate experience in the automation of Software testing and build systems are essential. Excellent analytical and problem-solving skills is essential Ability to work both independently as well as in a dynamic, distributed team environment is essential.
- The ability to demonstrate strong written and verbal communication skills is essential.
- Ability to mentor less experienced developers is desirable