Responsible for the design and development of RabbitMQ clusters using best practice guidance on scalability and topology design.
ESSENTIAL FUNCTIONS: (those functions actually required to perform the position, the removal of which would fundamentally change the job.)
Design and deploy RabbitMQ cluster for a growing SaaS project including cross data-center partitioning.
Work with application development team to design and plan exchange/queue/topic topologies to support multiple internal and external consumers/producers.
Work with application development team on the proper use of RabbitMQ and the development/documentation of best practices for tuning consumer and producer usage models and messaging patterns.
Analyze all aspects of the messaging infrastructure and recommends modifications that will enhance system reliability, availability, serviceability and scalability
Ability to work within an Agile development process.
This list of "Essential Functions" is not intended to be limiting. The Company reserves the right to revise this job description as needed to comply with actual job requirements.
a) 5 years experience with deployment and management of RabbitMQ environments.
b) Nice to have experience with managing RabbitMQ via Puppet
a) RabbitMQ Administration.
b) Linux (Preferred Ubuntu or other Debian based distro).
c) Experience with scripting languages such as Python, Ruby, Node.js, etc.
d) Strong verbal and written skills.
e) Exceptional problem solving skills.
f) Strong teamwork and mentoring skills.
g) Ability to work within defined timeframes.
h) Attention to detail.
a) Strong knowledge of messaging patterns and AQMP using RabbitMQ
b) Detailed working knowledge of software design techniques, including object-oriented analysis and design techniques
c) Understanding of business processes and the application of technology to implement them.
a) Either: Bachelors degree in a related area with 4 years of experience in the field