I recently have been interviewing for a position at another company. After getting further into the process the role was presented as being more of a client facing position than I had thought. It was said to be an "almost 50 50 coding client facing role".

My questions are, if a developer chooses to be more client facing early on in their career, is this going to pigeonhole them into this type of position as they progress? Do people that generally take these positions tend to get pushed more and more into a client facing position as the company grows?

Assume the developer is at least competent enough to be a good developer and not being pushed towards being client facing because of poor code or lack of production.

closed as off-topic by IDrinkandIKnowThings, Masked Man, gnat, The Wandering Dev Manager, Jim G. Mar 4 '16 at 11:59

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking for advice on what to do are not practical answerable questions (e.g. "what job should I take?", or "what skills should I learn?"). Questions should get answers explaining why and how to make a decision, not advice on what to do. For more information, click here." – IDrinkandIKnowThings, Masked Man, gnat, The Wandering Dev Manager
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 4
    Exposure to customers is looked upon very favorably in most companies. – keshlam Mar 3 '16 at 23:46
  • I didn't know pigeonholing would pass spell checker! – blankip Mar 3 '16 at 23:47
  • 2
    So you want to work for a company that has a guy that takes the specs from the customer and gives it to the software people? Hate to say it but the Bob's are right, software developers can't work in a windowless box, the more exposure you have to talking directly with the customer/user, the better your output will be in terms of quality and speed. – Ron Beyer Mar 4 '16 at 2:23
  • 1
    @RonBeyer, I work in a place that has a 'requirements' guy. Getting spoon-fed a list of specs is getting really old. Now that I'm a 'Senior Engineer', I'd much rather talk to the customer directly so that I could actually get a feel for the problem they're trying to solve, rather than playing a game of telephone through the 'systems engineer.' Alas, no, I get to deliver a product to the customer that technically meets the 'specs', but isn't actually what they want. – James Adam Mar 4 '16 at 15:44

if a developer chooses to be more client facing early on in their career, is this going to pigeonhole them into this type of position as they progress?

Not necessarily, it's more likely to do so within the same company, but not otherwise. And even then I've seen plenty of people go to and from client facing. It's actually a desirable skill to have.


I think the reason why you see devs with soft skills move to client-facing roles is not that you get pigeonholed but because a lot of devs just don't have those skills. Knowing how to work with other people, especially people who aren't technical, is a good thing and not a skill that will "pigeonhole" you at all.

In fact, you may find that the opposite is true: most people can only go so far in a pure developer role and if you want to make the really big bucks and be responsible for big decisions, that's almost certainly going to involve dealing with non-technical people (and even if you somehow end up in a management position that deals solely with techs both above, below, and across from you, people skills are still just as important with devs - maybe moreso because a person who lacks these skills probably won't be equipped to understand that their boss lacks personal skills and is "just a jerk" or something like that). Also, you may in the future find yourself wanting to branch out in new directions. Maybe you'll get burned out of developing and want to do something else for a few years (believe it or not, it happens!). Maybe you'll want to start a business of your own - there's no place in a start-up for people who can't wear a lot of hats.

Another underrated way that soft skills help is that by explaining to non-technical people what you're doing, you actually force yourself to understand your own material - be it the framework you're using, the tools you use to help you code, and on and on - better. I have a bad, bad habit of over-explaining stuff (part of it is personal preference; I vastly prefer giving people too much information than arrogantly doling out only the info I think the other party will understand but part of it too is a personal failing that I work on improving), but one thing I have found is that a lot of the time when I start talking out what I'm doing to an analyst or a non-tech manager, this makes me realize that the actual problem they're looking to solve isn't necessarily going to be fixed as well with the solution I think I want to provide than with another one.

Worst case scenario, if for some reason you do wind up in a front-facing job and can't get back to developing even when you want to, there are always other companies willing to give a shot to a person who has coding experience and who presumably knows how to work well with others. Unless it's something you just flat out hate doing, there's not a lot of downside, really.

  • 3
    Yes, this. One can always move to a more technical role, because technical chops are easy to demonstrate. But people will only let you be client-facing if you have client-facing experience, so that experience should be grabbed when offered. – AakashM Mar 4 '16 at 9:22
  • 1
    I think it improves you as a developer too. Too many devs don't actually understand the business and thus make bad technical choices and the product doesn't work well for the end user because it is developed based on what is easiest for the developer not for the people who spend 8 hours a day for years using the thing. When you have had to deal with angry users who don;t understand why the software is continually timing out for instance, you then learn to make sure that your code won't cause future time-outs because you chose the easiest method rather than the most performant one. – HLGEM Mar 4 '16 at 18:40

Not sure this is really answerable, but I'll try:

Any role you take that is less technical may start to mean you don't get as much exposure to coding, or be perceived as having less coding experience, which could mean you get less opportunity for coding roles, and therefore you end up getting more and more client facing; losing your technical edge.

However you could use this as gaining better coal-face feedback from clients and coding updates in a more agile/frequent manner. Which could benefit your CV/resume. This could be a big positive.

In reality its entirely down to you and the experiences you manage to get out of it - so this could be closed as opinion-based, I reckon.

(I ended up doing much more client facing work, so lost a bit of my technical edge, but in most teams I have ever worked with, I am the extremely technical one - despite being senior management now)

Not the answer you're looking for? Browse other questions tagged or ask your own question.