It is unusual as a comparison to other careers, esp with respect to specialization, but that is the system. Some people revel in learning new things. Software is unsatisfying compared to other jobs because when you close your laptop and you look around you think: "Did I change anything in the world?" Compare that with doing masonry, where at the end of the day you can look at a wall of bricks that you have laid, and mortared with your own hands. Tomorrow, that wall will be there. Next year, that wall will be there. Can you say the same of your code?
If you have a computer science degree you see the commonality as well as the differences between languages and systems. You pick up new things extremely fast. For all of the negatives against university, that is the benefit.
Maybe we need a memento mori for coders: What code of yours is still running today?
Ask yourself that, one week, one year, five years, ten years after.
Facts. I worked on a retail system that was nearly 1M loc and the company went bankrupt. Poof all that work gone. That was a real epiphany for me, and also the start of keeping a healthy distance between me and my work. Although software can be very rewarding, it is just a job.
If you have a computer science degree you see the commonality as well as the differences between languages and systems. You pick up new things extremely fast. For all of the negatives against university, that is the benefit.
Maybe we need a memento mori for coders: What code of yours is still running today?
Ask yourself that, one week, one year, five years, ten years after.