Customer-Facing Engineering or not?


Now that I’ve defined a “customer-facing engineer,” you’re probably looking for some specific examples of jobs that fit this definition.

Below I describe the jobs of some employees that work at a fictitious company. As you read the job description for each employee, try to decide if the employee is acting in a customer-facing engineering capacity. The answer follows the job description.

Dave, a Tier 1 Help Desk Agent

Dave provides support to employees who use the company’s internal business applications. On a typical day, Dave works on support cases for about 25 employees. The types of cases are generally routine installations of software applications and account administration. The process for accomplishing these tasks is highly structured, with scripts to be followed. These tasks usually take between 5 and 15 minutes of Dave’s time. Occasionally, Dave works on a troubleshooting case that involves going off script in an attempt to find a resolution. If Dave is working on such a case for a few hours and cannot resolve it, he escalates the case to Tier 2 support, where a specialist investigates the issue further.

No. Although he doesn’t interact with the people that buy the company’s products and services, he does serve the needs of the employees who are seeking IT assistance. However, these people do not qualify as customers according to my definition since Dave doesn’t develop a deep relationship with them. Also, since Dave is working from a script, he does not use a high level of technical knowledge in his role and really cannot be considered an engineer.


Michelle, a Software Engineer

Michelle works on kernel development. (A kernel is the core low-level nuts and bolts of an application). In her daily work, she creates complex algorithms and data structures. Michelle also maintains the application’s existing code base and fixes bugs in the kernel. While she is a quick study, upon taking the Software Engineer position it took Michelle a few months to get up-to-speed on the kernel’s internals.

In her daily work, Michelle rarely has time to interact with people outside of Engineering, as she is busy with software development activities.

No. Michelle clearly works in a hands-on technical role. In fact, kernel development is one of the most technically deep roles an IT worker could have. However, Michelle does not interact with customers.


Jane, a Software Engineering Manager

Jane was a software developer for 10 years where she wrote code for complex software applications. She was recently promoted to a Software Engineering Manager. In this role, she oversees a team of approximately 10 software developers, managing the full development lifecycle– analysis, design, development, testing and deployment. In addition to managing the development lifecycle, she occasionally writes small code snippets and does code reviews, but both of these tasks combined only occupy 15% of her time.

No. Her past experience as a Software Developer undoubtedly helps her in current role. However, managing the full development lifecycle is not a hands-on activity. She only spends 15% of her time on hands-on coding activities.


Julio, a Product Development Manager

Julio is a former Software Engineer, turned Product Manager. After 5 years developing software and understanding how it works under-the-hood, he became increasingly interested in how users interact with the software. His customer-focus and technical expertise were key in enabling him to transition to Product Management. In this role, he spends time with current and potential customers understanding their needs, creating product roadmaps, and prioritizing product features.

Julio also uses his technical background to translate business requirements into technical specifications. Respected by the engineers, they occasionally ask for his expertise on architecture and implementation issues. Julio is happy to provide such assistance when time permits.

No. Julio engages with customers over an extended period of time. So, he is customer-facing. Although Julio engages with the engineers regarding technical questions, such engagements are only occasional. He is not acting in an Engineering capacity often enough to be considered a customer-facing engineer.


Susan, an Implementation Engineer

As an Implementation Engineer, Susan installs, configures and troubleshoots software in customers’ environments. An implementation often includes deployment of the core software as well as customer-specific customizations. These customizations require Susan to interact with the customer to understand the requirements and then translate them into a technical solution. At the end of an initial implementation, she may provide training to both end users and IT administrators.

Engagements span anywhere from a few days to a few weeks depending on the complexity of the engagement. Following an initial implementation, she continues to build the customer relationship by providing on-going support and software upgrades as they become available.

Yes. Software implementation is a highly technical, hands-on activity. Susan is customer-facing in that she interacts with a customer through different phases of the software implementation lifecycle.


You may be wondering why I only discussed one customer-facing engineering position in my examples above. I thought it would be helpful to first show what customer-facing engineering is not. In the next section, I give more examples of customer-facing engineering positions.