MY EXPERIENCE:
Zuora is the creater and industry leader in online micropayment services, the software that lets users flexibly pay for streaming music online by monthly subscription or per song, for newspapers to sell subscriptions or access to individual articles, or in general any service to experiment with flexible online payments for services. The company was about 7 years old when I started with them, but already had hundreds of employees and was looking to go public, which they did just before I left.
My time with Zuora was not as successful as I and they had expected when I started. While my Java experience is strong, it has all been SE or ME, and Zuora's product was a monolothic Java EE application. Java EE is vastly more complicated than Java SE, and requires different styles of programming. But I was aware of that when I started. What attracted me to Zuora was that during my interview they explained their current monolithic architecture had scaled up to its limit and they were preparing to rewrite the whole thing as a collection of REST microservices. The plan was for the services to be totally independent, each choosing its language and style based on the designer's decision. This was very attractive, designing and writing microservices is the type of work I do well, and I was looking forward to it. Unfortunately, as Zuora's reinvention proceeded, for practical reasons they changed the philosophy on microservices. To make development and support easier and to fit into their release process they decided to stick with Java EE for almost all new services, since their development staff (except me!) was composed of Java EE programmers. As a Java EE developer I found my contribution was not what I had expected, and so when my contract expired the company and I agreed to part.