The day-to-day responsibilities include but are not limited to :
- Translate application storyboards and use cases into functional applications
- Design, build, and maintain efficient, reusable, and reliable code
- Ensure the best possible performance, quality, and responsiveness of the applications
- Help maintain code quality, organization, and automatization
- Architect and design high scale, robust, and cutting-edge applications
- Guide and provide technical leadership to the software development team
- Stay updated with emerging technologies and software architecture in the Java landscape
- The role involves designing and developing both public web applications and line of business sites using the latest technologies
- The role also involves leading and mentoring a team of developers, and overseeing the project delivery and quality standards
- As a Software Development Manager, you will also be involved in a minimum of 50% of the coding tasks, as well as code reviews, testing, debugging, and deployment of the web applications.
- Leading the team means :
- Setting the vision and direction for the project
- Managing the teams workload and performance
- Providing feedback and coaching to the team members
- Resolving any issues or conflicts that arise
- Managing the interaction with 3rd party outsourced development vendor
- Assessing the quality and security of the code from the vendor and the internal team members
- The role requires effective communication with the clients and stakeholders, and technical guidance and support as needed
Requirements :
At least 10 years of senior development experience in addition to 7 years of experience in managing a development team, preferably in a global or offshore setting, and demonstrate strong leadership and problem-solving skills.Proven work experience as a Java Architect or similar role in software development including creating application architecture diagramsEnsure compliance to all architecture requirements and ability to adjust based on current best practicesExpert-level knowledge of Java and its ecosystemsSolid understanding of object-oriented programmingFamiliarity with various design and architectural patternsKnowledge of concurrency patterns in JavaUnderstanding of fundamental design principles behind a scalable applicationBasic understanding of the class loading mechanism in JavaProficient understanding of code versioning tools, with familiarity using Aure DevOpsUnderstanding of Agile methodologiesFamiliarity with build tools such as Ant, Maven, Gradle and Azure pipelinesMS degree in Computer Science, Engineering, a related field or equivalent experience.Experience leveraging cloud solutions in AWSExperience with SAML and application security best practicesSkills Required
Java, Software Architecture, Project Delivery, Code Review, Testing