Personal Enrichment?

What are you left with after a college degree in CS? Can you legitimately decalare personal enrichment when all else fails, like Liberal Arts grads? Probably, if you can manage to cast-aside your real-life industry experience.

90% of real-world SW development only has meaning when applied to corporate ventures. There is some, but not much practical standalone art divorced permanently and entirely from commercial interests, and outside the various research bubbles of academia. Most good open-source has obvious commerical application.

Companies have a lot of real-world control and influence over the design and perpituity of almost everything technological: hardware, OS, protocols, applications, services, careers.

Conversely, only about 30% of what you learn at a university if you major in CS is firmly applicable technical coursework. Generally, you will have Liberal Arts, and a substantial dose of indirectly-applicable computer industry related stuff, like testing, ethics, documentation, management, software process, manufacturing, undelying science, etc.

When you get out of school, in reality, you directly apply only a fraction of that 30% platform-independent knowledge. Math or spcialized algorithms may only occasionally demand their use in your work. Mostly the application of knowledge is oblique, unspecific to a single thing, but a sum of things you learned, such as choosing approriate data structures, selecting algorithms, your approach to design, methodology.

It also depends greatly on what kind of job(s) you get. Higher-level work demands more platform-independent architecture knowledge to be applied. Lower-level work (such as testing / support) requires little to none of these, depending on how narrowly the job is defined. Narrowly-defined or over-defined tech postions are not good places to practice the "science" part of computer science, unless you breach the bounds of your responsibilities, or bury your code out of sight.

Many jobs are like this. Siloed, over-defined, dedicated middle-tier or low-tier tech positions that require a tenacious human to prop-up and maintain infrastructure.

Over time, companies tend to accumulate the machinery of production and organize labor under a kind of gravitational pull to integrate and silo jobs around standing infrastructure. Most of the iceburg is underwater, and strange mythical specialties are required to keep it afloat.

Higher-level, broadly-defined experiences are more difficult to explain at inteviews, but are more effective at getting jobs, because you have talking points about innovation and project creativity.

HR and hiring managers tend to harbor cookie-cutter notions about job titles and their associated responsibilities. SDETS are supposed to write test plans, right? Nope. Not necessarily. QA engineers mostly do manual testing right? Nope. Not necessarily.

Even after an explanation, to the hiring process, my silo is not your silo. But if your silo is narrower than mine, I will probably get hired by you, because it's a step down from what I was just doing. Catch me while I fall with your silo funnel.

Lower-level experiences are easier to explain, but can be more harshly inconsistent in job title vs. real responsibilties. You may never get the chance to design and construct anything permanent. In some cases, you may not be allowed to, due to the unprivileged role you play. This drastically reduces talking-points at future interviews.

At low-level experiences, you may have the title of Builder or QA engineer, but you may never build or test software. You may just debug broken builds or false-positive test results. There's an automated system for testing and building. These jobs are, at their moment of highest merit, "fixer" rather than "creator" jobs. You didn't create something great. You prevented something bad from happening, if you are lucky.

You may do considerable amount of runtime tracking and reporting. You may do a lot of machine setup. But no actual testing or building. Machines do that. Your job is to figure out how the machines broke. My silo may not even remotely resemble the label it was given.

It becomes harder to find work when you become too siloed. What you do for money tends to determine in the minds of other people what you are considered capable of doing for money.

No sense in trying to raise the bar yourself, because it's not about what you did between jobs, it's always about what you did at your most recent job. And this plots the curve of your career trajectory.

After some point, inference suggests how jobs devolve into experiences so servile and meaningless that even you, with your lethal combination of tenacity and low self-esteem cannot stand to perform them anymore.

You disintegrate into a false role of helper to an SDET or tester or builder, like the old actor who stops acting to become the backstage doorman.

These jobs become a source of professional self-harm. There is a threshold at which you simply must draw a line in the sand that says "enough" and just pick up something new. Anything.

So, yes. Personal Enrichment. College was good. And it made me a better-informed technologist. The career fell short, but for reasons having little to do with school.