

What specific problems are lots of programmers solving over and over again? - Skeletor

I'm working on a web based medical billing code search engine for my software start-up that will let users search for ICD-9 (and related ICD-10, clinical codes) medical codes used in medical diagnoses and medical billing.&#60;p&#62;The problem with building the data files for the search is that the Center for Disease Control only releases the file in .rtf Rich Text Format files that are ok for printing and reading, but difficult to programatically load into a database.&#60;p&#62;There are a few existing ICD-9 search engines out there and I know dozens of other programming teams have tackled this problem for every crappy practice management system on the market. But due to the nature of the field things are very closed and no one has released their data publicly or released code to parse these .rtf files or a repository for the data. The reason is that each company sees the X amount of hours they put into parsing these files into database data as a barrier to entry for competitors.&#60;p&#62;What other types of specific programming problems due programmers keep solving over and over again, and how do you break the vicious cycle and be the first person to release data or a solution? Or is it ever worth breaking this cycle and releasing your solution and making it easier for competitors? How do you profit or benefit from releasing a solution for a problem like this?
======
njharman
Even when things are released there is often duplication.

The biggest "problem" is code reuse. Everyone's problem/skills(i.e. ability to
understand & trust particular solution)/infrastructure(e.g. needs to run on
cell phone vs we gots Big Table) are slightly or massively different. We as a
profession still struggle to abstract things correctly so they can be reused.

It's best to not to have a solution or have a partial solution and convince
your industry to work on it together thus distributing the costs and benefits.
This is commonly practiced as standards and open source.

Another situation were it is good to release solution you paid to build is if
there are high maintenance costs associated with that solution. Others will be
incentivized to use (and thus share maintenance costs) your solution. You will
have "lost" the initial development cost but save on maintenance and there are
multiple fringe benefits (publicity, good will, control/influence).

It sounds like the ICD things have low maintenance costs, creates a barrier to
entry for competitors and is fundamental to medical billing and thus seen as a
core competitive advantage. All factors that discourage openness.

Should sell directly or spin off company to sell libs/software/translation
service of the ICD. When you recoup costs and/or sales decline open source it.

~~~
Skeletor
I think your analysis is correct. I'm kind of torn between the business person
in me telling me to find a good solution and use it as an advantage and the
programmer in me that hates anyone duplicating work needlessly.

------
stevedekorte
Almost every C project re-implements some of the same basic data structures
and algorithms (strings, lists, arrays, queues, hash tables, trees, unicode,
etc). It's remarkable these haven't been standardized yet and it doesn't
appear that the C++ standard template lib has solved the problem.

~~~
Skeletor
At least in that space at such a low level, there are many existing products
people could choose to use if they wanted to. There are no existing free open
source projects that solve this problem (and there are other problems where
market forces seem to prevent a good common solution from coming about.)

So if you are a C/C++ programmer you have the option to use someone else's low
level data structure implementation you can use the STL or tons of open source
projects (GLib, Boost).

But just as programmer's love to avoid work and re-use code, they also love to
reinvent the wheel which we are all free to do. However, if you were a start-
up founder and you insisted on reimplementing low level data structure
libraries for your product I don't think your company would last long (unless
that is your hobby.)

