For a while, I've been internally debating what to do after I finish the International Baccalaureate. Initially, it was clear to me that I wanted to study Informatics Engineering at college, but I've been rethinking this decision in the last year.
The first thing that made me change my mind was the realization of how useless tech degrees are. Major companies have dropped this requirement, and smaller companies hire based on experience and not on theoretical knowledge. This makes perfect sense and I believe it should be effective in all professions but, in the real world, you can't ask newly graduated doctors for some experience. You can, however, ask anyone applying to a programming job for programming experience as that's the thing you're gonna pay them to do.
Another thing that made me rethink my decision was asking myself what do I want to work on in the future. I always knew I wanted to code, but here's where I stopped. When I went deeper, I discovered that I want to make a living from my own products. That doesn't mean that I'm closing myself to freelancing or to working in a cool company, but I want to eventually live the maker life. And you don't need a degree to do that.
The last thing was looking up the timetable for the course. To study Informatics Engineering, I'd need to do a year of physics (common to all engineerings, but useless for this one in my opinion) and attend all sorts of tech-related classes I'm sure I'll never use. I'm a self-taught developer, so I've prioritized all the practical things I need to know in my day to day over theoretical principles I could learn on the internet if I wanted to, and I don't want someone to force me to learn all that before starting to work.
A new hope
But I still want to go to college and I still want a degree. So I had to search for another career that could give me real value.
Then I started the IB, and I had a new subject I'd never been taught before: Philosophy.
Philosophy is mind-blowing for me to a point I can't even explain. It's about learning all the interesting thoughts other people had, about abstractions of everything, about escaping common knowledge and thinking things other people would immediately discard; about learning to think for yourself. It's about everything.
For a while, my "plan B" has been to get a major in philosophy then work as a programmer. This way I can go learn something that really interests me and that I'll really get value from and work on what I love when I'm finished.
And, armed with these two options (and a third one that isn't as interesting), I sat undecided for months.
Then, today, something clicked, and I made my decision.
What triggered this change was the discovery of a deep relation between philosophy and technology. Until today, I'd seen this as separate things that I liked, but there are lots of things that tie technology in general and programming in particular to philosophy.
The Vienna Circle was a group of intellectuals in the early 20th century who were radically committed to the idea that empirical science was the only knowledge. One of their big dreams was to construct a "purely logical language", which would be able to describe everything in a precise way with no ambiguities (similar to how mathematical languages can make proofs where there are no disputes on the meaning of what is being said). They thought most of the disagreements arose from the inexactness of natural language, and would dissolve if their dream project could be completed.
Programming is that purely logical language, and we use it to communicate instructions to machines which can generate "alternate realities" (photos, videos, audio, etc.) exactly as we instruct. Think, for example, of a videogame. Someone codes a universe with places (scenarios), beings, sounds, dialogs, etc. using this purely logical language that describes everything with no ambiguities.
There is also a relation between philosophical abstractions and programming principles. These purely logical abstractions have been reused to organize our logical language or inspire different ways to code. For example, Leibniz's monad metaphysics theory inspired a functional programming principle.
Technology and the internet have changed our world, and this has made philosophy even more important. For example, all the new situations technology has put us into are requiring big moral discussions (like online censorship vs freedom of speech, or piracy). Politics is also changing, and some have compared artificial intelligence to our notion of God (Naval).
I strongly believe that philosophy's importance has been increasing since it was "invented" up to now, and I'm sure it's importance will continue to grow in the years to come.
After considering all this, it seems obvious to me that something that'll help both my life and my work is the best possible choice I could make.
And that's what led me to take the most important decision of my life.