TORA is the leading provider of advanced investment management technologies for asset managers, hedge funds, proprietary trading firms, and sell-side trading desks globally. We are a cloud-based front-to-back office technology provider delivering everything you need to run a trading and portfolio management desk.
Our award-winning suite of sophisticated trading products offers the industry's most comprehensive institutional trading software including execution management, order management, risk control tools, algos, pre-trade, and post-trade TCA, and portfolio management solutions
Our team of software development experts build innovative technology that fits our client's workflow requirements through a feature-rich, intuitive user interface. We pride ourselves on having a strong focus on client support, rapid implementations and industry-leading innovation.
Headquartered in San Francisco, TORA has over 250 employees across our offices in New York, Cluj-Napoca, Tokyo, Hong Kong, Singapore, Sydney and Jersey.
We are looking for a Java Developer who has a solid software engineering background with excellent object-oriented programming skills, a passion for programming and for keeping code quality high.
The position requires to design, develop and troubleshoot complex software applications by using your knowledge on software design, distributed computing, networking and data storage, security, UI, mobile and other areas.
You’ll be part of a company spread across continents (Europe, North America, Asia), which has its research and development center located in Cluj-Napoca, so you can easily communicate with all your team members.
- Contribute to all phases of the software development life cycle, from design to deployment and maintenance;
- Write well designed, testable and efficient code;
- Measure and track performance, latency, scalability and develop solutions to improve overall system health;
- Support services at system launch by developing monitoring tools, troubleshooting and root cause analysis for production issues escalated to the engineering team;
- Participate in code reviews;
- Gain a deep understanding of our products, from a technical but also from a business perspective;
- Use open-source and other technologies outside of the JDK;
- Participate proactively in team meetings to maintain or improve team standards and best practices;
- Help grow the current and next generation of developers in writing clean code, by sharing best practices in software development.
- Proven experience with Java 11 core (collections, multithreading, I/O)
- Strong understanding of object-oriented concepts
- Good design capabilities, understanding of most common design patterns
- Experience with unit testing frameworks & libraries (JUnit, TestNG, Mockito)
- Experience with version control systems (Git)
- Experience with build automation tools (Gradle, Maven)
- Experience with following frameworks/libraries will help (Spring, Guava, Lombok, Trove4j)
- Experience with DevOps tools will help (Gitlab, Jenkins, SonarQube, Docker, Kubernetes, Ansible)
- Linux/Unix OS knowledge
- Degree in Computer Science or equivalent qualification as a software developer.
- Analytical thinking – you cultivated the habit of seeing a problem from multiple perspectives and not jumping to conclusions before looking for solid evidence;
- You enjoy software engineering, you’re curious and have a constant need for improvement;
- Solving problems is your driving force, especially when it comes to real business problems;
- You have the ability to work well with others – we truly believe that software development is a team sport and that the best software is made by the best functioning teams;
- Advanced level in written and spoken English.
ADVANTAGE – what would be a plus:
- Good knowledge of programming principles: SOLID, DRY, Law of Demeter etc.;
- Experience with software practices like test-driven development (TDD), continuous integration and continuous delivery;
- Experience with event streaming platforms: Tibco Rv, Apache Kafka
- Exposure to agile methodologies (Scrum, Kanban);
- Experience with project & issue tracking tools: Jira, Confluence
- Experience in developing real-time systems;
- A good understanding of financial and trading concepts.
Why would you join TORA:
- We are a product company – it’s up to us to find and implement the best solutions, and this means we are at the same time creative and critical thinkers to ensure the quality of what we do. By joining us you’ll get the chance to play both roles;
- You will work with smart, experienced and passionate colleagues who enjoy solving complex software development problems in a professional but still friendly environment;
- You will learn a lot. You will deepen your technical skills and gain business knowledge related to financial markets or crypto trading;
- Your day-to-day work will really have an impact since our products are used by asset managers, hedge funds and banks all over the world.