Where's the coffee machine?

And other useful questions to ask when starting at a new client.

I have recently moved into a technical architect role at a new client. Over the last month or so, I have asked lots of questions. Here are some that I found particularly useful...

  • Who is that? - I always ask for a new client's organisation chart, or better still, find someone to take me through the hierarchy on a white board. As an architect, your sphere of influence is much greater and you are expected to interact with many more stakeholders - multiple project managers, infrastructure / networking techies, IT directors, people from all corners of "the business", testers, suppliers / prospective vendors, your client's clients, etc. Knowing all their roles and places in the organisation is key to understanding their motivation.
  • How urgent is that really? - Work comes at me from all directions with little warning. People want some of my time to review a design, troubleshoot a potential prod issue, dissect some smelly code, run a perf test, optimise an ailing query, and so on. I am essentially a single processor unit, so managing the constant context switching has been one of the hardest skills to pick up. As always, prioritising the tasks is critical. In my experience, it is only the person at the top of the org chart (CTO or IT Director) who has enough of a neutral overview to do this properly.
  • Are you hungry? - Go out for lunch. Often. People are more inclined to accept a lunch or coffee invite from the new guy, and I've found that this is a very useful information gathering tactic. Once out of the office, conversation is generally more candid, and discussions won't get interrupted by IM, email, badgering colleagues and ringing phones.
  • OMG, how long is that method? - OK, so a bit of a contrived question, but worth emphasising. I've gained the most insight into my client's business, their challenges and the development team's strengths by pulling apart the codebase. I have had to dial down my natual pedantry level and learn to concentrate on the big ticket non functional requirements such as security and performance, whilst not worrying about the odd unused import.

I'd be interested to see what questions others ask when they start on a new project / client...

About the author

Having worked as a consultant on projects in the investment banking sector for a number of years, Sergio has occasionally dabbled with the role of technical architect. Now a developer working at an investment bank, chiseling out the codes. Which is nice.

E-mail : sergio.annecchiarico at codingthearchitecture.com

Re: Where's the coffee machine?

Perhaps not a question I'd ask directly, but findng out who's paying you and what they're paying you for enables you to prioritise the flurry of requests.

Re: Where's the coffee machine?

You should enjoy being the new guy and make loads of mistakes. You can always say:

"I'm new here, I didn't know"

If you're sneaky you can keep this up for months!

Re: Where's the coffee machine?

The thing, I always repeat when approaching new people and/or domain is:
It might be the case, I am going to ask you the same question many times. It is not because, I do not listen to what you are saying. It is because, as you will see, you are going to provide different answers depending on context of our conversation. This will help exposing things considered obvious, which are hard to grasp for a new comer.

Re: Where's the coffee machine?

When an issue is not new asking who has worked with it before and going to talk with the developers has proven to me like quite handy. Normally as an architect you can just get distracted with issues that a developer can solve much better that yourself because of: a) knows the codebase better than yourself, b) they are not really architecture tasks.

As a side note, huge methods are not always a naive an innocent thing. See the end of this this excellent post about GC curiosities. Sometimes the most little and unexpected things can have the more unexpected consequences.

Add a comment Send a TrackBack