Using boring for good: a story about budgets

Posted by & filed under distributed teams, management, product management, Tech.

I can remember quite clearly the sense of pride inside the audience at Office Optional, the first (?) conference about remote work and distributed teams. We knew that together we were charting unexplored territories of collaboration and work. The closing keynote burst this bubble: management speaker/thinker/academic Bob Sutton reminded the crowd that the Romans and… Read more »

You should write clearer tickets to make your team happier

Posted by & filed under Business, management, process, product management, programming, tools.

First, write this ticket: Develop a best practices “ticket model” for maximum happiness Type: Improvement Priority: P0 Status: Open Assigned to: Everyone Description We want to collaborate effectively on changes to our products and take input from all parts of the organization. We can improve how clearly we express the goals of a new feature… Read more »

Coding while hiring

Posted by & filed under distributed teams, jobs, programming.

If you’re hiring people to write programs, you should work on a program with them. This advice is nothing new but is too easy to ignore or botch. Switching my interviews to live coding on a real program is the single biggest hiring improvement I’ve ever made. It was helpful enough that I don’t think… Read more »

A style guide for Python tests

Posted by & filed under python, testing.

Python programmers are fortunate to have a clear, reasonable style guide in PEP8. While PEP8 is widely followed by professional and amateur Python programmers, there’s no widely adopted equivalent style guide for testing in Python. To help our own team improve code reviews and train newcomers (both to the company and to Python), I’ve started… Read more »

Conference-driven development

Posted by & filed under management, process, programming.

TL;DR — Release products at conferences. The products will be better and you’ll be happier. Test-driven development is a technique that helps programmers build large applications from small, working components. It has been successful enough to unlock developers’ innate love of acronyms, ranging from ATDD and BDD to MDD and UGG. TDD is important in… Read more »

Wordless programming

Posted by & filed under learning, programming.

Over the holiday break, I re-read Andy Hunt’s Pragmatic Thinking and Learning on my phone. I had started it mainly to force myself to re-evaluate the iBooks reading experience, but quickly became immersed (again). The book makes an informed, but opinionated, introduction to brain architecture, learning theory, and neuroscience. The compelling central theme is that… Read more »

Joining the IDPF Board

Posted by & filed under ebooks, epub.

I am pleased to be joining the Board of Directors of the International Digital Publishing Forum (the IDPF). As I suggested in my nomination statement, I will try to focus on three specific goals: Developing clear documentation and best practices to ensure that reading systems consistently implement the technical capabilities of EPUB 3 to achieve… Read more »

Oration: A tiny tool for HTML from Google Docs + tweets

Posted by & filed under annotations, programming.

Lighter-weight manuscripts were one of the big ideas from the Books in Browsers 2012 talk that Liza and I presented last month. In our particular case, we focused on the combination of voice recognition and wordprocessor-free authoring, but this is really part of a larger trend which Peter Brantley captured: an “explosion of new services, spreading… Read more »