Typewriters are wonderful. When I was in High School, was into buying any typewriter that an antique shop owner would say was 'completely broken and worthless' and getting it back to a functional state. A typewriter is both a very complex and simple system. The complexity really comes from the weird ways you have to contort the components to get them in and out of the frame. Since the older models were all built by hand, there's always a way to get access to something for repairs. The 'fun' part, however, is always determining the way that that part can be removed. There's always a way, but often there's only one.
Ended up with a completely anachronistic skill, but there's so much that you can get out of doing this kind of apparently pointless repair work.
When I worked at IBM, we hardware engineers were organised into 3 groups. We mainframe engineers went on the cool overseas courses, spent our days in chilled computer rooms and looked after the really important machines. The mid range guys slummed it with AS400s, System 38s and the like typically kept in someone's back office, and went on local training courses only. But the guys that fixed the Selectric typewriters - they were the ones with the real skills IMO. Those things are complex.
[Related Trivia] Selectrics were much more like manual typewriters than people might imagine:
“As with other electric typewriters and electric adding machines of the era, Selectrics are electromechanical, not electronic, devices: the only electrical components are the cord, an on-off switch, and the motor. The keys are not electrical pushbuttons such as those found on a computer keyboard. Pressing a key does not produce an electrical signal as output, but rather engages a series of clutches which couple the motor power to the mechanism to turn and tilt the element. A Selectric would work equally well if hand-cranked (or foot-powered, like treadle powered sewing machines) at sufficient speed.”
In the context of a lot of Reddit alternatives, the argument of 'not literally illegal' isn't always what is being made. Sometimes it's more along the lines of 'stop interfering with our law breaking' or 'let us openly promote real workd violence'. Sometimes people have migrated to sites where the administration is either legally insulated by strong local laws (ie: Voat in Switzerland), or otherwise ambivalent attitudes towards actually following regulations (Chan sites, self-hosted forms). The incel communities, and many other violent communities come to mind right away.
Some can, Selenium or other browser automation is sometimes used in bots. Really, any headless browser can be paired up with some automated QA toolkit and turned into a rather effective bot. All that has to happen is for the bot to load the page in headless mode, then issue the keystroke events to the specified elements.
From my experience most don't as it costs more money (ressources). For me a hidden input with some math solved by Javascript got rid of 10 spam contact requests per day to actually 0.
However of course, the larger a page gets the more dedicated the bots get.
Another thing with a PhD is that it is no guarantee that you'll even be hireable. I know of a number of PhD candidates who have trouble interacting in a professional setting outside of the of 'I deserve deference because I have a PhD, you don't necessarily even deserve respect' mentality.
I find sometimes a PhD can come with very ingrained attitude issues. I recall working for a company with a new-recruit development program where really the only way to fail out was through attitude issues. One of the people who oversaw the program mentioned that she's only ever seen people with PhDs and higher fail out over this issue.
I wonder if the same people would have failed out of any job requiring human interaction. One thing graduate education does is attract people who know that they would struggle in a mainstream work environment for whatever reason. Some are outright crazy.
Quite possibly. I do know it's common to the point of being a trope that some graduate students are just in graduate school to defer having to enter the work-force. Some see it as a way to put off having to make major decisions or processes like job hunting. Not like there's no real reason some opt to do things like that. It is markedly easier to accept scholarships and do the grad school circuit than find a job if you have mid to high grades.
Performance under pressure can be better at times, but there's diminishing returns. Applying pressure is good, but if the pressure is too great, then you start to get the reverse effect. When the pressure leads to anxiety rather than focus, then you've lost any possible improvement that stress can lead to.
A deadline is useful to help ensure work gets done. If the deadline is set to 3 hours from now, however, and realistically you need 4 or so to get it done, the pressure is going to have the inverse effect. It would likely just demoralize the team.
Interesting take that self-directed development is a 'heresy' of academia, even more so, it's considered hokey and invalid. I've noticed that's somewhat the case, there's an attitude that Formal Education is the only education. I didn't even go to a 'bad college' like another commenter suggested would have an attitude like this.
I've had students try to tell me off (with great vitriol too) for not being a 'real developer' since I lack a CS degree or a Software XYZ degree, despite having worked as a developer for a while. Even professors were skeptical about being able to break into the industry. I did manage it, and it was surprisingly easy to do, which made me scratch my head about where those beliefs came from in the first place.
While I agree with you, the term "computer science" has not had a consistent definition over the years.
I have a degree in "Computer Science" (1987) but it was not a math program. It would not surprise me to learn today that there are many existing "computer science" programs that are not math degrees.
I'd tack onto the first point: obsolete technology everywhere. Worked in the public sector for a short while and the amount of outdated tech being used is astounding. Some of the solutions being discussed as "new" have been outdated for decades.
Having to deal with overwhelming bureaucracy in exchange for working on what everywhere else would be legacy systems really killed any desire to stay.
The most important aspect of any technology is that it works. In that regard, functioning "legacy" systems are ideal systems. The legacy bureaucracies are the problem.
Kind of like SpaceX popularizing rocket reuse, we should think of older code, languages, and frameworks as "battle tested", not "legacy". They should only be replaced if it's clear that essential maintenance is not possible, if a critical requirement isn't being met by the old system and will confidently be met by a new one, or if it can be demonstrated that a new system will save more money than improving the old one.
Absolutely... in the situation where the systems are actually legacy systems and not new installations or adoptions of obsolete technology. What I was trying to get at, and realize I expressed poorly, was that they are sometimes looking at implementing (today) things which are obsolete. That's what I meant by 'would be legacy anywhere else'.
This, I guess, would be a consequence of legacy bureaucracy, given that the people making the calls are not very aware of the new technologies and their advantages. A reluctance to adopt Python for example out of a distrust of FOSS comes to mind.
But we should refactor it into a functional programming language with microservices running in containers because... resume-driven development.
I do agree that many organizations accumulate so much cruft they have trouble getting out of their own way. But the flip side of rewriting things for reasons isn't necessarily better.
Ended up with a completely anachronistic skill, but there's so much that you can get out of doing this kind of apparently pointless repair work.