ION is a leader in Financial Technology, Automation and Data. Our products enable financial institutions of all sizes to compete effectively and deliver differentiated offerings to their clients at reduced cost and complexity. We build our products using enterprise class open-source software and ION Core Technology. ION products are delivered via on-premises and cloud deployments as well as SaaS (Software as a Service) offerings.
Your role contributes to building innovative products, for our global diverse customer base, that create a massive adoption a.k.a. disruption in the market. The products will be part of our next generation low touch, real-time trading, business-process-automation, and risk-management solutions.
You will build the products bringing new innovations, better user experiences to increase operational efficiency. You will demonstrate strong technology foundations and culture of delivery excellence.
Success in this role requires passion for product innovation, technology, and customer focus.
What you will be doing
• Design, build, and deliver end-to-end features using Agile and User Centered Design process.
• Build & work on a distributed system based on service-oriented architecture and SOLID design principles. You will need to deal with concurrency, reactive programming, distributed data.
• Shape the future financial technology stack via innovative low-touch, real-time, high performant ION products.
• Understanding of enterprise software applications for high frequency, low latency trading.
• Innovate, recommend, design product evolution that creates business value for the end user.
• Hit the ground running with the typical Microsoft .Net ecosystem stack (C#, Winforms/WPF).
• Be able to pick up new technologies along their whole development stack including non-.Net ecosystems.
• Be passionate about delivering quality code and demonstrate culture of continuous learning and improvement in team by identifying technical debts/improvements.
• Be responsible for identifying and resolving production and test issues.
• Have the desire to collaborate, and like sharing and learning from your colleagues.
What we are looking for
• Product development experience in designing and coding complex enterprise applications using Microsoft .Net framework.
• Object-Oriented development experience and knowledge of design patterns and SOLID principles.
• Have a good understanding of multithreading, event-driven and async programming.
• Well versed with data structures and algorithms concepts.
• Aware of Distributed Architecture Concepts (SOA, Microservices).
• Ability to understand and analyze specifications, assess technical impact, and provide estimates.
• Test-driven development, which includes Unit and End-to-End Testing.
• Experience using versioning tools GIT/SVN/VSS etc. (preferably GIT)
• Experience with Agile software development (e.g., SCRUM or KANBAN) and/or User Centered Design process.
• Knowledge of MS SQL and be able to write/debug simple queries/stored procedures.
• Good debugging skills and aware of application memory/performance optimization tools & techniques.
Nice to have
• Knowledge of core java and/or angular stack preferably > 2.0.
• Knowledge of static code analysis tools (such as Resharper) and code quality tools (such as NUnit, RhinoMocks/NSubstitute, SONAR).
• Experience with any dependency injection framework (standard/custom)
• Experience with build automation tools like Jenkins/GIT pipelines for Continuous Integration (CI)/Continuous Delivery (CD).
• Experience of Cloud hosting Solutions preferably AWS.
• Experience with, knowledge of, and interest in, global financial markets and financial products.
Personal skills we believe will bring success.
• Ability to communicate clearly and effectively.
• Entrepreneurial mindset to problem solving.
• Collaboration skills
• Seeking feedback and continuously improving