4 ms·
About 20 years ago a friend and I were doing some contract work for a company. I was an undergrad (Comp Sci) and she was a graduate student (also Comp Sci---sa
by spc476 9y ago
About 20 years ago a friend and I were doing some contract work for a company. I was an undergrad (Comp Sci) and she was a graduate student (also Comp Sci---same college). Our task was to add links to a glossary in about 100 pages of HTML and my friend just started doing it all by hand (well, editing each file one at a time). I had to fight with her to stop and just think about the problem. We were both familiar with Unix, and we were working on a Unix system (SCO, but the company had blown thousands of dollars for the entire SCO works) and I realized we had access to lex.
Normally, one uses lex in conjunction with compilers, but it would work for this job---as each word was found, generate the output with a link to the glossary; otherwise just copy the input to the output. Half an hour later we were done with the entire task.
I just now realized that there may have been more to the approaches than I realized. I was looking at this very tedious task and not wanting to do it. Why not have the computer do the boring grunt work of finding and editing? But we were being paid hourly and it could have been that my friend was looking forward to doing this very tedious job for hours and making that much more money. I am reminded of the Upton Sinclair quote, "It is difficult to get a man to understand something, when his salary depends upon his not understanding it."
It could also have been that I think differently and realized the application of a standard Unix tool normally used for one task was appropriate for this task and my friend just couldn't see it. Either could be possible.
I have to wonder how much of this is due to "not understanding that the computer can be instructed to do the boring stuff" versus the "I don't want to code myself out of a job."
- jacobolus 9y agoFinding and deploying tools you know about (but wouldn't immediately think of) in non-standard ways is a meta-cognitive skill which can be practiced. It's possible you had some relevant past problem-solving experience which your friend did not. It is also possible that you had systematically been socialized to pursue different high-level strategies toward work – I have many friends who were children of working professionals and were taught to value 'working hard' above looking for shortcuts. Aside: It's not only the explicit prospect of hours of work that might have stymied your friend... research suggests that when working for a reward people are typically less creative and less thoughtful than when intrinsically motivated (see Alfie Kohn's book Punished by Rewards).
- spc476 9y agoWell, I had helped her with her compiler project a year earlier, but given that we both had experience with lex I'm not sure if we both saw the relevence or not. Your other point makes sense. And your point about hard work really makes since given her background and personality.
- jacobolus 9y agoYou might enjoy Alan Schoenfeld's book Mathematical Problem Solving, which tries to analyze the way that novice problem solvers make a hash of relatively easy 'non-standard' problems, while expert problem solvers prevail, even when the novices have more immediate and direct experience with the required background knowledge for the problem. The biggest difference is that the experts do a lot more planning, introspection, and strategic adjustment along the way, while the novices immediately start down one wrong track and get stuck in the weeds, forgetting what they were trying to do or why.
- golergka 9y ago> But we were being paid hourly As someone who occasionally hires developers, hour rates of a grunt who knows how to edit HTML and someone with a CS degree who knows how compilers work and and can dive into lex/yacc during an interview differ significantly.
- vinceguidry 9y agoMost companies and business tasks don't need software tooling sadly. You'll save the company money and they'll just go "thanks! I'll call you when I need you again! (never)"
- golergka 9y agoSo don't work for them then. What's the problem? Labour market for skilled developers is still pretty hot.
- vinceguidry 9y agoThis incident, presumably, was back in the days where that wasn't true.