Long gone are the days when the "system analyst" met with the users, wrote tight functional specifications and handed them to the "business programmer". In any organization that actually gets anything done, the two are now one position, the "programmer analyst", and it's been that way for 20 years now.
And what does a programmer analyst have to do?
- examine and understand almost any business situation
- solve technical and logistical problems
- present ideas clearly and cleanly
- organize and manage time and tasks
- play nicely with others
- and, oh yea, code
And where do you find people who can do these things? Lots of places, but the two that come to mind first are from work experience or college experience. Nobody actually believes anymore that you'll use anything from class in your work. But it can be a very good place to develop the life skills needed to be a programmer analyst.
Nobody's going to ask you to write a linear programming model using the simplex method to determine how to allocate continuous inventory to customer orders. (OK, maybe they will.) But they will wonder why Mary and Joe can't seem to figure out how to use Program ORP560 to generate this month's performance metrics.
Is the problem with them or the program? They'll tell you to figure it out and fix it. Count on it. And count on college to help you become the kind of person who can do that.