Location: US/Canada/Americas/EMEA - Remote or Pivotal office
Pivotal’s Story VIDEO
Seeking an Americas or EMEA-based engineer who’s willing to work with the rest of the RabbitMQ engineering team distributed across the US and Europe. The time-zone spread of our development team requires someone who is flexible with attending weekly meetings on the edges of standard working hours. If you live near a Pivotal office you will be provided an office space and can take advantage of the many perks of the Pivotal workplace. If you do not live near a Pivotal office, you can work from home with occasional visits to your nearest Pivotal location, as well as the San Francisco and London Pivotal offices.
What We Do
In one line: we work on all things RabbitMQ.
RabbitMQ has a collection of projects: the server, a dozen or so plugins, about as many client libraries (we maintain some and help with others when time permits). We are part of the Spring and Cloud Platform group at Pivotal and Cloud Foundry and Kubernetes integration is another thing we are involved in.
You will have a chance to work on many practical problems in the field of distributed systems, protocols, technical operations (“design for operability”, deployment and operation automation), and concurrency.
We write our own docs, do our own QA, support our users and customers on the public mailing list and internal Pivotal support resources.
As such, you will generally be working on more than one codebase on any given week, with a fair share of flexibility to choose tasks that seem important or simply interesting. Not all of them involve Erlang. Some codebases are relatively young or greenfield, others are 10-12 years old.
Then there are ecosystem projects that build on top (Spring AMQP, EasyNetQ, Spring Cloud Data Flow, Spring Cloud Stream, RabbitMQ Reactor extension, Logstash, et cetera). They also get some attention from us.
How We Do It
Our team is quite small: fewer than 10 engineers. Expect all the awesome and less-than-awesome aspects of working on a small team.
We communicate over email and Slack, use Git[Hub] and a straightforward QA and merging process.
No micromanagement or complicated processes pushed on you: talk to the users daily, debug or design things, write code and tests, pass QA/code review, move on to the next thing. There is product guidance and administrative assistance from our manager but the process is hands-off in general.
Most of the time (but not always: support and bugs obviously take priority), you have the freedom to choose an initiative to work on. Remember that with great power comes great responsibility.
How Much Erlang Experience is Required
We work on multiple codebases, not all of them are in Erlang, some are really small.
We'd consider any candidates with strong skills in any two of the following: Java, C#, (Python | Ruby), Objective-C, Swift, Go. Experience with a functional language would be a major plus but we're happy to let the candidate learn Erlang along the way.
To give you some idea, in the last year alone we’ve worked in each of the languages below:
* Shell script
in some capacity (most of the time was spent on the first four).
Who Should *not* Apply
It should be said that some folks may find it challenging working on our team.
* Have an arrogant or misogynist attitude
* Need a lot of supervision and external motivation
* Don't like debugging intricate problems
* Have no interest in functional languages
* Hate doing user support
...will likely struggle on this team. Also note that we have twelve-year-old repositories and a wide variety of platforms to support, so be prepared to face utterly "uncool" technologies from time to time.
Pivotal is an Equal Employment Opportunity employer that will consider all qualified applicants, regardless of race, color, religion, gender, sexual orientation, marital status, gender identity or expression, national origin, genetics, age, disability status, protected veteran status, or any other characteristic protected by applicable law.