In the ever-evolving landscape of technology, research and development (R&D) plays a pivotal role in driving innovation, pushing the boundaries of knowledge, and shaping the future of industries. R&D is the heart of organizations that innovate, explore, and create, and it is the engine behind breakthroughs that change the way we live and work.
In this interview, we’ll delve into the world of R&D with Paweł Parol, the leader of one of the R&D teams at CodiLime.
What is R&D? Why do we need it?
Paweł Parol: Well, in short, R&D stands for research and development. This term generally refers to different activities that organizations undertake to innovate, create new knowledge, improve their products or services, find new approaches for doing certain things, optimize existing processes, solve complex problems, etc. The research phase is more oriented toward acquiring knowledge, exploring new ideas, and expanding the existing state of the art. Sometimes it can be a long-term process. The findings obtained during research can often serve as the foundation for the development phase, which aims to turn the gathered knowledge and insights into something practical and tangible, like a prototype of a new product, service, or process.
The balance between these two phases may vary depending on many factors, like the nature of the problem, the project’s goals, or the company's particular needs at a given time. Nevertheless, R&D is an important component of an organization's strategy for staying competitive and relevant in the market.
At this point, we want you also to encourage you to check our R&D services.
What is the role of R&D in modern IT organizations? Why do they need this function?
PP: As is commonly known, the IT industry is very dynamic. It is characterized by rapid changes in both technology trends and customer preferences. This situation creates huge challenges for companies because they constantly have to be up to date and keep up with the pace set by others. The recent explosion of interest in generative AI, such as ChatGPT, is a good example of this phenomenon.
On the other hand, it is also an opportunity to be creative and thus influence the development of trends. An organization can gain a competitive advantage by being the first to market with innovative solutions. In the real world, of course, you are not always a pioneer, but if you at least absorb relatively quickly the most promising trends, technologies, approaches, and methodologies in the tech domain, you are on the way to building a strong position in the market.
Of course, this is a somewhat simplified view of the matter. Underneath, it is a slightly more complicated and multi-faceted issue. However, this is more or less the general mechanism. But to follow this path, you need to have the right attitude, a vision of how you want to do it, and gather the right people with the right mindset. In short, you need an R&D team.
Research and development is certainly an important activity at CodiLime. Can you explain the role and purpose of the R&D team?
PP: I believe every company should build its own culture of innovation. Codilime has its own. It is quite specific because we are primarily a service-oriented company. We have highly qualified, top engineers on board who help our clients develop their products, solve demanding problems, and consult on challenging projects every day.
Therefore, our company profile largely determines how we innovate and how our R&D team works daily. Our R&D activities focus on demonstrating to our future customers that CodiLime is the partner they need. Firstly, that we have an advanced skill set resulting from many years of experience in our technical domains.
And secondly, that we are able to think outside the box and create innovative, smart solutions. This is primarily achieved through all types of PoC-like solutions developed by our R&D teams. What makes them stand out? One technology or another does not usually play a major role in our demos. Rather, we want to show how many emerging technologies can be combined into a larger whole. This is something we do well and where the main strength of our innovations lies.
Is there a process that the R&D team follows when initiating a new project or research endeavor?
PP: The process is not always uniform and cannot be replicated based on a ready-made procedure in each case. In fact, it is difficult to talk about a process in the strict sense here. But to answer this question, I will try to give you some insight into the individual activities we undertake.
We usually start by looking for an interesting problem to solve. But it doesn't always have to be a specific problem. You can start by identifying the technical areas that seem important to you at the given moment and look for interesting issues at the intersections of these areas. I admit that we like this kind of challenge the most. In general, this is quite a difficult task because you have to look at the potential topics from different angles, taking into account various criteria such as how reasonable a given idea seems to be, whether it is applicable, how much effort it requires, what business potential it may have, etc.
Next, we deepen our insight through more detailed research and come up with particular concepts that we ultimately develop into proposed solution architecture outlines.
The last step is an implementation phase aiming to demonstrate a validated proof of concept. Afterward, we reveal the results during webinars or in articles on the CodiLime blog. This is because we want to share our findings with the industry and present the PoC that has been created to a broader audience.
How do R&D teams collaborate with other entities within Codilime?
PP: The ideas for topics for new R&D projects are sometimes inspired by real problems or the needs of our clients. If it is a technical problem, likely to occur in other situations, and is not project-specific, we get to know about it through regular interactions with the CodiLime engineering teams who work closely with our customers. This cooperation is actually quite extensive. It sometimes happens that R&D members participate in conversations with current customers about additional services that our company could offer them.
R&D teams also support our sales team, for example, by participating in discovery calls with potential customers. So, as you can see, there are a lot of internal interactions, and they happen frequently. We attach great importance to this in CodiLime. We are practitioners, so it is important to us that the activities of our R&D teams are not separate from what the company does and how it does it.
Looking back over the past year, what are some significant projects or achievements the R&D team has accomplished?
PP: As we all know, we have been seeing a real explosion of interest in artificial intelligence. It won't be a big surprise if I say that this fact has significantly impacted our decisions regarding the selection of topics for potential R&D projects over recent months.
We wanted to show how to effectively use AI/ML methods and tools in technical domains where CodiLime positions itself as an expert, such as networks and clouds. One such project was about using machine learning methods for the proactive detection of network overload . The idea was to build a traffic flow forecasting model for IP core networks together with an analytical tool that detects congestion in the network, taking into account various potential failure scenarios and network resiliency levels. Using such analytics, it is possible to support operations teams to mitigate the negative effects of network failures.
Another project concerned AI/ML-powered scheduling in Kubernetes. The idea was to show that the K8s scheduler can make more optimal decisions about the distribution of workloads in the cluster if it learns the seasonal patterns of computing resource utilization by the workloads.
However, the PoC setups mentioned above were not the only type of activities we have undertaken. We have also created interesting syntheses (in the form of e-books or blog posts) presenting AI/ML methods applicable to networks or describing available solutions for application networking in Kubernetes.
Here you can download the AI and Machine Learning for Networks Ebook and the Application Networking in Kubernetes Ebook.
And finally, let’s talk about the future. What are the most important trends in the tech domains that, at CodiLime, we define as N.E.E.D.S?
PP: In my opinion, we should still expect an ongoing interest in AI techniques, actually in all tech domains that are part of the IT industry; including the ones CodiLime has the greatest focus on, such as networks, clouds, observability, security, hardware acceleration and offloading, etc. Internally, we refer to them as N.E.E.D.S. or network, equipment, environment, data and security. Today, AI seems to be a plane that cuts across all other domains. Everyone looks for appropriate ways to use it effectively in the given area. This could be, for instance, finding space for introducing different sorts of chatbots coupled with LLM models but also building dedicated models using other machine learning techniques. This trend seems to be a long-term process that is accelerating. It may evolve into different forms and have many faces, but today it is unlikely that AI is a temporary hype that will fade away.
What other trends can we expect? I suppose the need for using various forms of automation will constantly grow. This applies to both infrastructure and application deployment. Also, the X-Ops philosophy (represented by numerous approaches such as GitOps, DevSecOps, MLOps, QAOps, etc.), when we talk about how the solutions are built and delivered, will probably be used more and we will experience it more and more in our daily work.
Another trend may be an ongoing interest in approaches such as containerization, serverless, cloud-native, microservices, etc. regarding application deployment, with increasing emphasis on providing effective observability solutions.
Finally, since processing large amounts of data is something of a new gold rush today, there is a need for solutions that bring better performance and better data flow management. Therefore, you should expect more common use of dedicated hardware such as GPUs, SmartNICs, or DPUs which can help optimize your data flows.
So these are my guesses. We'll see what happens…
Paweł Parol, Solutions Architect, leading one of the R&D teams at CodiLime
Paweł is a solutions architect with many years of experience in the telco/IT industry. He is an experienced engineer who has worked on both operational and research projects throughout his career. His main areas of interest include cloud architecture, Kubernetes, cloud-native solutions, SDN, and virtual networks. Currently, he is leading one of the R&D teams at CodiLime. Together with his team, he creates innovative PoCs that integrate many emerging technologies into larger solutions.