Software Engineer - Market Data
TradeStation is an online brokerage firm seeking to level the playing field for self-directed investors and traders, empowering them to claim their individual financial edge. At TradeStation, we're continuously pushing the boundaries of what's possible, encouraging out-of-the-box thinking and relentless search for innovation. We offer a collaborative and flexible work environment, competitive salaries, comprehensive benefits and an unlimited PTO policy.
POSITION SUMMARY:
Do you love the challenge of designing and building mission-critical low-latency distributed systems that handle millions of events per second? If so, we have an opportunity for you as a developer, and self-driven innovation leader on an Agile team building high performance, real-time systems for financial market data networks. A key part of the role is delivering new and innovative services to our customers by modernizing our architecture and software engineering practices. Success in this role requires a strong technical background with a high degree of proficiency and creativity. The role requires an enthusiastic willingness to creatively solve problems for which there are no pre-existing blueprints to follow.
ESSENTIAL JOB RESPONSIBILITIES:
- Design and develop new services, unit tests, and automation tools based on abstract guidelines and requirements.
- Be a driver of innovation, technical thought leader, and mentor to engineers as applicable
- Work in a cross-functional team in a fast-paced high-output results driven DevOps environment
- Maintain and improve existing systems and applications with a focus on optimizing both systems and workflows
KNOWLEDGE, SKILLS & ABILITIES:
Required:
- Demonstrated technical expertise in a hands-on role. Leading by example is expected of all engineers.
- Familiarity working in a fluid Agile environment and demonstrated success with structured testing practices such as automated unit testing, regression testing, TDD and continuous delivery. Able to perform high pressure triage.
- Experience with distributed and scalable software architectures
- Mastery of 1 or more modern general-purpose programming languages, such as C++ or C#
- Familiar with scripting and automation (e.g. Bash, Powershell, Ruby, Python etc.)
- Experience with communication protocols (low level TCP/UDP/IP, WebSockets, Protobufs, HTTP)
- Knowledgeable about multi-threading, inter-process communications and event handling
Preferred:
- C++ development experience
- Experience with low-latency software development
- Involvement in open-source projects with a demonstrated portfolio
- Cloud architecture and deployment (AWS, Stacker, MSK, ElasticCache)
- Hands-on Docker or Kubernetes experience
- Knowledge of financial markets/trading
- Understanding of SQL and database programming, including NoSQL and document DBs (Redis)
- Cross platform Windows and Linux development and experience porting from Windows to Linux
- REST API design and API lifecycle management
EDUCATION & EXPERIENCE:
- Bachelor’s Degree in Engineering/Computer Science/Mathematics or equivalent
- Minimum 1 years of relevant experience