Java Developer
citi
Job Description
- Utilize knowledge of applications development procedures and concepts, and basic knowledge of other technical areas to identify and define necessary system enhancements, including using script tools and analyzing/interpreting code
- Consult with users, clients, and other technology groups on issues, and recommend programming solutions, install, and support customer exposure systems
- Apply fundamental knowledge of programming languages for design specifications.
- Analyze applications to identify vulnerabilities and security issues, as well as conduct testing and debugging
- Serve as advisor or coach to new or lower level analysts
- Identify problems, analyze information, and make evaluative judgements to recommend and implement solutions
- Resolve issues by identifying and selecting solutions through the applications of acquired technical experience and guided by precedents
- Has the ability to operate with a limited level of direct supervision.
- Can exercise independence of judgement and autonomy.
- Acts as SME to senior stakeholders and /or other team members.
- 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.
- Design, develop, test, and maintain Java/Spring Boot backend applications.
- Develop and maintain RESTful APIs using appropriate HTTP methods and standards.
- Implement business logic using Core Java and Java 8 features.
- Work with Java collections such as ArrayList, HashMap, and HashSet for efficient data processing.
- Write clean and reusable code following object-oriented programming principles.
- Develop SQL queries and perform basic database operations, including joins, filtering, grouping, sorting, and aggregation.
- Debug and resolve application issues across the Java, Spring Boot, database, and Unix/Linux layers.
- Analyze application logs using Unix/Linux commands such as grep, find, and tail.
- Monitor applications and troubleshoot basic production/runtime issues.
- Investigate process, disk-space, file-permission, and application-related issues in Unix/Linux environments.
- Participate in code reviews and follow established coding and development standards.
- Collaborate with business analysts, QA engineers, senior developers, and other stakeholders to understand and deliver requirements.
- Write unit/integration tests and ensure the reliability and quality of developed services.
- Identify performance, reliability, and maintainability issues and contribute to their resolution.
- Support deployment and production troubleshooting activities as required.
- Continuously learn and adopt better development practices and technologies.