Experienced Software Engineer - Order Execution/Order Management (OEMS) Team
Enfusion
As a company, we’re absolutely committed to the growth, development, and well-being of our people. Enfusion is where you can pursue your passion, showcase and further develop your skills, and launch a meaningful and rewarding career. If you're looking for a culture that is inclusive, collaborative, entrepreneurial, values diversity, fosters and rewards creative exploration, and strives to continually exceed client expectations then we're looking forward to hearing from you.
The Team:
Our OEMS (Order Execution & Order Management) product is a platform for users to navigate the entire trading process from order creation to compliance, to transmission, and order execution.
The Role:
As a Software Engineer on our OEMS team, you will work on products such as order calculators, the compliance engine, FIX engine, as well as managing all the data streams that power those tools like real-time market data, and position data from existing trades in our system.
What You Will Do:
To be successful, you will need to develop an understanding of existing code architecture and be able to expand on it. You will use skills like concurrent programming, various types of caching, reactive programming, and classic OOP concepts, to name a few.
You will be working to wrangle real time price data, build and improve tools for portfolio managers, traders and maintain network connections with brokers. All the while making sure your work integrates seamlessly into other parts of the system.
The main frameworks and libraries you will interact with for OEMS work are Hibernate, Artemis, Reactive Java, and Swing.
What You’ll Need:
Degree in Computer Science or equivalent experience
5+ years of experience working in a Java environment
Knowledge of OOP, Design Patterns, Data Structures, Algorithms and best practices.
Experience with any of the following:
Java
Spring/Spring Boot/Hibernate
Apache Ignite
ActiveMQ/Artemis/JMS
MySQL
Jenkins
FIX
Excellent troubleshooting and problem-solving skills.
Self-starter comfortable in a fast -paced environment.
Strong knowledge of Linux, DevOps, and relational databases.
In depth understanding of concurrent programming and design.
Produce secure and clean code that is stable, operational, consistent, and well-performing.
Design, plan and deliver solutions in a large-scale enterprise environment. Author architecture documents.