The road to software career satisfaction...?
The misconception of the "Computer [Science]" Degree
We were all beginners once, we all stared at a monitor screen in confusion trying to make out what the weird characters were and how we put them together to make something happen. For me, it was the Sinclair ZX spectrum, and apart from playing some pretty cool games (loaded from cassette), you could also use the handbook to program some BASIC.
This was my first foray into coding, later at school, we also managed a little BBC BASIC drawing lines such like. At university I used first an Amstrad Word processor then as time went on, an early laptop-like thing which was basically an electronic typewriter with a small screen. It too had BASIC as well as a Tetris clone called blocks. From there in my last year, I was able to begin writing my thesis on an Olivetti Pentium Windows 95 box, my life from there changed.
Shoot forward 23 years and I am a senior developer cum Architect and have had a long career in software development. I have had almost no official computer education. My university days were academically rooted in Environmental Law and Countryside management. Nearly the entirety of my Software life is self-taught. I have attended expensive Bootcamps, short training courses, and used the internet and books. I code when I can, I deconstruct, I ask questions and I learn by doing and making mistakes.
I was lucky I was able to ride the IT bubble of the late 90s in Dublin, the Celtic Tiger gave me my first IT industry job, be it in project management, but it was a beginning. From Software localization to Digital Publishing, I was able to maintain a Software presence, but it wasn't till 2004 that the coding began, and from there on my Development Career moved up.
Yes, I have had great opportunities, Ireland in the late 90s was a buzz with Tech firms, Microsoft, Sun / Oracle, Norton, IBM, Ericcsson, etc, all eager for the tax incentives the Dáil were offering for big tech, firms were desperate for a workforce, some of us less trained than others. Then in 2004, I moved to Finland, it's software reputation already growing internationally, like Reindeer, Beer and Mosquitos software and tech has been woven into the fabric of the country since the 80s.
The point of this mini-tale is that the focus on some form of official computer education for software is far less relevant these days. In fact, most "Computer Science" courses focus on Hardware and Networking rather than code and software. Quite contrary to what so many feel is a good software degree, the term "Science" is often misunderstood to refer to only coding in some aspects, which is a fairly erroneous perspective. As such it results in many unqualified and unprepared graduates being offered roles in software firms with minimal experience in writing anything, and more building hardware. Of course, there are courses changing now but the term "Science" is perhaps a misnomer. Many of these courses if they do contain a module or to of C or Java for example, are usually out of date after a year due to the dynamic nature of the Software industry, so the recent graduate's academic information is less useful than perhaps some practical experience or internships they may have had along the way.
In my career, I've met so few developers who actually have any computer education. It's true many designers UI / UX etc have arts back grounds which is generally applicable, but for those of us who write code back or front, the best developers I have encountered are those who, like me, have self-developed along the way.
So if you are starting out, halfway along or wherever you are in your software journey, don't fret academia, don't be intimidated by any official computer science education, and be wary of employers asking for one. Keep your own practices up, contribute, or just code along to many videos. Take courses when you can, and for goodness sake, ask questions, lots of them. You will find your niche, your position, it will be the right one for you when you feel it.