To get the best candidate experience, please consider applying for a maximum of 3 roles within 12 months to ensure you are not duplicating efforts.
Job Category
Software Engineering
Job Details
Role OverviewThe Senior
Software Engineer SMTS role is part of the Ultra Messaging (UM) team, a small, specialized group of engineers building and maintaining one of the industry's most demanding real-time messaging middleware platforms. Ultra Messaging is mission-critical infrastructure for some of the world's largest financial institutions - including major global banks, trading firms, market makers, and exchanges - where microseconds matter and reliability is non-negotiable.
The team works remotely with a preference for candidates in the Chicago area, where several team members are based. You'll be working on a mature, production-grade, system-level C codebase that has been powering real-time financial data flows since 2004.
If you're a low-level systems programmer who loves performance, concurrency, and working on software that has to work right, every time - this is your role.
Responsibilities- Analyze requirements for new features, enhancements, and bug fixes; produce clear requirements documents.
- Evaluate the existing codebase to determine optimal design approaches; produce design documents.
- Implement changes primarily in the core C layer, with occasional work in Java (via JNI) and .NET (C#) API wrappers for cross-platform support.
- Write and execute development-level tests to validate correctness and performance.
- Collaborate with and support QA and customer support engineers throughout the development lifecycle.
- Occasionally engage directly with customers on technically complex issues when escalation is warranted.
Required Skills- You have 5+ years of experience writing production-quality C or C++ code.
- You have hands-on experience with multi-threaded programming, including concurrency patterns and thread synchronization primitives.
- You understand performance optimization at the system level - you know how to find bottlenecks and eliminate them.
- You have strong debugging skills and are comfortable diving deep into complex, unfamiliar codebases.
- You have strong written communication skills - you'll be producing requirements and design documents, and occasionally working through complex technical issues directly with customers.
Even Better If...- You know Java - and bonus points if you've worked with JNI (Java Native Interface).
- You have experience with networking protocols, including UDP multicast.
- You've done socket programming at a low level.
- You've used performance profiling tools and have a methodology for systematic performance analysis.
- You have experience with messaging middleware - UM, Aeron, TIBCO EMS, Tibco RV, Kafka, or similar.
Unleash Your Potential
When you join Salesforce, you'll be limitless in all areas of your life. Our benefits and resources support you to find balance and be your best, and our AI agents accelerate your impact so you can do your best. Together, we'll bring the power of Agentforce to organizations of all sizes and deliver amazing experiences that customers love. Apply today to not only shape the future - but to redefine what's possible - for yourself, for AI, and the world.
Accommodations
If you need a reasonable accommodation during the application or the recruiting process, please submit a request via this Accommodations Request Form.