As soon as you feel that you are a competent programmer in your assigned business process, you should look around you and select a more challenging and/or interesting one. Your daily hour spent enhancing your knowledge of the companys computerized business processes, and your interaction with your programming peers, should point the way to a potential next job in your IT group .
It doesnt matter why you move on. You may want to work with the programmers or the programming manager in another area, or you may want to learn the details of another business function. You may simply be bored with the work youre doing. It matters only that you do move on in order to challenge yourself.
It helps, when youre asking for a move to another area or team, to have long prepared your manager, and your proposed manager, for the request. All programming managers will give you cues about how they feel about you, especially if you drop a few hints about your interest in what they and their team are doing. That preparation may even start with your initial job interview, when you have the opportunity to communicate your goals. You are no doubt being hired to fill an immediate need, not with the expectation that you will spend your entire career in that same job. If that is the expectation, then both you and your manager are in severe trouble from the beginning, because your manager will not, by definition, have an education or advancement promotion plan for you.