Quando você começar, você vai ser um estagiário ou DEV-Junior.
Numa empresa, isso significa que você vai trabalhar com códigos que já estão prontos, restando para você as tarefas de resolver bugs, implementar melhorias, criar novas funcionalidades, etc.
A demanda geralmente vem do cliente, acusando uma necessidade real. Geralmente, vai ter alguém responsável para traduzir essa demanda antes de chegar a você.
O cliente pode solicitar um tipo de relatório, por exemplo. Isso vai virar uma task para alguém do back-end fazer, envolvendo SQL e Jasper (por exemplo).
Ou o cliente pode reclamar do visual do site, surgindo então uma demanda para o front.
A demanda também pode ser interna, de algum setor solicitando uma aplicação nova, ou uma nova funcionalidade de uma aplicação que já existe.
As demandas vindas do próprio setor (como refatoração ou otimização do código) geralmente são passadas para programadores mais experientes, pois nesse caso não basta "saber fazer", mas também saber a "melhor forma de fazer".