Solving problems is the main job of the software engineer. Programming is important because a lot of tasks can easily be automated. You can create systems that schedule parcel delivery, that avoid accidents, that recognize your friends, that drive cars. You can create a system that waters your plants and one that fetches your desired news feeds and shows them to you. The list is endless. I remember when I first saw the power of automating mundane tasks by giving them to a computer to do.
I was about 22 years old, working at a bus transport company. My job on weekends at that stage ...