|
Here in Australia, most people just think "literally anything to do with computers = IT". So when I talked to course counselors they said if I wanted to be a programmer, I had to do an IT degree. Not even close. Software engineering, or maybe CS, is what I wanted. I hadn't even heard the phrase "computer science" when I started university. The total incompetence of the course counselors at the core function of their job contributed to putting me on a path that eventually lead to the ruin of my life. I did a degree that claimed to contain software development, but was in the IT category - I never learned of the concept of version control (at all), how to use makefiles, exception blocks, performance profiling, or a bunch of other practical stuff. Now I'm wasting away in an IT support job. I can't blame everything on that, and most of the responsibility for where I am today is on me - especially for not turning it around better after I realised my mistakes, but I feel like the confusion between "IT", "CS", and "Software engineering" definitely kickstarted a path that wasted alot of my most valuable learning time. Don't trust course counselors - or other people in general. |
I was once in your shoes. Same background, same regrettable life choices, same potential future.
If you want to develop, do it. Start by looking at the crap software your company likely pays hundreds of thousands of dollars for and think about how you could do it better. Start by actually trying to supplant it with something of your own creation.
I have a generic degree. All those "practical" things you lament missing out on, I learned by just doing it. But I never had cause to learn what big-o notation was or how to navigate a b-tree...you know, that non-practical knowledge a CS degree would have endowed me with. The lack of such has only stopped me from working at Google. Plenty of other shops are not in the business of recruiting only those who can write the freshest sorting algorithms.
Just don't spend the rest of your life in a job you hate, condemning yourself for being put upon. It takes little effort to invoke large changes.