Senior Software Developer
Note: this position is available on a Contract or Full-Time basis
This position is for an experienced software developer, preferably with capital markets experience. We are looking for someone with strong Java and Spring skills and enterprise application development experience, with knowledge of Python being a plus. In this role you will be building and extending mission-critical internal software on which the NEO business runs.
- Founded on the principles of fairness, liquidity, efficiency and service, NEO works to make Canadian capital markets better, while staying true to our values of doing what is right for investors, capital-raising companies, and the professionals who advise them.
- Launched in 2015 and backed by some of the most reputable financial organizations in Canada, NEO Exchange is the third most active marketplace in Canada, consistently representing close to 15% of all volume traded in Canadian-listed securities. NEO is home to over 125 unique public listings.
- The Technology Solutions team is responsible for development of all internal software at NEO such as billing, real-time analytics, business intelligence, NEO’s web presence. We are a small team of generalists at an established and growing company that still feels like a startup.
- Our development stack is Linux, Java (Spring), MySQL, Python (Pandas) for application development, PHP/Angular/CometD/CSS/HTML for web layer, and SVN/Jira/Jenkins/Nexus for development infrastructure.
- We solve a wide variety of engineering problems from automating every part of our exchange’s business to large-scale data storage and retrieval and high-performance market data processing; almost every system we own is critical to NEO’s operations.
- We move fast and run a light Agile development process.
- Bachelor degree in Computer Science or related technical field, or equivalent practical experience.
- 6+ years of experience in and strong knowledge of Java language and Spring framework.
- 6+ years of experience in and strong knowledge of SQL schema/query design and optimization.
- Strong knowledge of algorithms, data structures, and other systems architecture factors that affect code quality, performance, and customer experience.
- Strong knowledge of object-oriented programming and enterprise application design patterns.
- Experience working with Unix/Linux environments (including shell scripting).
- Experience with source control systems such as Subversion and Git.
- Capital markets experience (ideally in equities trading, clearing, and settlement).
- Working knowledge of Python programming language and Pandas/Numpy packages.
- Experience building socket-based (unicast/multicast) message processing applications.
- Familiarity with functional and performance testing for various types of application components.
- Experience in coordinating and working with other team members.
- Write clean, clear, maintainable, and testable code.
- Design/implement new applications as well as features and bug fixes for existing applications.
- Implement automated unit and system test suites for new and existing applications.
- Provide Level 2 and Level 3 support for internally developed applications.
- Understand and interpret business and product requirements.
- Offer technical support to QA teams as required.
- Communicate with internal clients to clarify requirements and troubleshoot issues relating to development or support.
- Participate in well-defined development tasks in conjunction other team members.
- Coordinate internally with other operational services to support as needed.
- Special projects as required.
- Must be enthusiastic, self-motivated, and work well with minimal supervision.
- Thrive working with complex requirements in a team environment with smart people who love debating and challenging the status quo.
- Possess ability to articulate a vision of the total solution and communicate effectively to the development team and the broader technology group.
- Demonstrate strong adherence to quality software development fundamentals and the desire take ownership in any developed systems.
- Communicate clearly and effectively in writing and verbally in English.
- Have strong interpersonal skills and comfortable working with small teams.
We thank all applicants, however only those selected for an interview will be contacted.