Write code on one or more development platforms to deliver part or all of a feature, under guidance from senior engineers.
Respond to problems, questions, or situations by applying established criteria to directly influence development outcomes. In doing so, use the right technology to solve technical challenges required to deliver all or part of small scale features and functions and / or supporting aspects of a larger program efforts.
Have responsibility for applications systems analysis and programming activities that may include inputs to feasibility studies, time and cost estimates and implementation of new or revised applications systems and programs.
Accountable for development, design, construction, testing and implementation and write secure, stable, testable and maintainable code.
Operate with autonomy, while some oversight and direction may be required.
Engage in digital applications development, risk technology, Middleware, Mainframe applications, Non Mainframe applications, Analytic Model Development and Application support activities to meet specific business needs of user areas and to test systems to ensure integrity of deliverables.
Expected to provide sound understanding of application development concepts and principles and a basic knowledge of concepts and principles in other technology areas.
On occasion, may need to consult with users, clients and other technology groups on issues and recommend programming solutions for customer exposed systems.
Understand the functionality of the systems involved with projects. This includes the applications/services, runtime operations, and maintenance.
Understand the business context and the associated customer use cases.
Understand your technologies for your features and are able to evaluate system designs and architecture while participating in solution discussions, development and the creation of application / systems documentation.
Participate in design sessions to gain an understanding of the context for design decisions and provide inputs for making these design decisions.
Expected to seek guidance from peers and / or manager for items not outlined in our operating procedures.
Provide inputs for building project development schedules.
Provide inputs for feature prioritization, highlight technical dependencies between deliverables and help the scrum team reach consensus with the product owner.
Verbal and written communication is clear and concise.
Have good working relationships with team members, manager, and peers.
Provide inputs to help improve development related processes that accelerate delivery, drive innovation, lower costs, and improve quality.
Successfully complete assessment tests offered in Pluralsight, Udemy, etc. or complete certifications to demonstrate technical expertise on your development platform(s).
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.
Proficiency in Java/J2EE/MicroServices/Oracle/Mongo