It is very unfortunate that in the world of ubiquitous information, ability to just look up a reasonable solution to a well known and well studied problem that has already been solved long ago is practically a superpower.
As a developer, I regularly am in a situation where I solved some kind of large problem people had for a long time with significant impact for the company and this mostly with couple google searches.
Once I solved a batch task that took 11 hours to complete and reduced it to about 5s of work by looking up a paper on bitemporal indexes. The reactions ranged from "You are awesome!" to "You red a... paper????" to "No, we can't have this, this is super advanced code and it surely must have bugs. Can't you find an open source library that implements this?"
> It is very unfortunate that in the world of ubiquitous information, ability to just look up a reasonable solution to a well known and well studied problem that has already been solved long ago is practically a superpower
Its exactly because information is so ubiquitous and plentiful that finding a reasonable solution is like looking for a needle in a haystack.
In most cases in my experience, the people did not face challenge actually grepping the internet for the solution.
More likely they just went to roll out their own solution for any number of other reasons:
-- For the fun of intellectual challenge (I am guilty of this),
-- For having hubris to think they are first to meet that challenge (I have been guilty of this in the past, I no longer make that mistake),
-- For having hubris to think they have uniquely best solution to the problem, highly unlikely it is even worth verifying,
-- For being superior to everybody else and hence no real reason to dignify other, lesser people, by being interested in their work,
-- For feeling there is just too much pressure and no time to do it right or even to take a peek at what is right and how much time it would take,
-- For not having enough experience to suspect there might be a solution to this problem,
-- Books? Only old people read books,
-- Papers? They are for research scientists. I haven't finished CS to read papers at work.
and so on.
There have really been very few concrete problems that I could not find some solution to on the Internet.
It is more difficult to find solution to less concrete problems but even with these kinds of problems if you have a habit of regularly seeking knowledge, reading various sources, etc. you will probably amass enough experience and knowledge to deal with most even complex problems on your own.
I regularly hear coders say they cannot understand other people's code so they _had_ to write it themselves. Most people can't read papers either it seems.
People lost ability to read anything longer than a tweet with focus and comprehension. Especially new developers.
I know this because whatever I put in third and further paragraphs of my tickets is not being red or understood.
I sometimes quiz guys on review meetings and I even sometimes put the most important information somewhere in the middle of the ticket. Always with the same result -- they are surprised.
Now, to read a paper is to try to imagine being the person who wrote it and appreciate not just written text but also a lot more things that are not necessarily spelled.
The same with code -- when I read somebodys code I want to recognize their style, how they approach various problems. Once you know a little bit about their vocabulary you can really speed up reading the rest because you can anticipate what is going to happen next.
One of the most valuable (but often under-appreciated) kinds of work people can do is to take hard-won knowledge that exists somewhere obscure and make it more accessible, e.g. by writing expository survey papers, adding material to Wikipedia, writing documentation, ...
If Edison had a needle to find in a haystack, he would proceed at once with the diligence of the bee to examine straw after straw until he found the object of his search. … I was a sorry witness of such doings, knowing that a little theory and calculation would have saved him ninety per cent of his labor.
Actually, it would save much more than 90 percent. More like 99.9%. Just take powerful magnet in your hand and start pushing through the haystack until you find it.
Which, of course, requires that you somehow know of magnets beforehand.
Which is exactly the point -- even if you are in business of finding needles in haystack it pays to have knowledge in other areas, and basically read books and other knowledge sources. You never know when it is going to pay off.
Yes, they got to keep my solution. I basically told the guy "You are free to propose your own".
As to open sourcing, not going to happen.
Companies treat the code as if it was tangible good. If you give it to somebody else you are loosing value.
Which is super strange, because code needs to be maintained and why not have other people do it for you if they find it valuable and worth maintaining?
As a developer, I regularly am in a situation where I solved some kind of large problem people had for a long time with significant impact for the company and this mostly with couple google searches.
Once I solved a batch task that took 11 hours to complete and reduced it to about 5s of work by looking up a paper on bitemporal indexes. The reactions ranged from "You are awesome!" to "You red a... paper????" to "No, we can't have this, this is super advanced code and it surely must have bugs. Can't you find an open source library that implements this?"