- Responsible for leading the integrity of technical work on significant concurrent projects.
- Takes ownership of multiple significant software modules.
- Plans, participates and performs the technical work of an assignment.
- Provides guidance regarding design activity to other programmers on technical aspects relating to the project.
- Responsible for the implementation, automated unit and integration testing, debugging and integration of code of extreme complexity across multiple concurrent projects.
- Proactively looks for ways and patterns to continuously automate feature testing with measurable and tangible goals
- Actively participate in various scrum ceremonies such as Story grooming, sprint planning sessions etc.
- Establishes and maintains thorough and accurate documentation of all work.
BE/BTech or equivalent in computer science, electrical/electronics engineering, or related field is required, with a minimum of 4+ years of directly related work experience.
Skills, Knowledge and Experience
- 4+ years hands on experience designing web-based applications in Java/JEE technologies.
- Good hands on experience in Java application development frameworks and technologies: Apache tomcat, Spring, REST APIs.
- Extensive expertise in Java. Expertise in OOAD principles and methodologies (e.g. UML).
- Experience with databases, persistence frameworks, and SQL.
- Exposure to Cloud computing preferably AWS
- Exposure to CI/CD frameworks or tools (Jenkins)
- Extensive knowledge and discipline in software engineering process and data structures.
- Expertise in Configuration Management tools and concepts required
- Experience with Agile development methodologies (Scrum)
- Hands on experience in cross-browser development and troubleshooting.
- Solid programming experience and very strong in programming disciplines like object oriented principles, design patterns, data structures and unit testing (TDD using junit), Domain driven Design (DDD)
- Significant experience using Agile Scrum development processes.
- Preferable - Experience with Amazon Web Services or other leading cloud deployment platforms and services.
- Having a wide range of experience and understanding of trends and technologies uses technical knowledge to resolve complex issues in creative and effective ways.
- Proven expertise in Networking technologies and multi-threaded programming.
- Designing large-scale, highly available distributed software
- Expertise in Windows/Linux programming.
- Exposure to design, development and automated testing of SaaS products.
- Excellent verbal and written communication skills