Job Summary
You will manage a team of developers responsible for the design, development, integration, verification and maintenance of our software solutions. You will be responsible for the technical design of features, own the team's delivery on quality of code and develop software solution that meets the customers need with continuous contribution in the process improvement cycle.
Reporting Structure
- This role reports to the Manager - Web/CMS
- A team of developers and senior developers report to this role
Job Objectives
- Take ownership for the team's delivery, train, evaluate new technologies, feasibility studies for internal implementations, coach the team, build processes and documentation, ensure quality solutions and delivery to the clients.
- This role is responsible for development done on both JAVA and OpenText
Job Responsibilities
Technical Delivery Responsibilities
Design and Development
- Complete ownership of team delivery, provide technical advice, code review, solution architecture guidance
- Spearhead design, technical and code reviews, Implement coding standards and approaches
- Promote an Agile approach to software development.
- Maintain a culture of continuous integration and delivery, automation and minimizing blast radius
- Build the solution architecture and system design
- Supervise building the API integration layers on top of the existing web applications
- Guide and coach less experienced engineers
- Conduct market research, evaluate new technologies for better and faster solutions, conduct internal implementation feasibility studies, prepare battle card with pros and cons
- Collaborate with teams across the organization to mitigate risk and resolve dependencies.
- Review development code and ensure maintaining quality standards. Ensure that team is conducting unit and end to end testing before starting the actual testing by the quality team.
- Build solution development processes, documentation, and knowledge banks
- Customize and extend JAVA core/modules, work with no-SQL DB
- Escalate interdependencies and problem areas at the right time with the manager and arrive at solutions
- Train the team on the new technologies, solutions development
- Work with project managers on estimating the feasibility and complexity of new products/features
- Participate in the planning process for software development projects, and ensure meeting quality and deadlines on delivery
Maintenance and Sustainability
- Manage JAVA applications, apps coach mechanisms, apps on high availability setup, Enterprise apps based on JAVA
- Manage exposing and migrations
- Manage and work on Webpage lifecycles, Web securities, apply best practices in web development
- Manage and work on Radius Cache` and Varnesh, Headless Implementation
- Manage the Service Desk support engineers responsible for supporting live applications developed under JAVA/Opentext
Managerial Responsibilities
Team Hiring & Selection
- Contribute to defining team Job Descriptions
- Perform interview & selection activities and facilitate onboarding & orientation of new Team Members
Team Management
- Build a transparent, open, and consistent communication system between self and team members
- Consistently monitor team's work and performance by conducting regular team meetings and systematic review sessions
- Enhance team's engagement levels by creating a positive work environment and by ensuring alignment of individual & team objectives to organizational goals
- Assist and support team in achieving team goals and elevating productivity
- Ensure continuous reporting of KPIs
- Manage underperforming Team Members
Employee Development & Performance Management
- Effectively use performance management mechanism to ensure growth and development of each individual team member - setting clear objectives, scheduling periodical informal performance conversations and formal review sessions, providing constructive feedback
- Support & guide individual employees in the team to achieve work and personal development goals through coaching and mentoring
- Ensure training need analysis is done for Team Members and that the chartered training programs are administered properly
Processes, Best Practices & Work Standard Management
- Ascertain that the work processes and tools followed by the Team are effectual and of high-performance standards
- Establish and document best practices
- Closely monitor & audit the processes of the team to ensure the quality & work standards are maintained
- Evaluate the efficacy of the tools and constantly update them
Job Requirements
Educational Qualification
- Bachelor's degree in computer science (or related area) preferred
Previous Work Experience
- 8 + years of experience in web development specially JAVA implementations
- Hands on experience in JAVA, Mysql, Web API's and web applications
- Working knowledge of databases (MySQL)
- Excellent experience in web application trouble shooting and bug fixing along with strong ability to perform quick wins for production issues
- Experience in leading a team in different geo locations
- Experienced in working with enterprise web applications serving huge number of customers
- Experienced in a high-availability setups when it comes to web development
Skills and Abilities
- Knowledge of High Availability solutions and Disaster Recovery
- Ability to work well with a team in a fast paced, constantly changing environment
- Solid understanding for SDLC and web page life cycle
- Solid understanding for web applications integrations
- Solid understanding for common design patterns and understand the use case for each
- Solid understanding of web security in term of web applications and public websites
- Expert in Java core, Spring boot
- Average knowledge in ADF
- Excellent knowledge in Linux OS, on Enterprise level solutions
- Excellent knowledge in APIs building and integrations with multiple systems
- DevOps skills like
- Azure pipelines
- Managing the code repo, code branches
- Understanding and knowledge of DevOps cycle and relevant tools like Continuous Testing, Continuous Delivery, Continuous Integration/Deployment Tools
- Self-motivated, and self-developing
- Passion for quality and solving problems in complex computing environments
- Ability to think logically and pay close attention to detail, and process oriented
- Ability to lead a strong technical team with diversified backgrounds and technical skills
- Ability to manage and guide resources in recent technologies
- Good to have skills
- Familiarity with load balancing, firewalls, etc.
- Containers, Kubernetes