Job Description
We are seeking a skilled Java Developer with a strong background in software development and preferably a good understanding of the financial securities domain.
Key Responsibilities:
- Hands-on Java Development: Extensive hands-on experience with enterprise technologies.
- Technical Project Delivery: Proven track record of delivering high-value technical projects.
- Effective Collaboration: Ability to work effectively and gain credibility and respect from key partners both inside and outside the organization.
- Leadership and Influence: Ability to lead and persuade others while positively influencing team outcomes.
- Multitasking and Production Handling: Ability to multitask, handle production issues, and work in a fast-paced environment.
- Development Discipline: Enforces discipline across the software development lifecycle, including test-driven development.
- Powerful Communication: Strong communicator who engages colleagues, business partners, external stakeholders, and employees.
- Platform Support: Help support the environment and ensure effective utilization of the platform. Ensure systems run well in production, are highly available at disaster recovery, and have sufficient capacity.
- High-Quality Results: Must have the ability to deliver high-quality results under tight deadlines and be counted on as an essential and fully vested partner.
Preferred Skills:
- Experience with front end technologies such as React.
- Experience in the financial industry is preferred especially securities domain.
Qualification and Skills Required:
- Bachelors degree in computer science, Engineering, or a related field.
- Advanced Java Skills: Proficient in core Java development, capable of working independently and as part of a team. Must have expertise in multi-threading, hash maps, and other advanced Java concepts.
- Core Java with Spring: Experience in multithreaded programming and remote debugging.
- Software Design and Architecture: Proven experience in the design and architecture of software applications.
- OO and SOLID Design Principles: In-depth knowledge of object-oriented design and SOLID principles.
- Continuous Integration & Delivery: Familiarity with CI/CD tools.
- Relational Database Experience: Strong experience with relational databases such as DB2, Oracle, or Sybase.
- Object-Oriented Design and Programming: Familiarity with design patterns is a prerequisite.
- Efficient Data Handling: Experience in efficient storage and processing of large datasets, including batching.
- Version Control: Proficiency with SVN or GIT (GIT is a plus).
- Messaging Systems: Experience with JMS (TIBCO EMS and/or IBM MQ) and JMX.
- Agile Build Tools: Proficiency with tools such as Maven, CI, TDD, etc.
- Full Software Lifecycle: Good understanding of full software lifecycle development processes, including Agile methodologies.
- JMX Consoles: Experience with JMX consoles like VisualVM, JConsole, and memory tuning.