The BC Platforms´ R&D develops state-of-the-art software platforms both for Personalized Medicine and Discovery & Research platform needs.
Personalized Medicine Platform Team's mission is to develop state-of-the-art software platform realizing the potential of personalized care. The team uses latest technologies and methods in software development and maintains a strong focus on software quality, whilst nurturing innovation. Our team works in cooperation with BC Platforms Customer Success team, our customers, and industry-leading cloud vendors and life scientists. In addition, the team follows the newest trends and technologies inside the multidisciplinary field of bioinformatics, genomic data processing and interpretation, with the goal of bringing genomics into daily patient care.
Research & Discovery Platform Team focuses on delivering cutting edge clinical and genomic research environments, integrated to the supporting structures of the Customer. Our aim is to enable our end users to design and execute the most sophisticated population level, and epidemiological study scenarios. Our software modules provide highly granular access, data, and analysis management in environments with strictest security and performance requirements, covering hospital data, clinical studies, high volume genomic data, and other biomarker data. These are coupled with sophisticated and secure analytics workflows with configurable calculation capacity and resources. Our end-users demand ease-of-use, short learning curves, and high flexibility for their workflows.

Technology Blog - Part 1: Monis and the take on Feature Flags
Hi!
My name is Monis Amjad, and I work as Lead Software Developer at BC Platforms. I have been working under the umbrella of software development since 2008. I'm a father of two and a life-long learner who seeks adventures wherever I go. At BC Platforms, we often exchange variety of topics about Technology and the way of working in Software Development. For me, I’m particularly interested in the usage of Feature Flags. To manage different features of applications, we use feature flagging in delivering and deploying applications, continuously and smoothly, to the customers.
Feature Flagging is a technique of adding configuration in the application to hide certain features easily and effectively.
Of course, the technique can be used for many different purposes but the main idea is to make sure certain features are only available to certain customers, environments or domains whenever we want. Moreover, it can be turned on and off easily and effectively without needing to spend much time. The way of implementation can be done so by adding a condition on the top level component of the application or on the place where feature call to action is visible. This way the developed feature can be hidden on the respective environment or from customer.
Why we use Feature Flags in our daily work? It is because of the important role it can take upon complex scenarios. As a developer one should consider adding feature flag in consideration of:
- It helps in deploying new features to production in smaller batches.
- It is helpful in toggling features on and off to certain users.
- It helps in achieving Continuous Delivery.
- It reduces risk by allowing controlled testing.
- It kind of separates features delivery from launch.
What about when to not use Feature Flags? I'm sure there are cases where the utilisation just does not add up. Or let's say we don’t use it in our team. Cases such as:
- Small UI changes or Styling changes. It could be done for enabling and disabling different themes.
- If features are implemented in such a way that those conditions are placed in many places in the codebase.
As the Lead Software Developer here in BC Platforms, part of my job is to view the development process as its whole and recognise the usage of techniques that would help our team achieve the best possible results. I would recommend implementing Feature Flags but with a few questions to keep in mind before taking the technique into use, for example: When one is adding a feature flag, should think and ask if the feature flag is needed? And how should it be implemented so that it doesn’t require entries in many different places?
More to come on the subject of Feature Flags from Monis in our next blog contents here at our career site. Sounds interesting? Join the conversation with Monis and fellow developers by applying to become part of the team!