The question that was posed morphed into something about the value of CS degrees today. I don’t think they’re worth the time or cost to get one. Keith keeps trying to make my skills sound like I’m some kind of super-hero or something. Thanks, but things took weird turn around 2004 and nobody seems to care much today.
Early in my career (mostly in the 1980’s), the dominant attitude was, “Hey, you have a CS degree! You can learn anything!” Nobody cared much if I knew stuff already or not, they just expected me to LEARN NEW THINGS QUICKLY. For example, I left Intel after 5-1/2 years and went to work with Moto on the team porting Unix System V Rel 3 to the 68020; I had never seen or heard of Unix or C prior to that. After PC/MS-DOS hit the scene, the shells in Unix seemed like a breath of fresh air! Given the attitudes in hiring today, there’s no way in hell I’d be hired for that job even though I was great at it! (FWIW, I got laid-off at both Intel and Moto.)
I went out on my own in the 90’s and was the primary architect and developer at four startups. The amount of research I had to do for them probably came close to qualifying for a couple of PhDs. I absolutely LOVED it, but the politics SUCKED. Two of the companies were imploded due to the egos of the investors; one had the life snorted out of it because of the founder’s drug habit; and one came so close to succeeding, but got unexpectedly bought up by Computer Associates who put our software on a shelf in a back room because they didn’t understand what made it different from other software they were already marketing. (The founders tried valiantly to acquire it back from CA for over a year, with no success. It was seen as worthless to CA, but they saw it as a threat if it were to fall into competitor’s hands.)
In 2000 I took a job at the ASU BioDesign Institute and worked there for around 4 years. While I was there, I did get to take advantage of lots of my compiler-related knowledge because it turned out that half of the work I did involved writing import parsers for whatever crazy data files Biologists working on their Master’s Degrees created. They maybe had one programming class, and they were expected to write all of the software needed to support their Master’s thesis. The software I worked on needed to be able to import EVERY data file format that someone at some university somewhere in the world published as part of their thesis that was of interest to other researchers anywhere in the world.
Pretty much all of the work I’ve been hired to do since then (2005+) was based entirely on the fact that I had 10+ years working with Delphi. (It could have been COBOL or FORTRAN.) Nobody gave a rat’s ass about my education, background, patents, or any of that. Nobody really cared what I had to say except as it related to customer-specific programming requests that affected their Delphi-based apps.
At one place, something I was totally capable of doing in a few months was out-sourced at great expense to a team of peole at some company that spend over a year and finally gave up ... and the other guy on the team finished. (I had taken another job by then.) At another place, I found some patterns that turned up over 100 bugs in code that was easy to see once the code patterns were pointed out; but I was basically was fired because I kept trying for 6 months to fix them and was repeatedly told that only bugs reported by the customer can be fixed. Seriously. They were more concerned with getting ISO-900x and CMMI Level-3 certification than ensuring their code was bug-free. To them, their PROCESS was more important than the PRODUCT it was used to manage.
I’ve been hired several times and told EXPLICITLY that one of the main reasons they were hiring me was to keep their asses out of the fire by letting them know if there was anything I might find them doing that was seriously in need of attention. I found plenty of things at different places, and nobody wanted to hear about ANY of it.
At a few places, the code blew up and I was blamed. I later learned that a lot of contractors are hired specifically as “fall guys” for known problems that are about to blow up. Being able to blame the contractors gets the managers off-the-hook and their bosses then extend their budgets and schedules in ways they refused to do previously. Turns out this is an old game in the world of engineering contract work. Remember when the Space Shuttle Challenger blew up during launch? A lot of the people trying to alert upper management about the potential problem were … contractors.
I am honestly fed up with how software companies are being run since the whole "dot-com meltdown” in 2000.
All of this is to say, I don’t think a CS degree has been worth the paper it’s printed on since 2004 or so.
Compiler design is just a one-semester class. That, along with things like Database Design, Formal Automata Theory, Finite Math Theory, Data Structures, Analysis of Algorithms, and other core topics, are taught as part of every CS program in the world. NOBODY CARES ABOUT ANY OF IT TODAY!
Nobody is building custom compilers or database servers or things that most CS degrees were designed to address — slow CPUs, small address spaces, small primary memory (RAM), limiited secondary memory (HDDs), slow computer-to-computer communications. NONE of it matters today!
From the 90’s until 2005 or so, “client-server architectures” were all the rage. Today it’s REST-based micro-services being accessed by mobile apps running on phones and tablets, and the overall latencies today even over wireless devices to cloud-based storage than when the server was in the next room and they were connected with ethernet cables.
If you need code for something unusual today, just spend a little while searching for it online, because it’s very likely someone has already solved the problem. Who needs a CS degree to search for stuff in Google?
State Farm has hired thousands of people right out of college with only one programming class under their belt, and puts them through an intensive 6-month internal Java training program. These are the people they have writing and maintaining their software today. I kept trying to get hired by them and get put through their class. They said it was only for new college grads, not “senior developers” who they expected to have at least 5 years of solid java programming under their belt already.
From what I’ve heard, they are not interested in people with CS degrees, or even a lot of programming experience. But if you go through Woz-U or a similar 3-month “boot camp", State Farm will very likely hire YOU as an entry-level programmer. That’s all it takes.
On 2022-08-22 00:17, David Schwartz via PLUG-discuss wrote:Not sure what good a CS degree is these days. Seems like all anybody
caress about today is “at least 3 years hands-on experience with xyz
and abc” to get hired for stuff.
I consider a CS degree as an engineer. Those who follow this path can do things the rest of us cannot do like create parsers, compilers, and interpreters. Am I wrong?I'm a programmer. I do not have the skills of a CS degree holder. You (David) can do lots of neat things that I cannot. I think your niche is smaller if you want to do engineering class work.I had a love/hate relationship with IT for a long time because I struggled to find adequate W2 employment. I had to become a freelancer to rise to my potential, and that could be a book.I bet you could spend a couple months learning Kotlin, put up a website and do freelance Kotlin development.I have read articles that say freelancing will take over the world in the future. As companies start to realize they only need a core of employees supplemented by freelancers, then that will become the norm.It has been my experience that small businesses mostly hire freelancers and have no IT staff.