Fog Creek

dev.life – Interview with Hakim El Hattab

In dev.life, we chat with developers about their passion for programming: how they got into it, what they like to work on and how.

Today’s guest is Hakim El Hattab, a front-end developer and Co-founder of Slides, an online presentation tool. He previously worked at Qwiki and Squarespace, and he publishes experiments exploring interaction and visual effects on his site.


salvatore
Location: Stockholm, Sweden
Current Role: Co-founder of Slides


How did you get into software development?

I think I was twelve years old when a computer first entered our home. It was a Macintosh Classic and I lost many hours to some of the great games it came pre-installed with. Five years later I started building HTML sites with a friend. By “building” I am referring to the process of slicing a Photoshop design into bitmaps, using Dreamweaver to piece those bitmaps together in a huge table and finally uploading the multi-megabyte spectacle to a free host.

After that, I went on to study video post-production and animation while teaching myself Flash and ActionScript on the side. Eventually, the things I had taught myself led to a job opportunity as a Web Developer and I decided to drop out of school.

ti

Tell us a little about your current role

Last year I departed from my job as Lead Interface Engineer at Squarespace in NYC and moved back home to Sweden to go full-time on Slides. Slides is a service for creating and sharing presentations that I co-founded together with Owen Bossola. It’s based on reveal.js, an open-source HTML presentation framework that I’ve been working on for a few years now.

My typical day starts with catching up on support tickets and email, followed by product work, which includes a healthy mix of code and design. I work from home and try to make use of the flexibility that comes with that by taking a longer lunch break and heading outside with my wife and daughter. In the afternoon when Owen wakes up in NYC, we catch up on any current topics via chat.

We offer the ability to export Slides presentations to PDF, but this functionality has been plagued with issues since its release. We were originally using PhantomJS on a Linux server, but the output suffered from poor font rendering, missing web fonts and broken links.

After testing a number of options, we recently decided to switch to generating PDFs using a slightly modified version of wkpdf on an OS X server. This provides excellent font rendering and is powered by a more recent version of WebKit.

When are you at your happiest whilst coding?

I enjoy coding the most when I’m going fast. Nothing goes up against the feeling of a fresh start. A new project and a blank document. Unencumbered by legacy.

slides

What is your dev environment?

My setup is pretty lightweight, I use a 13” MacBook Air and do all my coding in Sublime Text. An editor plugin that I really like is Git Gutter. It indicates which lines of code have changed locally in a very unobtrusive way.

One app I’ve been really happy with lately is f.lux. It adjusts the color temperature of your display depending on the time of day to make it easier on the eyes. Particularly useful when you live up north where it’s dark for most of the days.

Having survived one too many back-breaking chairs I recently decided to get myself a Herman Miller Embody. Highly recommended.

What are your favorite books about development?

I had a great laugh reading Peter Welch’s “Programming Sucks”.

What technologies are you currently trying out?

Service Workers are looking very promising. I’d love to experiment and see if that’s one way we could support offline editing in Slides.

When not coding, what do you like to do?

I recently became a Father so lately I’ve been spending a lot of time with my daughter. Besides that, I love photography and try to find time for some video games when the rest of the family are asleep.

What advice would you give to a younger version of yourself starting out in development?

Finishing and releasing projects is more important than learning every language and framework.

 

Thanks to Hakim for taking the time to speak with us. Have someone you’d like to be a guest? Let us know @FogCreek.

Recent dev.life Interviews

bob_nystrom1
Bob Nystrom
brian_bondy
Brian Bondy
jared_parsons
Jared Parsons
Antirez
Salvatore Sanfilippo