Job
Description
The Applications Development Senior Manager is a senior management level position responsible for accomplishing results through the management of a team or department in an effort to establish and implement new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to drive applications systems analysis and programming activities. Responsibilities: Manage one or more Applications Development teams in an effort to accomplish established goals as well as conduct personnel duties for the team (e.g. performance evaluations, hiring, and disciplinary actions). Utilize in-depth knowledge and skills across multiple Applications Development areas to provide technical oversight across systems and applications. Review and analyze proposed technical solutions for projects. Contribute to the formulation of strategies for applications development and other functional areas. Develop comprehensive knowledge of how areas of business integrate to accomplish business goals. Provide evaluative judgment based on the analysis of factual data in complicated and unique situations. Impact the Applications Development area through monitoring the delivery of end results, participating in budget management, and handling day-to-day staff management issues, including resource management and allocation of work within the team/project. Ensure essential procedures are followed and contribute to defining standards negotiating with external parties when necessary. Appropriately assess risk when business decisions are made, demonstrating particular consideration for the firm's reputation and safeguarding Citigroup, its clients, and assets, by driving compliance with applicable laws, rules, and regulations, adhering to Policy, applying sound ethical judgment regarding personal behavior, conduct, and business practices, and escalating, managing, and reporting control issues with transparency, as well as effectively supervising the activity of others and creating accountability with those who fail to maintain these standards. Knowledge/Experience: 10+ years of industry experience. Experience of Agile development and scrums. Strong knowledge of Core Java, Spring (Core, Boot, etc.). Expertise in Web API implementations (Web services, Restful services, etc.). Good understanding of Linux or Unix operating systems. Strong knowledge of build (Ant/Maven), continuous integration (Jenkins), code quality analysis (SonarQube), and unit and integration testing (JUnit). Exposure to SCM tool like Bitbucket. Candidates with strong knowledge of Docker/Kubernetes/OpenShift. Strong knowledge of distributed messaging platforms like Apache Kafka, RabbitMQ, etc. Good understanding of NoSQL database like MongoDB will be a plus. Skills: Hands-on coding experience on Core Java and Spring. Hands-on coding experience in Python is a plus. Strong analysis and design skills including OO design patterns. Solid understanding of SOA concepts, RESTful API design. Ability to produce professional, technically-sound, and visually-appealing presentations and architecture designs. Experience creating high-level technical/process documentation and presentations for audiences at various levels. Experience writing/editing technical, business, and process documentation in an Information Technology/Engineering environment. Must be able to understand requirements and convert to technical design and code. Knowledge of source code control systems, unit test framework, build and deployment tools. Experienced with large-scale programs rollout and ability to create and maintain detailed WBS and project plans. Education: Bachelor's degree/University degree or equivalent experience. Master's degree preferred.,