You need domain expertise to do useful business analysis. Sometimes the customer can explain their business in sufficient detail, sometimes they can't, or the business domain is sufficiently complicated that you can't just pick it up. I don't know any good way to get domain expertise other than on the job.
One thing you can do in a programming role is to take an active interest in how the business works. Talk to people in other departments, ask questions. Early in my career I had to "cross training," which meant shadowing or even actually doing other jobs so I could see how the business works. I not only write code, I can operate a fork lift, thanks to cross training.
One thing you can do in a programming role is to take an active interest in how the business works. Talk to people in other departments, ask questions. Early in my career I had to "cross training," which meant shadowing or even actually doing other jobs so I could see how the business works. I not only write code, I can operate a fork lift, thanks to cross training.