Published on

Q&A with John Siracusa

Web developer and freelance technology writer

I'm John Siracusa. I'm a web developer by day and a podcaster and freelance technology writer by nights-and-weekends.

How did you get started in development?

I majored in Computer Engineering in college, which was like Electrical Engineering with a smattering of Computer Science courses thrown in. I wasn't sure if I wanted to work with hardware of software. Computer Engineering seemed like it covered all the bases. As I spent ever-increasing hours writing my own software for use on the university computing cluster, it became abundantly clear to me that writing software was what I really loved.

What (favorite) software and hardware do you use for your work?

My favorite text editor is the venerable BBEdit. I've used it for all my software coding and all my freelance writing for decades. My favorite hardware is whatever Mac I'm currently using. I've had a series of great ones over the years. I'm currently using old Mac Pros both at work and at home. I hope to replace them someday with a new Mac Pro (home) and maybe a 5K iMac (work).

What is your ideal work environment?

While I'm able to work in a noisy, busy office environment, I'm most comfortable working from home when no one else is around.

Top-3 your favorite books / resources about development

A few of the textbooks required by my college courses really stand out: Modern Operating SystemsComputer Networks, and Structured Computer Organization, all by Andrew S. Tanenbaum. I remember reading these books from cover to cover in the first few weeks of the classes—not a usual practice for me. I also enjoyed reading the well-known Design Patterns book after everyone else had already read it and the hype had died down. By that point, I'd been writing software for years. Design Patterns served as a great distillation and clarification of past experiences and ideas. It gave names to things I previously had no name for.

Who are the developers you admire most?

I admire the work of many of the stereotypical "lone genius" programmers who have made historically significant contributions: John CarmackLinus TorvaldsChris Lattner, etc. I can't help myself, even though I understand that all development is collaborative and that history tends towards simple stories that often bear only a passing resemblance to reality. In my less starry-eyed moments, I admire all the developers who are able to make a living as independent entities writing applications for the platforms I love: OS X, iOS, even game consoles. Whether it's a one-person effort or a small team, it's always inspiring to see people find a way to do what they love on their own terms.