As a Senior Software Engineer, you will utilize superior knowledge and experience to perform highly complex product architecture, design, systems analysis, research, maintenance, troubleshooting and other programming activities. You will also play a key role in the development of work teams by providing others with direction and leadership.
Job Roles and Responsibilities:
- Produce high quality code according to design specifications
- Utilize superior analytical skills to troubleshoot and fix highly complex code defects
- Define best practices and standards for database design.
- Serve as a thought leader, mentor and advocate for best practices concerning data Architecture
- Lead software design/code reviews to ensure quality and adherence to company standards
- Provide status updates to stakeholders and escalates issues when necessary.
- Bachelor’s degree in Computer Science or related field
- 5 to 8 years of enterprise product development experience
- Strong OOD and Java programming experience is required
- Good knowledge on algorithm design and analysis, including knowledge of data structures and design patterns
- Fundamentally good programming and debugging skills
- Strong hands on experience in Java, Spring, and J2EE technologies
- Good hands-on experience with tomcat
- Strong experience in database design, development and tuning. Experience with JPA/Hibernate
- Good understanding of performance and security aspects of software development
- Exposure to Gradle build automation and TestNG test automation
- Exposure to container products such as Docker
- Exposure to Web service technologies (REST or SOAP)
- Good communication skills