Able to lead in terms of technology and conceptualize, propose design and architectural evolution.
• Contributing to the development of high-quality, fully tested source code, complying with deadlines, schedules, and coding standards.
• Liaise with business analysts for clarification and understanding of requirements.
• Organize and keep up-to-date detailed technical documentation.
• Develop test strategies in coordination with project managers and Business Analysts.
• Provide technical assistance during user acceptance testing.
• Support applications in production – analyze and resolve issues as they arise, and propose optimizations for the future.
Qualifications and Profile
The successful candidate will definitely have:
• At least 9 years of software development experience.
• At least 7 years’ experience working with Java.
• Strong knowledge of various design patterns.
• A strong understanding of recent Java language features, such as lambdas, streams, and futures.
• Good knowledge of algorithms and data structures, with strong fundamentals in complexity analysis.
• Strong ability to analyze code – understand execution flow and debug even without access to a debugger.
• Experience with Maven, Git, and writing and maintaining integration tests.
• Strong familiarity with Linux and bash.
• Good knowledge of SQL or an SQL-inspired dialect such as HQL.
• Experience in cloud-native architecture.
An ideal candidate will also have expertise in some or all of the following:
• Jenkins and Ansible with exposure to DevOps culture.
• Jira or a similar issue-tracking system.
• The Spring framework and IoC, and particularly Spring Boot and Swagger for restful web services.
• Messaging technology such as Kafka, MQ.
Additionally, knowledge of the following would be helpful although it is not required:
• Web development fundamentals (HTML, Javascript, jQuery, ReactJS, etc).
• Docker/Kubernetes, Microservices.
• ElasticSearch.
• General knowledge and understanding of the investment banking domain, capital market FO/BO environment is an advantage.
• Understanding or interest in finance & financial markets, particularly interest rate derivatives in their many forms (Forwards, Futures, Swaps, Swaptions, etc).
Other Professional Skills and Mindset:
• Excellent written and verbal communication skills for both teammates and management.
• Strong analytical and problem-solving skills.
• Proficient software development life cycle.
• Appetite to follow technology trends and participate in communities.
• Passion for sharing expertise and growing team members’ skills.
• Interest in mentoring and guiding junior team members on the path to high-quality deliverables.
Education Requirements:
• At least a Bachelor’s degree in any of these faculties:
• Computer Science
• Information Technology
• Programming & Systems Analysis