Client Facing Developer: A Workflow of Distractions

“Look–I’m a people person, dammit.” -Office Space

Many engineers, perhaps most, spend an entire career buried in lines of code. Happily working away inside the matrix, following the guidelines put forth by project and account managers–they never need to worry about the hell that can be client-facing interaction.

For some of us, we need to thrive in both worlds. Perhaps we work as freelancers and don’t have the luxury of a separate account team, or we have made the move into a client services department in integrations engineering. Whatever your flavor, some of us engineers are just good at talking to regular people. It’s a rare skill to have a foot in both worlds, and it has become more valuable in recent years.

Everyone has heard the plight of the grumpy engineer that has to get on the phone with a client for a few moments, confident in their knowledge behind their desk, they fumble like Oliver Twist in front of a director or manager from a client. This is understandable of course, these engineers thrive in a deeply focused state that requires as little interruption as possible. The world of the client-facing engineer however, is filled with interruptions–a constant barrage of emails, support requests, design changes, internal technical questions, and extraneous demands. One realizes quickly that focus for development tasks becomes erroneous in the midst of a full on organizational shit fit when a customer catches fire.

How to we manage this workflow? Is it even possible to get a moments piece to put the finishing touches on that design, or solve a difficult scripting conflict? It is, but only with the proper workflow.

My Top Five Tips to Client Success

Below are my top five tips for being more efficient in both exceeding customer expectations and cultivating the best focus on your work.

1. Avoid phone calls and meetings without a defined agenda.

Be very wary of the following:

“I’m having a problem, do you mind jumping on a quick call?”

“Hey let’s regroup for fifteen minutes on that…”

“Hey client X is having some trouble, I’m going to put time on your calendar for a call.”

Calls and meeting without a predefined agenda or description of the problem becoming the biggest source of time loss within a client services arm of an organization. Your number one job is to provide prompt and exceptional service. A call that results in you responding with, “I will have to look into that further,” is a waste of both your time and the clients’.

Often times these issues can be addressed with a simple screen cast or screen shot, avoiding a meeting all together. In many cases you can just get straight to work fixing the issue without the added overhead of a meeting.

There is nothing worse to an engineer that not knowing the answer to a problem when they are being viewed as an expert. While we may seem like geniuses, adequate research is our greatest asset. Approaching calls with confidence is part of what is expected of you.

Always maintain the posture that your schedule is full at the moment and kinldly ask for further explanation of the problem so you can be brought up to speed. This is far more preferable to being caught off guard with a major platform bug at the last minute. Having a solution in hand is what the client expects, even though this comes disguised as the need for a phone call. Your focus is on the clients’ best interests, even if they don’t know it themselves.

Get information first, no matter how vague, it is always preferable to flying blind on a call with a non-technical pilot.

2. Try to respond to emails at set times each day.

Trying to check your inbox every time you see a (1) in your browser tab is like playing pin the tail on the donkey without a donkey. It may be the biggest killer of productivity in the modern day, but like checking your instagram for likes after a photo post the addiction can be hard to resist.

Even if you have frequent intervals make sure that your flow is always:

Complete task X, check email, complete task Y, check email…

Note the emphasis on complete, make sure you complete your task at hand before jumping back to emails. This is especially important to development and bug resolution–work start to finish without interruption until the task is complete or at your set stopping point.

I personally like to check at 10am, 1pm, and 4pm each day. Even with a high volume of emails this ensures a prompt response and allows me to change my focus in case of a support fire in the afternoon.

3. Make your screen shots and videos generic and save them all.

Many questions seem to come up over and over again. Don’t get caught taking the same screen shot 100 times. Try to build a library of screen shots and videos that are not customer specific so they can be used over and over again. This will allow you to become more efficient over time and answer those quick one-off questions without effort. Consider adding these issues to your documentation or an FAQ’s section to further increase your effectiveness.

4. Prioritize your emails and become an email machine.

When working through my email intervals each day it is important to be able to prioritize them in order to gain the best response time. I like to follow an old rule we used to have for accounts receivable payments: 30-60-90. This simple rule, at the time used for days overdue meant we worked receivables starting with our 30 days overdue, then to 60, and finally to 90. In the context of email, I like to think in seconds.

Starting with your oldest email first, respond to all mails that take 30 seconds or less to answer immediately. The meeting invites, the quick one off questions that you already have screen shots or references to documentation for, what to order for lunch, etc. The idea at this phase is you never have to leave your email tab to respond, avoid the temptation to respond to the others, simply star or mark as important.

Once we’ve made it through round one it’s time to work the list again, this time moving on to the 60 seconds or less pile. These may require a new screen shot, a quick URL lookup, or require some fast CSS changes. It is good to note the 60 second rule is a rough guideline, it is ok if it takes a little more time but the idea here is they are easily solved in roughly a minute but may require you to toggle away from the email queue for a moment.

Now on to the 90 seconds or more. These are all of the emails that require further digging or development work to solve. For all emails that remain let the client know you are looking into it, and set it on your to do list. Try to avoid responding with specific timelines here, remember you still have not investigated fully so committing to a timeline ahead of time is a sure fire way to over-promise and under-deliver. Keeping in mind project and account managers may press you for time, stay strong, do your research, our goal is optimal service and this means we keep promises we can’t keep away from our workflow.

5. Never use a phone.

Never use a phone! When getting on a scheduled call with a client use go to meeting, google hangouts, screen hero (great because you can actually click on the screen at the same time with the sharer)–pick your poison but be ready to demonstrate or see the issue from the clients point of view. Ever go back and forth with that bug only the client sees but you can’t seem to replicate? We all have, and a screen share is essential for both yourself and them, take the time to send the screen share invite ahead of time and save yourself the scramble on the phone.

Sometimes the phone is unavoidable, especially if the client dials in off the bat. Try to communicate this in your emails if necessary, “hey I’m going to set us up with a screen share for 1pm EST”. Notice I also specified time zone, with increasing globalization this simple detail can turn an important meeting into an opportunity to be a no-show.

In Conclusion

That’s it! My top five tips for client-services success. Whether you are a freelancer or full time client facing developer being a people person can be a great asset to any organization. Making sure you have the proper workflow will maintain your engineering proficiency as well as your customer satisfaction.

Happy coding…