Hmm. I think that might be interesting to explore. I’d learn a lot, other people would learn a lot, and I’d write up and share that with even more people. It might be some time away, or it might be an extracurricular thing if I can clear it with IBM, or plans might change. =) I’ll probably start with just one student first.

Would you like to hear from me if I do set up something like that? What would you like to see in it? Leave a comment or contact me and tell me what you think!

David Ing (one of my mentors) thought it would be a good idea to help me learn not only facilitation techniques, but also Smarter Cities domain knowledge. He was working on an Industry Business Value Assessment study. In the interviews I observed, David set up the discussion, then focused on taking notes while another IBMer asked questions. Pairing up meant that one person could ask follow-up questions while the other concentrated on capturing knowledge.

Some interviews were scheduled for a week when none of David’s colleagues were available, so David asked me to lead the interviews instead. I was nervous, but I knew that he could always step in and ask questions to bring the conversation back on track if needed.

David handled the overview and the discussion guide. My role was to actively listen to the interviewee and occasionally ask follow-up questions.

What worked well:

Listening to people and guiding the flow of conversation through questions was surprisingly like hosting the tea parties I have at home. All I had to do was be interested—and with how passionate our interview subjects were about their different areas of responsibility, that was easy.

What I’m looking forward to doing even better:

I still need to work on asking more open-ended questions, but I’m sure that will come through practice and domain knowledge. Keeping a discussion guide in front of me will help, too!

It’s amazing how experienced people can put different insights together and make sense of a complex system. David and the two people helping us saw a lot of things I didn’t see until they pointed it out to me. =) This is great! I’m looking forward to building that kind of knowledge.

So now I know a little more about interviewing, and I know a little more about what people in city government think about. I’m glad I moved things around so that I could join the interviews!

One of my mentors invited me along on client interviews with one of my mentors. He took notes while I asked questions, and I learned how to ask better questions.

We’re doing this because you can’t learn consulting in school. You have to do it to learn. Learning consulting skills under a mentor’s guidance is much better than getting pushed out on solitary engagements and figuring all of this stuff on your own.

I wonder: why can I tell tons of stories about wonderful learning experiences when other people have such a hard time finding mentors? And what can we do to help more people connect?

One of my mentors said that visibility plays a big role. You have to get yourself into a position to be noticed by people who can mentor.

The mentor who’s been teaching me about interviews said that people have to want to invest in you.

Blogging and public speaking get me out there. Passion and enthusiasm help me connect with other people who care.

What would it take for more people to experience this?

Things that work well for me:

I share what I’m interested in, which makes it easier for people to help me.

I share what I’m learning, which gives mentors more return on their effort.

I ask lots of people for help, and I learn a lot from other people’s experiences.

I remember reading a discussion topic about what it means to be an IBMer, and how people feel an emotional connection with the company even if they’re no longer employees.

David Singer retired from IBM a few months ago. We kept right on going with our mentoring chats anyway, and I’ve been learning a lot from both our adventures. A few days ago, a friend of ours—another IBMer in the UK—expressed appreciation for David’s thoughtfulness. David had reached out to him when he was down, and encouraged him at just the right time.

It’s wonderful that even after leaving the company, David Singer still cares. He jokes about it being an investment in IBM’s stock value, and maybe it is – maybe these human connections are part of what makes a company thrive.

Isabelle’s manager wanted her to get better at proactive communication. She’s comfortable e-mailing people, but she has a hard time following up when people don’t respond. Timezone differences between team members in Singapore and in the US compound delays. She reached out to me for advice, and I suggested a few things that might help:

1. Clear, dated requests. When asking for help or a response through e-mail, specify a target date instead of leaving it open-ended, and give a reason for that date if possible. This makes it easier for people to prioritize working on your task. (Don’t always ask people to get back to you TODAY, though. It looks like you don’t plan well.)

