Programming algorithms vs. Buying

AI Thread Summary
The discussion centers on the decision-making process between programming algorithms in-house versus purchasing them from libraries, particularly for complex algorithms requiring advanced mathematical functions. It highlights the advantages of buying, such as cost-effectiveness, time savings, and access to verified, accurate algorithms. A specific example is given with the Numerical Algorithm group, which charges $3,000 annually for unlimited downloads. Participants emphasize the importance of evaluating the total costs associated with building versus buying, including not just programmer salaries but also additional overheads like benefits and integration costs.However, there are scenarios where building in-house may be preferable, particularly if existing libraries do not meet specific needs, require significant adaptation, or are of questionable quality. The criticality of the functionality in question plays a significant role in this decision. Ultimately, the choice hinges on the importance of the algorithm to the business's operations and the potential advantages of maintaining proprietary solutions.
Schastain1
Messages
2
Reaction score
0
I'm an IT consultant and would like to ask for opinions. Do you think it is smarter to program algorithms or buy them from a library? Especially for complicated algorithms involving higher math functions. Some libraries charge a flat rate with unlimited downloads, they check their algorithms for accuracy, and help the programmer add the code. I would especially like to hear from anyone with actual experience making this choice. Thanks!
 
Technology news on Phys.org
For example of a library service, the Numerical Algorithm group charges $3000 for unlimited downloads per year, but any opinions of libraries will be welcome.
 
At your company, who's doing the actual programming? You might want to consider asking the programming team if the libraries offered by the library service include the functionality that the programming team is looking for. Once a library has been downloaded, do you "own" it, or is there a licensing fee if a particular library is to be used in a commerical product? Do the libraries have "expiration dates" and if so, what happens if the library service goes away?
 
This is the canonical build/buy decision. Usually it's better to buy rather than build. That $3000 per year: That's just a week or so of one programmer's time. You need to count all of the costs when looking at the build cost, not just the programmer's salary. In addition to the programmer's salary, you have to pay the employer's share of Social Security, health care and retirement, ... There are lots of costs beyond salary that need to be taken into account when weighing build versus buy.

It's not always better to buy. There are times when it is better to build in-house. You've done your due diligence, and found that there just isn't anything else out there that does what you want. Suppose you have found something, but you have to look at that something cross-eyed to make it look like a fit. It isn't really what you want, and cannot be easily adapted. Or perhaps there are problems with the quality of that external product. Or the product cost is so ridiculously high that reverse engineering is cheaper. Or integration costs outweigh the cost of just building in-house.
 
How complex is the functionality and more importantly, how badly do you need that functionality?

This is just adding to what D H said above, but ultimately it's going to depend on how bad you want something and how that something is useful for what you do.

If something is critical to what someone needs to do then they will probably want to buy it unless they have some sort of specific advantage of developing that and maintaining it in-house.

Everyone has some sort of advantage in some way and to a large extent it dictates (or should anyway) their focus for what they do and their strength, but you have to at som point make a trade-off and decide that it's either important to what you do or it isn't and at that point the decision becomes a lot easier to make.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top