The Lead Applications Software Developer is accountable for leading projects through the analysis, design, development, implementation and support of applications to ensure and / or maintain alignment with the Lines of Business strategies in the Corporate and Commercial Bank and Credit Risk Area.
Writes code according to accepted standards based on user requirements to meet the business need.
Recommend software solutions to emerging needs in the Corporate and Commercial Bank and Credit Risk area.
Work with engineers and other cross functional teams like Product Management, Project Management, Release Engineering, Enterprise Architecture and Risk teams etc.
to develop innovative solutions that meet the business needs with respect to functionality, performance, scalability, reliability, realistic implementation schedules, and adherence to development goals and principles.
Liaises with third party vendors, when appropriate, to ensure that the integration of third party products and existing applications and systems is practical and feasible given the underlining technologies
Identify project risks and work effectively to mitigate them
Provides coaching and guidance to team members in order to foster professional development of the Application Software Development staff.
Leads process and application improvement opportunities to improve the reliability and extensibility of the application and to improve the overall Service Level Agreement (SLA)
Presents solutions to internal governance groups in order to gain approval for the design and communicates the outcomes of these presentations to the project / work teams to keep them updated on the governance process
Qualifications General skills
Possesses a university degree / college diploma in applied technologies and / or 8+ years systems analysis and programming experience with extensive business knowledge
Experience leading a small team of 3-7 developers is a must have
Ability to create and present detailed and high level design documents
Possesses solid analytical skills for complex problem solving.
Ability to adapt and quickly develop in-depth technical understanding of new / different applications.
Exhibits solid communication skills, both written and verbal.
Demonstrates solid independence and team-lead skills
Good communication and presentation skills
Ability to dig into new applications and document how they operate
Ability to extrapolate when troubleshooting new technology
Experience interacting directly with business users and familiarity translating business requirements into technology actions
Innovative nature and attitude towards making systems better through design and architecture Data warehousing
Strong hands on experience with .Net and Angular JS.
Possesses expert knowledge of design and analysis methodology and application development processes
Excellent database knowledge SQL / Stored Procs / Views etc preferably with Oracle
Ability to work on enterprise sized projects with complex network topologies including cloud.
Excellent knowledge / experience designing messaging structures (XML / SOAP / REST) for SOA applications
Excellent knowledge / experience designing and developing Web Services and associated consumer
Excellent knowledge and working experience in a Service-Oriented Architecture environment
Experience consuming real-time feeds / messages
Proficient understanding of code versioning tools, such as Git
Proficient understanding of continuous integration and continuous delivery system, e.g Maven.
Nice to Have
Hands on experience in Core Java, OOPS, Multithreading, Java concurrency and J2EE technologies including JMS.
Experience building distributed enterprise applications with JAVA technologies
Working knowledge of NOSQL databases like MONGODB / Neo4j / HADOOP
Working knowledge of Unix / Linux commands and shell scripting