2. Clear, dated responses and priorities. If you’re working with other people on some lower-priority tasks, those tasks might never be finished. Clarify the relative priority of a task with your manager: it might turn out to be higher-priority than you thought. If it really is a low-priority project, contact the people you need to collaborate with and get an estimate of when they might be able to work on their part of the project. Find out what other important projects they’re working on, too. This will allow you to:

give clearer reasons for delays (“We can only work on the report next week because we have to finish the keynote presentation this week”)

negotiate better solutions (“I can do that part of the presentation if you can do this part of the report”)

re-negotiate priorities with your manager (“Actually, this report is more important than adding animation to the presentation”), and

give you dates for following up (“John is working on the presentation now, but he promised to work on the report on Monday, and I’ll follow up with him then”).

3. Status reports. They’re good for your manager and for you. Keep track of where you are on projects: what your next actions are, what you’re waiting for, and what you’ve accomplished. Share this with your manager frequently, so there are no surprises.

4. Concrete follow-ups. When you’re waiting for a response, schedule a follow-up so that it doesn’t slip through the cracks. Follow up by e-mail, and then move up to following up by phone or instant message if needed. I don’t do this for all of my tasks, but I do this for tasks I “own,” and it helps.

Concrete follow-up dates also help you write better status reports. Instead of reporting “Waiting for response”, you can report “Waiting for response; will follow up on ____ by e-mail and _____ by phone.” Clear follow-up plans make people feel more confident that the task won’t be forgotten.

5. Tactful escalation. When people don’t respond, sometimes you need to find other ways to get things going. Isabelle had learned how to cc:ing her manager so that her manager could stay updated, but she wasn’t comfortable with cc:ing the other person’s manager because it felt like escalation. If done tactfully, though, escalation can be a good tool.

How to escalate: Give people the benefit of the doubt, and acknowledge that they might be busy working on priority projects. Send them a gentle reminder, cc:ing their manager. In the note, explain to the manager that you understand that the original contact may be busy or your request might be a better fit for someone on the team, and ask who might be the best person to talk to.

Two developers recently joined our team. Johnny has worked with Drupal before, and needs a little help getting used to Drupal 6 and Views 2. Elena is an IT architect who is new to both IBM and Drupal. She needs a lot more help getting started, because she doesn’t know what things are called yet and she isn’t yet accustomed to the Drupal way of doing things. For my part, I work on Workflow, node access, and other requirements that require deep Drupal hacking.

I’m learning to check on Elena more frequently and to help her break down tasks. Otherwise, she might get lost or stuck, because she might not yet know where things are or whether she’s getting closer to an answer. I’ve made good progress on the things we’ve planned for this iteration, and I can invest the time into helping our new team members be more productive and learn more effectively.

Both Elena and Johnny have set up their debuggers in Eclipse, so they don’t have to figure out the right places to insert var_dumps. Instead, they can trace through the relevant pieces of code, learning more about the structures and the flow of Drupal websites along the way.

Although I occasionally struggle to explain things I take for granted, I enjoy helping someone who’s new to an area. It helps me remember the things people need to learn. For example, Elena’s work on surveys requires her to learn about nodes, getting values from the $_REQUEST, loading nodes, working with CCK, altering forms, adding new form fields using the Form API, and using Drupal functions for links and text. We broke down the task into the following steps:

Create a CCK node type.

Use hook_form_alter to add some text to the form.

Load a node and fill the information in the form.

Get the extra node ID from the URL.

Adapt form_alter for the case where you’re editing the node.

We’ve managed our planning well, so I don’t feel overcommitted or stretched with the additional mentoring I’ve taken on. The time is an investment that will pay off both in the short-term as well as the long-term. If I can slow down and write more, then the investment can benefit to other people too.

I like this. It’s certainly much better than leaving developers to flounder and work things out on their own, and I learn a lot in the process of helping. Maybe that will be one of my specialties: projects where other people are learning a lot on the fly.

Recent comments

JohnKitchin Thanks. That matches my current understanding too. It seems like use-package pretty conveniently installs and configures packages. I have seen cask for creating and installing... – Emacs configuration and use-package