Senior Software Engineer - Search & Alerts
New York, NY
Posted Aug 7, 2023 - Requisition No. 118027
The Communication Channels team builds products used by the Bloomberg community for real-time communication, such as exchanging price quotes, trade ideas, news, and other financial information. We deliver billions of emails (MSG’s) and instant messages (IB’s) across millions of chat rooms every day. We have a broad user-base unlike any other company, including asset managers, brokers, traders, financial analysts, and desks across all asset classes. Our users rely on these products’ real-time performance, massive scale, ironclad security, tight integration with financial data & applications on the Bloomberg Terminal, and most importantly their singular access to the Bloomberg network of 350,000 financial professionals.
CC Search & Alerts Team:
Our team - CC Search & Alerts is part of the Community group. Our primary goal is to make sure that users are able to stay on top of ever increasing communication data. One person's trash is the other person's treasure and the CC Search and Alerts team aims to provide users with the ability to keep on top of communication that is pertinent and critical uniquely to them.
Our current alerts system is based on client side filtering and IDOL software. The team is actively working towards a new distributed and scalable system which consolidates the rule offering on the server-side and leverages open-source Apache Lucene libraries. The alerts system needs to be highly performant and reliable as it tries to match millions of user created rules across millions of emails and instant messages per minute in real-time.
Our scalable search offering is already built on top of Apache Solr and distributed across hundreds of machines, handling a million user queries every day. Presently, we are engaged in developing a more intuitive user experience, and we look forward to leveraging vector search, fuzzy search and learning to rank to enhance our ability to understand user’s query semantics, improve search recall and return the most relevant results to our users with minimal overhead.
- Languages: C++ (cmake), Java11 (Gradle), Python3.8, Typescript
- Frameworks: Spring, React
- Technologies: Solr, Lucene, Kafka, Redis
- Misc: Docker (Local Development)
This is where you come in:
- As part of the team you will build large, scalable, real time distributed systems
- Explore Solr, Lucene and other open source technologies to solve problems
- Drive full stack solutions with user experience as primary focus
- Develop new client facing features to keep our product competitive and also cater to the growing demands of our clients
You’ll need to have:
- 4+ years experience in Java/C++/Python development
- An aptitude for analytical problem solving
- Working knowledge of modern development methodologies and tools (Jenkins / Maven / Jira)
- BA, BS, MS, PhD in Computer Science, Engineering or related technology field
We’d love to see:
- Full stack development experience
- Experience with building large scale distributed systems
- Experience with building full-text search systems
- A track record of open-source contributions
- Experience with search systems, particularly Lucene and Solr
- Experience with functional programming and Reactive microservices
- Mentoring Junior Engineers
- Managing large projects with ambiguous requirements
Bloomberg is an equal opportunity employer and we value diversity at our company. We do not discriminate on the basis of age, ancestry, color, gender identity or expression, genetic predisposition or carrier status, marital status, national or ethnic origin, race, religion or belief, sex, sexual orientation, sexual and other reproductive health decisions, parental or caring status, physical or mental disability, pregnancy or parental leave, protected veteran status, status as a victim of domestic violence, or any other classification protected by applicable law.
Bloomberg is a disability inclusive employer. Please let us know if you require any reasonable adjustments to be made for the recruitment process. If you would prefer to discuss this confidentially, please email email@example.com.
The referenced salary range is based on the Company's good faith belief at the time of posting. Actual compensation may vary based on factors such as geographic location, work experience, market conditions, education/training and skill level.We offer one of the most comprehensive and generous benefits plans available and offer a range of total rewards that may include merit increases, incentive compensation [Exempt roles only], paid holidays, paid time off, medical, dental, vision, short and long term disability benefits, 401(k) +match, life insurance, and various wellness programs, among others. The Company does not provide benefits directly to contingent workers/contractors and interns.
Salary Range: 160,000 - 240,000 USD Annually + Benefits + Bonus