Apps Dev Intermed Prgmr Anlyst
Applications Development Senior Programmer Analyst Job Description :
The Applications Development Senior Programmer Analyst is an intermediate level position responsible for participation in the establishment and implementation of new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to contribute to applications systems analysis and programming activities. Responsibilities:
Write high quality and testable code following clean coding standards and SOLID design principles.
Create design, technical and project documentation.
Be a self-starter and plan/schedule own work for tasks and projects, implement functionality without direct supervision.
Perform profiling and troubleshooting of existing solutions.
Follow and understand defined software development process.
Communicate with clients and stakeholders on a regular basis to clarify business requirements.
Participate in workshops and presentation of proposed solutions to clients and stakeholders.
Assist team members with providing with technical solutions.
Perform code reviews and contribute to overall quality, maintainability and testability of software developed.
Work independently while in close collaboration with others in the team and across projects.
Coordinate deployment, test and release of applications developed. Requirements:
Advanced knowledge on Java 8, Core Java, Spring
Good knowledge of Hibernate and Restful web services including its data interchange format/definition such as XML, JSON, GSON.
Understanding of code quality measurements using tools like Sonar and able to implement efficient Unit Tests.
Experienced in designing high quality solutions using OOP, TDD/BDD, Design Patterns and SOLID principles.
Experienced in distributed caching technologies like Apache Ignite or similar.
Experienced in relational database technologies e.g., Sybase, SQL Server.
Experienced with Agile development.
Ability to provide technical solutions from an architecture perspective.
Ability to provide realistic estimation on required effort and manage to track and complete tasks in accordance to estimation.
Be self-managing and work without supervision.
Good communication skills. Education:
Bachelor degree or above in Computer Science, Software Engineering or related majors Desirable:
Full Stack Developer being able to build and maintain responsive and stylish user interface framework and web components with latest technology using Angular and NodeJS.
Experience in Equity trade capture and life cycle systems that support equity derivative products like options and swaps.
Experience in designing and building APIs, integrating with modern-web applications
Working experience in global environment where colleagues, stakeholders and onsite client team locate in different locations, be able to cope with culture and time zone differences
Experience in mentoring juniors or less senior colleagues on the project(s)
Experience in conducting trainings or technical tech talks in the area of expertise Job Family Group:
Technology Job Family:
Applications Development Time Type:
Citi is an equal opportunity and affirmative action employer.
Qualified applicants will receive consideration without regard to their race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.
Citigroup Inc. and its subsidiaries ("Citi") invite all qualified interested applicants to apply for career opportunities. If you are a person with a disability and need a reasonable accommodation to use our search tools and/or apply for a career opportunity review Accessibility at Citi
View the " EEO is the Law
" poster. View the EEO is the Law Supplement
View the EEO Policy Statement
View the Pay Transparency Posting