A Java EE Startup: Fashion with Stylight
Interview with Anselm Bauer, STYLIGHT co-founder, passionate Java EE developer and airhacks.com alumni:
Anselm, please briefly introduce yourself
Hi, I’m Anselm, co-founder of STYLIGHT and computer scientist. I live in the best city in the world, Munich, and I have the chance to work in the best team I imaginable. I am a passionate musician, love sports, and nature.
What is stylight.com and how did it start?
STYLIGHT is the place to discover and shop fashion you love from the best online stores. I founded the company together with three friends in 2008 as students. Currently STYLIGHT employs over 150 people across three offices (Munich, London, and New York).
You’re a co-founder and your development skills are impressive, how important is it for management to technically understand the developers?
The founders of STYLIGHT have backgrounds in economics, electrical engineering, business administration, and computer science. We know that success is only possible when all disciplines work together to reach their goals, that is why appreciation is one of our three core values. We don’t have an engineering department anymore at STYLIGHT, but instead have cross-functional teams, in which engineers work together with marketing, design, sales etc.
How many developers are working on the application?
We have about 30 developers currently working at STYLIGHT. They are distributed over multiple teams along our value chain to create cross-functional teams with the maximum of autonomy and flexibility.
The UI is completely rendered on the server, why?
To guarantee a great experience and performance across all browsers, devices and networks we currently render most of the UI on the server. In addition, most search engines are still not doing a good job at crawling one page applications yet. We like the concept and use it for internal tools, though, together with JS frameworks like Angular.
How many users per day visit the website? What were the peak transactions / second value?
Over six million people visit STYLIGHT every month and find their favourite fashion items. We normally see huge peaks during our TV campaigns.
Which hardware / infrastructure are you using?
Parts of our infrastructure are hosted at a local provider in Munich but the majority of servers are at AWS. We currently migrate all of our infrastructure to AWS to be more flexible and use their great services. We love docker for local development environments as well as for our production deploys.
Is Java EE fast enough for a popular website?
A lot of popular websites use the power of the JVM even if the don’t use Java as a language. We use Java EE features mainly for our business logic where it relieves us from thinking about things like transactions, concurrency etc. Since a lot of our content is a static catalog we can cache a lot of our pages.
Your started straight with the Java EE stack. Was it a good decision?
I think the Java EE stack today is not comparable to the J2EE technologies that were around when we started, and are actually much better than the reputation it has. Back then the amount of boilerplate code was much higher and a script language stack like RoR would have done the trick as well. Today I am glad to use the power of the JVM and the features of Java EE.
Is Java EE productive enough for a startup?
The learning curve is still steeper and we are still fighting against long compile cycles, so for rapid prototyping I may chose something else. In the long run, I think we benefitted from the robustness.
The monitoring capabilities of your system were impressive. What is monitored? Does monitoring pay off?
We monitor servers and applications with several tools and metrics. We use, for example, datadog for general server monitoring, loggly for exceptions, requests, load times etc, and new relic for everything else. Monitoring definitely pays off in finding errors and bottlenecks but also opportunities for refactoring.
We met for the first time at airhacks.com. Have you got any ideas for simplification during the workshops?
Definitely. I got a lot of food for thought, especially regarding the testing of Java EE applications and simple patterns like the Entity Control Boundary Pattern.
You recently migrated to Java 8, Java EE 7. How hard was the migration?
We migrated to Java 8, Java EE 7 and are running on the new Wildfly application server. The migration was fairly easy, we did not have to change more than a hundred lines of code.
How much code could you delete during the migration?
We are deleting code iteratively, to avoid a big bang release. But especially for features like asynchronous behaviour we were able to delete a lot of code.
Did you had the chance to chat with other airhacks attendees? If yes, what was the most interesting project / application / problem?
It’s always interesting to see companies from totally different industries like stock exchange and logistics and how they deal with their problems.
If you could start over, would you choose Java EE again?
That is a very difficult question, since it depends very much on the domain I would start something. Although I like working with Java EE, I’m still a computer scientist and I would maybe choose something else, only out of curiosity.
I'm constantly asked by my clients, whether I know any Java EE developers. Are you also looking for passionate Java EE hackers?
Definitely, we currently have open positions for Java EE developers, specialists for RESTful APIs and search technologies on our jobs page http://www.stylight.com/Jobs/.
Anselm, thank you for the interview!