in Development

Staying sane while defying Joel Spolsky with Django

Last Wednesday, I gave a talk at the Copenhagen Django Meetup about the work that went in to and the pieces of advice we had to pass on from our complete rewrite of the Iconfinder code base.

The slide deck caught the attention of a lot of developers over the weekend, namely on Hacker News, which sparked a series of great discussions. Despite my best efforts though, it’s clear that the slides belong together with the presentation, as they may present a construed image of what I was actually trying to say. Luckily my co-founder, Martin, had the foresight to record the entire presentation, so, as promised, here is the video of the slides along with my voice and the commentary from the meetup on Vimeo:

Staying sane while defying Joel Spolsky with Django from Iconfinder on Vimeo.

The slides themselves are available on Github’s brilliant Speaker Deck:


The making of

A few people have asked me about tools and the fonts used to create the presentation, so here’s a quick run down.

The presentation itself is set up in Keynote, but all the complex elements have been created or edited in Adobe Illustrator beforehand. While Keynote has a lot of features, I find that Illustrator makes my life just that little bit easier when I want to do special things without ripping my hair out — but, each to their own.

The primary font used throughout the presentation is the excellent Bariol font in light and regular weights to avoid the presentation looking like a soft, teddy bear sales pitch. For the little pieces of code, I’ve used the OS X standard fixed width font, Monaco, with syntax highlighting colors drawn from the very popular Monokai color scheme, which proves awesome in presentations even when projectors have low contrast.


The part of the presentation, that drew the most interest, was our profiling work, so, as I’ve promised people who have inquired about a more detailed description, I’ll be pushing a blog post in the coming weeks about how we go about profiling and analysing the results to keep Iconfinder fast. However, if you’re already familiar with standard Python profiling, the gprof2dot utility will help you create the call graphs used in the presentation and get you pretty far in the mean time.

Oh, and by the way, if you think that this kind of stuff is cool, or better yet, have a ton of ways in which we could do this a lot better, we’re looking for a great code slinger to join our team, either here in beautiful Copenhagen, or remotely. If that’s you, or you just have some general questions about the presentation, feel free to hit me up on

Write a Comment


  1. Was lucky enough to be at this talk. Nik talked with passion and rationale about the belief models behind the product the team are building. Really got under the bonnet of the operation. Honest and informative. Great night.