Software EngineeringAs a Placement Software Engineer, you will work in an agile environment, developing quality and scalable software solutions using leading-edge technologies. Based on business requirements, you will develop code consistent with quality standards, and offer support during testing cycles and post-production deployment. To ensure defect-free programming, you will use the appropriate tools to test and debug code, and participate in the review of peer coding.You will have the opportunity to focus on a variety of technologies, like the following:* Learn about best Engineering Excellence practices, Minimum Development Standards and Minimum Operational standards set and followed at CITI.* Opportunity to work on a small project/Proof of Concept using Core Java/C#/.Net with a SQL/No-SQL DB as backend(Oracle/MongoDB/Neo4J/Redis/HDFS/Cassandra) and React JS/Angular based front end.* Get basic understanding of latest design and software architecture patterns and frameworks - Microservices, APIs, Spring Core/MVC/Boot/Cloud, REST and so on.* Get basic understanding of event streaming/messaging systems using KAFKA or similar technology.* Understand CI/CD with exposure to various software development tools like : JIRA, Zephry, BitBucket, TeamCity, uDeploy, Artifactory, Openshift(ECS/Docker)* Exposure to Containers using Docker/KubernetesProduction SupportAs a Placement Production Support Analyst, you will work in a dynamic environment that adapts to the needs and priorities of the Trading, Sales and Middle Office. As you gain business knowledge combined with your technical skills, you will swiftly troubleshoot problems and provide solutions. This involves coordinating with other technology partners such as developers, business teams, etc. to monitor the end-to-end application environment in real-time.You will have the opportunity to focus on a variety of technologies and projects, like the following:* Improving Production Support Monitoring Techniques - Monitoring is vital to alert support to any issues within the production environment so they can quickly resolve them. Our analysts help to build upon and improve our current platform - using street-standard tools such as ITRS and ECS.* Design, development and implementation of tooling - Support analysts will have the opportunity to develop applications and scripts to aid themselves and their teams in their job. Our past analysts have implemented solutions that helped develop and hone their software development skills, ranging from excel macros, to python scripts, to C# and Java applications.Organisational and operational efficiency improvements - Within various support teams there are still day to day activities that are being performed manually, so our analysts get involved in efficiency improvement projects to see where tasks can be automated or streamlined to free their time to get involved in strategic projects that can better serve the business.
View more