• Where are these guys coming from that they have system analysts to design systems for them? In my company we actually have to understand the business for which we are developing a system. This is called having the domain knowledge of the business. We have to go from a business requirement clear through to user acceptance testing and then support it. That means the job must be done correctly or you will spend much of the time supporting the systems you have created in the past. Of course we don't let ourselves be the sole testers of the system that would be stupid and really asking for trouble. You do need some interpersonal skills in order to work with the users to obtain requirements. In terms of having comments in your code I agree that they should be looked upon as a secondary but important measure with the first measure having it understandable with out them.