Education: Graduation in any stream (with diploma/training in software development courses is preferred for non-IT engineer. graduates)
Experience (years): 12 years +
Industry / Technology background: Software Development (any domain). However an experience in public safety domain will give an extra weightage to the candidate
Location: Mumbai
Working Hours: Full Time
Reporting Structure: Development teams report to Project Manager and Project Manager reports to Senior Project Manager/ AVP
Required
Key Functions
- Lead the design and development of high quality, scalable and performance focused software based on Java 2 Standard Edition (J2SE) / Java Enterprise Edition (JEE)
- Provide technical support, mentoring and inspiration to team
- Participate in design reviews and recommend improvements
- Recommend new technologies to ensure quality and productivity.
Key Objectives
- Solution provider, help in making design decisions, trouble-shooter for the team
Competencies
Essential
- Analytical thinking - able to simplify complex problems, processes or projects into component parts explore and evaluate them systematically
- Strategic thinking – able to identify a technical vision along with the plans, which need to be implemented to meet the end goal, evaluating situations, decisions and issues in the short, medium and long term
- Influencing and persuading - able to present sound and well-reasoned arguments to convince others. Adapts to the situation and can draw from a range of strategies to persuade people in a way that results in agreement or behaviour change
- Communication – able to communicate and collaborate effectively with wider team members located elsewhere within the India and UK, and to get the message across as appropriate to the audience and the nature of the information
- Managing relationships and team working - able to build and maintain effective working relationships with a range of people. Works cooperatively with others to be part of a team, as opposed to working separately or competitively
- Enthusiastic approach – able to demonstrate an enthusiastic and proactive approach to software development
- Delivery Focus – able to produce high quality software products in accordance with agreed delivery plans and sometimes within aggressive budget and timescale constraints
- Adaptability – able to work flexibly and imaginatively in a changing and evolving project environment with regularly changing requirements.
Technologies
- Java, Servlets, Sprint Dependency Injection ( 5+ years)
- Webservices (SOAP based) and XML (5+ years)
- JSON (Knowledge of Restful Architecture) (2+ years)
- Design Patterns knowledge and implementation (5+ years)
- Activemq, JMS (5+ years)
- Apache webserver (5+ years)
- ANT (5+ years)
- Oracle, mysql or any other RDBMs (5+ years)
- Exposure to SVN or any other configuration management tool (5+ years)
- Experience on SOA / RAD (5+ years)
Desirable
- EXTJS and GWT (2+ years)
- Apache Camel (2+ years)
- Groovy (1+ years)
- Maven (1+ years)
- Experience of Cloud Computing Delivery Models (2+ years)
- Javascript, CSS (2+ years)
- Experience of working with mixed onshore/offshore development teams (5+ years)
- Experience of working with the Scrum Agile development methodology (5+ years)
- Experience of working under a formal Quality Management System
- Experience of working on an Defect / Requirement Management Tool (eg: Jira, Mingle)
- Work flexibly and imaginatively in a changing and evolving project environment.
Responsibilties
- Produce technical specifications and software designs based on high level product requirements.
- Work collaboratively with Business Analysts and Product Owners to ensure that functional requirements are met.
- Get involved in coding of critical components.
- Create and execute comprehensive Unit Tests on developed software
- Support and maintain developed software endeavoring to meet agreed service level targets and quality objectives
- Ensure that work complies with the agreed development methodologies and processes.
- Get involved in designing and developing POCs as needed.
- Adopt and promote the consistent use of shared platform components and technologies within the solutions being developed.
- Identify risks associated with software development projects and recommend means of mitigating these risks.
- Actively contribute to the continuous improvement of development processes that enhance the performance and quality of personal and team deliverables
- Provide technical guidance in software design and development activities to more junior development team members and promote best practices via code reviews and workshops as required.
- Present technical subjects to team members, members of the wider development group and project stakeholders to aid understanding.
- Carry out methodical investigations into technical problems to identify the root cause and proposed solutions to resolve them.