First, let's say that everything related to software development is quite vast. The nice part is that there's a lot of different tasks/jobs and you usually do more than one so it's not really monotonous most of the time.
Here's how I can best categorize the different jobs you can expect in IT:
-Programmer: that thing is VERY vast, goes from all sort of coding (web, mainframe, frontend, backend, ui to some extent, databases). You code and create some sort of application. Make good use of you creativity and logic.
-Database administrator: A job where you make sure the database is running correctly, has a good architecture, has good backups and maintenance plan, etc. Coding is still involved, but differently and to a lesser extent.
- Network administrator: I never done any of that, but well you manage the network and keep it healthy I suppose!
- QA: Usually, no real coding is involved but some can be done to automate tests. The job is to test the application and make sure to identity the bugs that got through the previous tests. I can't do it for more than an hour without wanting to kill myself, but some do it all day long!
- Management: Well as with everything, there's some management involved. But in IT, most have done some coding of some sort before managing a team, but it varies.
-Project management (don't know the exact English word for this): That's a job where you make a bridge between the client and the team. No coding involved.
- UI specialist: It's a mix between coding and painting and design. You make the visual. Sometimes the programmers do it and it usually lead to bad looking interface unless you are lucky and have a programmer that has a decent skill with UI.
ETC. : there's really like an endless types of IT jobs.
Formation: I personally went to university, but I work with teammates that did not. While I appreciate what I learned at the university, I also think that in the end not all types of education is for everyone. For me, university was probably the best way to learn since I am not a very organized person and learning on my own would not have worked probably. But for others, learning on their own is probably the best thing. In the end, what makes a good programmer is not their education but simply their skill and what they have learned and how they can apply it in the real world. Also, while knowing how to code is important, knowing what to code is as much important. By that I mean that coding has a technical aspect that is necessary (knowing how to code, and how to code well and efficiently), but you also need to know what to code, and that mean to be able to translate a need into a feature, being able to challenge some requirements because you see in advance the problems that will occur in the usage of the feature even before coding it.
So in the end, if IT interest you, the good news is that you have a lot of different fields to look at. But you better be able to stay in front of a computer most of the day (for most jobs at least). Also, there's a lot of demand and the demand will not be less in the future. You will need to learn new things more than with other jobs, but you will be able to apply most of your skills even with new technology.
I hope this will help you decide!