Java Software Developer (Mid-Senior Level)
Company Overview
Interactive Brokers Group, Inc. (Nasdaq: IBKR) is a global financial services company headquartered in Greenwich, CT, USA, with offices in over 15 countries. We have been at the forefront of financial innovation for over four decades, known for our cutting-edge technology and client commitment.
IBKR affiliates provide global electronic brokerage services around the clock on stocks, options, futures, currencies, bonds, and funds to clients in over 200 countries and territories. We serve individual investors and institutions, including financial advisors, hedge funds and introducing brokers. Our advanced technology, competitive pricing, and global market help our clients to make the most of their investments.
Barron's has recognized Interactive Brokers as the #1 online broker for six consecutive years. Join our dynamic, multi-national team and be a part of a company that simplifies and enhances financial opportunities using state-of-the-art technology.
This is a hybrid role (3 days in the office/2 days remote).
About your team:
Our clearing applications group works on back-end, internal systems and client-facing applications. These applications support Funds and banking software handling client cash, brokerage operations, securities borrowing and lending, clearing operations including regulatory reporting, trade settlement and reconciliation, corporate action processing, client statements, reference data systems, and IPO processing, to name just a few. In addition, we also continuously work on our fully integrated internal development and operational tools used to handle functions such as software releases, job scheduling, service location and security frameworks, and build management tools. We are looking to continuously improve our intelligent, automated systems to provide the world-class solutions and systems our brokerage customers expect.
What will be your responsibilities within IBKR:
- Creating software applications or systems to meet user needs while considering functionality, reliability, and scalability.
- Utilizing Java programming languages to write clean, maintainable, and efficient code and develop back-end services and algorithms
- Conducting thorough testing to identify bugs or issues in the software and resolving them to ensure high-quality deliverables.
- Working closely with other developers, designers, product managers, and stakeholders to understand project requirements and specifications.
- Reviewing code written by peers for quality assurance and providing constructive feedback.
- Updating and modifying existing applications to improve efficiency, enhance functionality, and fix vulnerabilities.
- Creating and maintaining detailed documentation for code, software designs, and development processes for future reference.
- Keeping up with industry best practices, emerging technologies, and programming languages to refine skills and improve development processes.
- Contributing to project timelines, estimates, and resource allocations to ensure deadlines are met and goals are achieved.
- Assisting users with software-related issues and providing training sessions when needed.
- Have a desire to learn about and understand financial instruments and concepts.
Skills Required:
- Bachelor’s or master’s degree in computer science or related degree.
- 5+ years of Java experience or similar object-oriented language experience.
- Strong knowledge of object-oriented concepts, n-tier applications
- Knowledge of relational database concepts (Oracle is a plus).
- Hands-on experience with server-side programming, ideally with Java/JEE or C++, message-oriented systems, RESTful web services, and microservices.
- Desire to challenge the status quo, create simple, elegant solutions to complex problems, and follow solutions from development through production release, acceptance testing, and support.
- Experience with configuration and deployment on application servers, ideally JBoss.
- Knowledge of financial instruments is a plus but is not required. Otherwise, you have a desire to learn about and understand financial instruments and concepts.
To be successful in this position, you should be:
- Detail-oriented self-starter who is comfortable working both independently and collaborating with your team.
- Passionate about writing clean, well-tested, and maintainable code.
- You should have a high level of comfort in an environment of continuous integration and deployment.
- Optimizing, improving, and supporting existing algorithms and systems to reach the goal of highly automated robust systems with full test coverage requiring minimal operational oversight.
- Creating independent automated risk controls and checks to ensure that systems are performing as expected and catching potential errors as soon as possible.
- Developing message-oriented systems, batch processing applications, and web application-based management consoles.
- Continuous learner and will use and/or learn the right language and technology to solve a problem.
Apply for this job
*
indicates a required field