<p>If you want to do well in the CS field you need to be the one who has the listening skills to listen to the clients problem and develope the plan to solve it. Not too many technical people are capable of truely understanding the non-technical mind. If the client says I need a program to track weight and you write a program to track density you have failed. Can you be that translation person? Or do you just want the boss to tell you what the parameters are and leave you alone to code, because that part is easy to offshore, out source or H-1B.</p>