you also need to pick a domain , so that your interest in learning programming will coincide with your gaining experience in A particular industry. As techies we are limited in our exposure to functional knowledge, save for the projects we get to work on, and with us being shunted from one vertical to another , also , but not limited to company reorganization, our growth in a domain suffers, particular if such horizontal movement is happening very frequently, without us getting to pick up the essentials of a domain. By my own assessment, It takes a good two to three years to learn about one industry vertical like insurance, healthcare, banking. Too many folks think they know all about domain within a year of working on it, but thats because we live in a very impatient world.
Most techies hardly have any functional knowledge of the industries they work in, coz they dont see it as instrumental in building their career, as much as the knowledge of a framework or a design pattern.
If your organization is not that large or able to provide you that industrial experience, you can always pick up a generic tech-domain like Machine learning / AI / BigData / which cuts across all industry verticals, and that way you can ensure for your entire career, you will always be relevant as a programmer.