As an Application Developer, you will be responsible for developing features within a specific Delivery Team. You will work autonomously and follow a continuous improvement approach, ensuring high-quality code that adheres to our design, norms, and standards. You will be accountable for delivering solutions that meet both functional and non-functional requirements, taking into account the principles of Agile development.
Responsibilities:
• Research, design, and develop computer and network software or specialized utility programs.
• Analyse user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis.
• Update software, enhance existing software capabilities, and develop and direct software testing and validation procedures.
• Work with computer hardware engineers to integrate hardware and software systems and develop specifications and performance requirements.
• Build quality, shippable, and reusable code according to design and coding standards.
• Write simple, purposeful, and lean code that aligns with CMI project guidelines and quality standards.
• Perform peer reviews when needed to ensure code quality and adherence to best practices.
• Implement Configuration Management on each of your work items to ensure version control and traceability.
• Perform unit tests to verify functionality.
• Automate tests according to the test strategy, ensuring test coverage targets are met and adhering to software factory practices.
• Implement and perform technical tests as defined in the test strategy to ensure the software meets all requirements.
• Propose non-functional needs in sprints to ensure the software meets performance, security, and other non-functional requirements.
• Estimate, break down, and update User Stories and Tasks to ensure accurate project planning and tracking.
• Update Sprint Backlog to reflect progress and any changes in scope.
Mandatory Skills Description:
• Candidate should have minimally 1 to 4 years of experience in relevant activities.
• Master or Bachelor's degree in Computer Science/ Information Technology/ Programming & Systems Analysis/ Science (Computer Studies) faculties.
• Good knowledge in UNIX platform
• Solution design using proven patterns, awareness of anti-patterns, performance tuning
• Java/J2EE, Spring, AngularJS, Spring MVC/Struts, Multi-threading, Restful web services, Swagger, JMS/WebSphere MQ, JavaScript, JQuery, XML, XSLT, Xpath, XSD
• Valuable exposure to tools & technologies like Elastic Search, Grafana, Prometheus, Kibana, Control-M, KAFKA, Confluence, Jira, Gitlab, MQ Series, Mongo DB
• Well experienced and having good understanding on SQL language, relational databases - MSSQL, Oracle, PostgreSQL
• Application server - Jboss/WildFly/ Websphere
• Experience in DevOps tooling (GIT, Maven/Graven/Nuget/Ansible, Jenkins...)
• Experience with Docker/Kubernetes
• Domain-Driven design and Microservices: Spring Boot
• Experience in supporting capital market applications and trading systems, ideally within the dynamic landscape of Market Risk/Front Office operations with a commendable grasp of financial products (Treasury, FX, Credit, IRD, Bonds, RSF etc.)
Nice-to-Have Skills Description:
• Any Object-oriented language (e.g., .Net)
• Exposure to Capital Markets applications
• Knowledge of Cloud platforms and services
• Familiarity with AI-powered development tools (e.g., GitHub Copilot) and willingness to learn best practices for their effective use
• Basic understanding of AI/ML concepts and eagerness to develop skills in prompt engineering and responsible AI usage
• Ability to critically review AI-generated code and outputs with guidance from senior team members
• Interest in exploring how AI tools can improve development workflows and problem-solving approaches