So you're striving for a job, then you have two to choose from:
Job A: You have direct contact with the customer. You get the user requirements. You design and develop being able to contact the customer for whichever issue you have. You receive the bug reports directly from the client, for whichever issue they have.
Job B: You don't have contact with the customer. You get the user requirements from a manager. You design and develop in contact with the manager. You receive the bug reports from him.
Which one would you choose, given that both jobs meet your expectations, and client and manager are average, real programming job market ones?