We are seeking an experienced, motivated, creative Java Developer to join our Cognitive/AI Automation development team to build AI solutions using Java/J2EE Technologies across our 450+ market-leading customer base. This role requires a high degree of independent execution, ownership and responsibility for customer success. The Sr Software Engineer is expected to be highly resourceful at swiftly executing development tasks with high quality coding standards. This is a varied role which offers exposure to a wide range of technologies. A commitment to collaborative problem solving, sophisticated design, and delivering quality product(s) is essential.
Key Duties and Responsibilities
- Design, develop and automate applications, modules and tasks using Java/J2EE and related Technologies
- Transform non-technical, business requirements into technical requirements
- Break down program specifications into its simplest elements and translate this logic into a programming language.
- Prepare effort/cost estimates which consistently demonstrate minimum deviation from plan.
- Accountable and responsible for meeting project timelines
- Work with minimum guidance from senior resources, and collaborate with internal team members, shared services teams (e.g., Server team, Network, etc.) as well as external stakeholders as needed throughout each project’s lifecycle
- Independently perform all necessary end-to-end setup (software & middleware) on development, testing & production environments.
- Proactively identify bottlenecks and bugs, and devise solutions to mitigate and resolve these issues
- Develop and maintain code quality, organization, and automatization
- Proactively contribute to and shape quality deliverables, particularly during the design phase
- Anticipate and participate in code reviews to ensure quality deliverables
- Practice and encourage knowledge sharing with a focus on establishing best practices
- Ready to work in flexible time zone as per client requirement(s).
Qualifications and Experience Required
- Bachelor’s Degree in Computer Science required; Master’s degree preferred.
- 10+ years of enterprise application development experience with at least 6 years’ experience with Java/J2EE Technologies.
- Strong development experience in Restful Web Services using Spring or Jersey Frameworks
- Strong development experience using any ORM (JPA/Hibernate)
- Candidates also having web development experience using HTML5, CSS and AJAX/JQuery and AngularJS/DOJO preferred.
- Demonstrable working knowledge of CI/Build tools like Maven, Ant and Jenkins
- Strong knowledge of Test Driven Development
- Exposure to any Unit test framework like Junit/Test NG and Mocking frameworks (e.g. Mockito)
- Have knowledge of design pattern, which includes java, j2ee design pattern.
- Familiarity with mainstream application servers like WebSphere 8.0, Apache Tomcat.
- Have working knowledge of UNIX commands and scripting.
- Candidates with demonstrable development experience in cognitive technologies such as IBM Watson, Amazon Alexa, Microsoft LUIS will be preferred
- Proven working experience in SQL and Database programming.
- Working knowledge of Test Driven Development
- Excellent written and verbal communication skills. Must be able to effectively communicate across all levels of the organizations with regard to all aspects of a project solution with managers, client and project team.
- Strong interpersonal abilities to collaborate across teams
- Can think creatively and provide innovative designs and solutions to problems.
- Experience/knowledge of entire software lifecycle process/SDLC.
- Experience developing and deploying solutions/applications across various environments (on premises and cloud (AWS, Azure, Amazon, etc.).
- Experience in contact centre domain and multi-channel customer engagement platforms like Genesys, eGain, Avaya) preferred