Quote:
writing and debugging code is only a small part of programming, probably less than 10% of the actual time and effort in a professional IT position.
This has been my experience, as well.
Of course, it's different at every job, but you are being paid to solve problems, as an engineer. Every project will have different requirements, different priorities, and will use different tools and resources. You have to be able to complete projects regardless of these variables. Your actual responsiblities will change on every project, depending on what everyone else is actually doing. On larger teams, your responsibilities will be more focused on coding and testing. On smaller teams, you will also be expected to talk to users, talk to business and sales people, write your own requirements, design your own solutions, build and configure your own servers, and handle code deployments and installations. Often you'll find that you will have to do some of these tasks, not because you were assigned to them, but because no one else is doing them.
The amount of effort that you put in to making your code readable, clean and efficient will have no value to anyone but you, and a few developers who come along behind you to fix bugs and make modifications. But half of the developers that come behind you will simply rewrite your code from scratch, regardless of how clean it is. So, just write code that you feel comfortable with, and is readable to you, because no one important is ever going to look at it, and none of the other programmers are going to bother making their code readable to you. In general, I tend to lean toward less lines of code being better, because it's usually easier to understand and less likely to contain bugs.
It's highly unlikely that you will find one job or one industry and work there for more than 10 years. For some reason, companies do not value employees with a large amount of experience, and will happily hire an entry level developer with no industry experience rather than give an existing employee with 10 years experience a raise in order to keep them (and their experience) from leaving and going to a higher paying job. So, chances are that you will quickly find yourself with the choice between staying at one company and taking a small raise, or taking an offer at another company, in another industry for a significant amount more. So, it is important to have a good working understanding of several popular tools and languages, but it's also important that you quickly learn a new industry, it's terminology and practices, and a new company's processes and priorities.
Other than that, just don't be the worst developer in the company when there are layoffs, and you'll have nothing to worry about.