Knowledge

14 Jan 2021 Back to all articles ↵

Scientific software optimization

#business #rse

Cutting‑edge products require cutting‑edge technology. If your offer relies heavily on recent research, then you might have already experienced the challenges of converting scientific results into rock‑solid software.

At Fibertide, we specialize in optimizing software whose complexity does not stem from business logic, but from underlying science. We don’t mind diving deep into research papers that enable your product, even if it requires us to gain new domain knowledge. We’ve had great success with quickly learning relevant areas of different subjects - including biotechnology, insurance, sales and accounting, AI vision, and more. So we don’t get discouraged when working with you requires exploring realms that are new to us - in fact, we never give up.

Not all scientists are great programmers, and source code samples that come with research results are frequently of poor quality. Various studies have proven a low reproducibility rate for computational research results [1], [2]. Programs that accompany papers often miss documentation, do not handle edge cases well, work slowly on large datasets due to a suboptimal choice of algorithms, or are difficult to maintain - which is understandable, as the researcher’s focus isn’t on delivering production‑grade software.

Depending on your business priorities, improving the quality of experimental software may involve various steps. Most urgently needed enhancements usually include an overall architectural redesign and analysis and replacement of algorithms used for computational performance. Our team’s successful participation in numerous algorithmic contests proves our skills in this area. Besides mathematical improvements, low‑level technical adjustments can often yield huge gains in processing speed and cost, especially when working with large volumes of data, so we pay close attention to fine‑tuning everything possible.

We typically work in either of the following modes:

  • As science‑oriented software engineers. We can implement, optimize and maintain both full products and their components based on research results. After spending some time learning your field and business case, we work to convert scientific ideas into rock‑solid, cost‑efficient software; either complementing your developers’ efforts or preparing a stand‑alone product of your design.
  • As a bridge between software developers and science. We speak both, the languages of programmers and scientists, so if you already have researchers in your team, we can augment the communication between these two worlds by educating developers on the principles of the tools they implement. This approach also works great if your programmers are eager to build software on their own, but need some guidance on the best choice of architecture or need advice on opportunities for optimizations.

Our most ambitious project so far involved a complete redesign and thorough optimization of a high‑throughput biological data pipeline. Cooperating with our client’s research team, we have learned the fundamental principles used in these computations, identified all bottlenecks, rewrote various publicly available tools to better fit this specific purpose, orchestrated a fleet of servers in the cloud and fine‑tuned lots of technical aspects of the process - significantly boosting data processing cost‑efficiency to keep our client very competitive in their field.

If your business faces challenges of software based on research results, there are many ways we can help you. Get in touch with us, let’s have a chat about your case, and we’ll figure out how we can lend you our skills to boost your business.

Get in touch

We can be your team of problem solvers.
We'd love to hear from you.

If you would like to talk about how we can help you or have any questions, just leave us your e-mail or write to us directly at hello@fibertide.com.

We'll get back to you and guide you through.