UPDATE: Please notice, the author of the story shared is actually Matthew Heusser, this is what I get for not confirming before posting. Thank you, Matthew, for sharing your story!!
I'm a developer, and inasmuch I am proud of the fact that I rarely wear pants. As I write this now, I am wearing pants, but only because I went into the office today. I have orange hair, and a large assortment of lip gloss. I sleep to 11 most days, and I defy anyone that says I shouldn't. All in all I've embraced the developer's frat guy lifestyle.
I've started a book called the Clean Coder by Uncle Bob Martin. The thing that has made the biggest impression for me was in the forward (written by Matthew Heusser). He tells a story about a development team he was once a part of, I'm paraphrasing quite a bit (the book is still at the office), but he talks about a team in an enterprise company that had been working on a project for quite a few months with a set-in-stone release date on the horizon. As the date approached they worked day/night/weekends to get things done. He had a team of talented coders and under much pressure from management they strapped themselves to their keyboards in order to get the job done on time, and they did.
The Friday before the Monday release date they were stoked. It's so rare that a project gets completed exactly on schedule, but they had done it. They were celebrating and relaxing when they got a call from management. Seems that legal hadn't finished the paperwork needed for the launch, and they needed an extra day to get things done, the meeting was going to be pushed to Tuesday.
"No way" was Matt's response, "we have been killing ourselves over this. They have Saturday and Sunday to get this work done, plenty of time." "Sorry," was the word from above, "these people are professionals, we're not going to ask them to work the weekend. Meeting is pushed to Tuesday." Matt was irate, "Are you serious? My developers have been working around the clock, nights, weekends, you name it. We can ask the guys in legal to put in a little extra time." Management responded, "You don't understand, these guys are PROFESSIONALS."
That's when it sunk in for him, people don't think developers are professionals. They look at us like a bunch of sloppy kids that happen to know how to do something that they need. After reading that story, it sunk in for me too.
Clients trust me to take care of things they don't know how to do. In order to do that, they need to feel I am competent and capable. Disappearing in the zone for a few days, while it may be best for the project, isn't comforting for the client. Up until then I had a dim view of client hand holding, and thought "they just need to trust that I am working on it." However, I have realized that a good working relationship, constant updates, and accountability are just as important as clean code and passing tests.
I still rarely wear pants, and have orange hair, but my client's comfort is much more important to me now. I want them to know I'm here whenever they call, and they can trust that I'm working hard to solve their problems and build their software. The response I have gotten has been great, and I've noticed how much they appreciate being kept in the loop no matter what. That makes my job easier, and that's a reward I didn't expect.