Behind the scenes @ Coolblue HQ

What is Coolblue?

Last week I was invited to go visit Coolblue behind the scenes in Rotterdam, NL. Coolblue has always been one of my favorite online dutch/belgian webshops because of their great customer service, their clear but simple websites, and most important, their great range of products at very affordable prices.

They roughly have about 50k unique products in 150-200 different webshops (they launch 2 new webshops per week on average), which they all have in stock at all time in one of their huge warehouses. Their biggest warehouse is more than 40.000 square meters which is about 10-20 FIFA football fields! How big is that! Ordering before 23.59 means it’s delivered at your doorstep for free the next day, or the same day when paying additional shipping costs. Also on sunday!

Why would they organise behind the scenes events?

The main idea behind this ‘Behind the scenes’ is that they are looking for talent programmers. They’re looking for roughly 100 new developers. They have about 40 right now so it seems they have big plans. Are they going international? Who knows! But their CEO didn’t really deny it. Their global employee basis is about 750 people.

Since I’m a freelancer I won’t be able to work for them so why did I go to this event? Well.. because their main dev talk was about scalability. I find this a very interesting and challenging topic so getting insights from one of the biggest webshops in the Benelux was a great opportunity for me to learn.

So what did I learn at Coolblue?

  1. use microservices / hypermedia api’s to flatten out your infrastructure. This allows you to easily isolate bugs and/or maintain those API’s without having to retest stable services on every deploy.
  2. every microservice uses an isolated datastore. CouchDB for customer data, PostgreSQL for order+payment information, ElasticSearch for the product catalog.
  3. RabbitMQ as a central state change notification mechanism. This is the glue between your microservices.
  4. use git pull requests to review & validate your team members changes
  5. CentOS RPM packages to distribute everything
  6. Puppet labs or Chef to install & maintain your (virtual) servers
  7. Statsd + Graphite for advanced reporting
  8. Nagios for alerting
  9. Create a “Chaos Monkey”. It’s single purpose is to once in a while kill your live environment. Your devs should then come with solutions to auto-fix these downtimes. This is how Netflix stayed online during the massive AWS outage a while ago: http://techblog.netflix.com/2012/07/chaos-monkey-released-into-wild.html

Have a look at the slides from their software architect.

Why should you attend one of these meetings?

  1. If you want a developer job @ Coolblue obviously.
  2. If you want to learn more about scalability.
  3. If you want to network with hundreds of other devs.

Inform yourself on this page: http://www.coolblue.nl/behindthescenes

Here’s a nice dutch article about the same event: http://www.dailybits.be/item/coolblue-behind-scenes/

PHPBenelux Conference 2013

My first ‘official’ post (well actually my second post after Hello World) was a review of the PHP Benelux 2012 conference so why don’t we make a tradition out of it?
I must say, the conference is getting better and better each year with lots of interesting speakers, tutorials, visitors, and of course the enjoyable socials with lots of free Belgian beer!

PHP Benelux 2013 after movie:

And of course the by now famous stressball fight:

So I’m qualified!

Aah it feels good to say I’m finally Google Adwords qualified! I got my Google Analytics qualification in 2011 but never bothered to go for the Adwords qualification. Then I got an invitation from Google for their Google Engage event (pics) in Brussels and we received some free coupons. Thanks Google! 🙂

 

A few tips for people that are planning to take this exam.

The Google Adwords certification program is divided into 2 examens (1 fundamental + 1 advanced exam) on which you have the have at least 85%. Both exams have +- 110 questions which you’ll have to answer within 2 hours.

Revising everything you know is crucial for succeeding since there are alot of weird/vague questions which you’ll only know when you’ve read the docs.

Good luck!

PHPBenelux Conference 2012

So last weekend I went to my first #phpbnl12 conference in Edegem, Antwerp, and I must say. This was one of the best conferences I’ve attended so far! Great talks, great people, open bar every night, bbq, kinect, free bowling, belgian beer, am I missing something?

Anyway here’s a list of the talks: http://conference.phpbenelux.eu/2012/talks/ , and the by now famous after movie: