Tech Stack
AngularApacheCloudHibernateJ2EEJavaJavaScriptJenkinsJMeterJUnitKafkaMavenMicroservicesMockitoMongoDBNeo4jOraclePostgresPythonRedisShell ScriptingSpringSpring BootSpringBootSQLUnix
About the role
- Part of a talented software team building high-performing, scalable, enterprise-grade applications for Citi
- Understand user requirements and work with development team on design, implementation and delivery of Java/Python applications
- Provide expertise across the full software development lifecycle from concept and design to testing
- Work closely with business architecture group to design and implement current and target state business processes using various tools and technologies
- Integrate applications with other bank systems via RESTful APIs/web services and Kafka Streams
- Participate in system architecture and complex system integration projects
- Ensure alignment of projects with the firm's strategic objectives and support successful project delivery
- Collaborate with cross-functional stakeholders including business analysts, DBAs, project managers and technical architects
Requirements
- 7+ years of industry experience in hands-on development of mission-critical applications using Java/Python technologies
- Minimum 7+ years of application development experience in Java/Python with Spring Boot & Microservices; REST Web Services; JPA with hibernate; Core Java/Python
- Minimum 3+ years of Hands-on experience in designing architecture for enterprise applications
- Experience with complex system integration projects
- Java, Spring, Spring Boot, Spring Cloud, J2EE Design Patterns, REST services
- Front End Technologies like JavaScript and Angular, CSS2/CSS3, HTML
- Strong Knowledge of SQL, JDBC, Unix commands
- Hands-on Database experience in relational (Oracle/DB2) and No-SQL (MongoDB); experience with PostgreSQL, Neo4j
- Hands-on experience on working / deploying application on Cloud; Deployment Acquaintance in Apache Tomcat, Open shift or other cloud environments
- Hands-on experience in code testing tools like Junit / Mockito / Cucumber
- Expertise in Test driven development (Junit, JMeter)
- Continuous Integration (Jenkins); Build tool (Maven) and Version Control (Git)
- Development tools (Eclipse, IntelliJ)
- Experience with caching frameworks such as Redis
- Experience with CI/CD systems such as helm and harness
- Experience with messaging services such as Kafka and Kafka Streams
- Experience in Python, Unix shell scripting (added plus)
- Excellent communication skills (written and verbal)
- Excellent analytical and problem-solving skills and ability to work independently
- Experience working with business analysts, database administrators, project managers and technical architects across geographies
- Experience with Agile Software Development Lifecycle methodology and related tooling (JIRA, Scrum)
- Experience in the Financial Services industry is added advantage
- Understanding Financial and Reporting Hierarchies will be beneficial
- Education: Bachelor’s or equivalent degree in Computer Science