You are viewing a preview of this job. Log in or register to view more details about this job.

Software Engineer - Messaging Engineering Team

Messaging Engineering Team:


This opportunity is for a self-starting individual to join a professional software development team and participate in all areas of software development from definition, design, development, and validation.

The Messaging Engineering Team develops a full range of products which form the underpinnings for a wide range of TIBCO's products and technologies but are also available directly to our customers to handle some of the toughest data distribution problems around in terms of speed, lowest latency, highest performance, and breadth of scale.

Our customers are in areas including finance (exchanges, brokerages, hedge funds, and market makers for whom time literally is money), transportation, distribution, logistics, to consumer information providers (supporting apps presenting near real-time information like weather, scores, and news) using our WebSockets support to push their data out to mobile devices.  Our software forms the nervous system of large scale, highly distributed, event-driven systems worldwide; whether they are running on a LAN, across a world-wide WAN, in the cloud, or reaching out to mobile devices.


In addition to messaging, our team here is building one of the most advanced in-memory, distributed data grid products to bring memory-speed access to multiple terabytes of information in a very high performance, incredibly scalable, and robust way.


This is challenging work.  We're working on highly distributed and parallel systems from the top all the way down to the low-level protocol levels.  Our messaging products are built on a C and GoLang base with language bindings for most other major languages.  Work is going on across our product spectrum from low-level protocols to high-level dashboards to advanced monitoring capabilities through highly automated verification systems and  highly integrated Continuous Integration / Continuous Deployment pipelines.
 

Job Description/Responsibilities:

  • Define, design, develop, and validate new messaging capabilities including areas such as: user interface, core messaging functionality, performance improvements, new feature development, software build and release tooling, and automated validation capabilities
  • Full software lifecycle from requirements and design through validation and support.
  • Work with product support team as needed for product support escalations
  • Products covered include TIBCO's proprietary messaging technologies, open source messaging technologies including Apache Pulsar and Apache Kafka, and messaging-related products including management and monitoring products
  • Projects can range from single developer efforts to large team projects
  • Problems and issues faced are generally related to messaging and associated topics, and may require understanding of broader set of issues and may be complex in terms of their nature or interaction with other products.


Required Experience/Skills:

  • Bachelor of Science degree in Computer Science, Software Engineering, or Computer Engineering with extra consideration given to Master of Science candidates
  • Experience with at least one major language such as C/C++, GoLang, or Java
  • Demonstrable knowledge of computer networking concepts and protocol understanding
    Knowledge of multithreaded and distributed software concepts
  • Software development experience which can be based on previous internships or independent efforts such as personal software development projects or open source project contributions
  • Enthusiasm and drive to learn new concepts and participate as part of a cooperative and professional software development team

 

Optional Experience/Skills:

  • Network-related experience including network-oriented client applications, servers, or network protocol development
  • System software development experience

 

Student visas are not considered for this position.