Published Apr 8, 2024
How Celigo leverages AI in engineering
The rapid advancement of artificial intelligence (AI) is revolutionizing industries worldwide, transforming our methodologies for problem-solving and innovation. This digital transformation is particularly evident in product development, where AI’s potential to enhance both methodologies and outcomes is accumulating significant attention.
In this post, we discuss how Celigo is at the forefront of integrating AI into our product development workflows, setting a benchmark for technological innovation.
Driving technological advancement through AI
Celigo is a leader in tech innovation, deeply committed to leveraging AI’s power. We’ve invested heavily in top AI technologies like Enterprise OpenAI, ChatGPT Enterprise, and GitHub Copilot for Business, showing our strong belief in AI’s ability to transform. These technologies are crucial for empowering our teams and improving our products.
Facilitating developer excellence with GitHub Copilot
One key strategy we’ve employed is empowering our developers with GitHub Copilot. We’ve actively promoted its adoption through various initiatives, including “lunch and learn” sessions, QA discussions, and specialized training programs.
GitHub Copilot has proven invaluable. It automates routine coding tasks and unit tests, thereby boosting productivity and fostering innovation among our developers.
After the GitHub Copilot chat, GitHub has released the enterprise version, which we have adopted. It has promising features like personalized chat with your codebase, Pull request summaries, and documentation search and summaries.
Below is the telemetry from Github on our usage. We have started reaping the benefits, with 60% of our engineering team adopting this and a total of 44,438 LOC accepted from GitHub copilot.
Innovating with AI-powered code reviews
Recognizing the vast potential of AI to contribute to knowledge, we’ve integrated AI-powered code reviews into our Continuous Integration (CI) pipeline. By leveraging the OpenAI API, we initiate code reviews that provide insightful feedback to developers via email and Slack channels, streamlining the review process while ensuring high-quality code standards.
We’re using AI to evaluate code complexity and rate the quality of each PR, treating AI as an unbiased judge. This method leverages AI’s access to vast datasets, providing insights and analysis that were not possible before. The flow below is integrated into our CI Pipeline, with the OpenAI code review kicking off the process as soon as a developer submits a PR.
AI chatbots
Our enterprise is at the forefront of AI advancements, notably in our deployment of AI chatbots that leverage Retrieval-Augmented Generation (RAG) for conducting deep semantic searches across a wide array of data sources. We employ OpenAI to generate embeddings, which are then stored in the Pinecone vector database, optimizing our chatbots for semantic search capabilities.
A notable innovation is our AI chatbot tailored for DevOps teams, which amalgamates data from diverse sources, including Jira, New Relic, GitHub, PagerDuty, and Splunk. This integration equips it to deliver detailed insights and support swift problem-solving. The utilization of RAG technology enables the chatbot to interpret complex questions and retrieve accurate data, thereby enhancing efficiency and streamlining operational processes.
Our approach not only highlights our dedication to incorporating AI into engineering but also underlines our skill in developing technologies that markedly boost operational productivity.
CustomGPT: A repository of engineering knowledge
We’ve made a big leap with CustomGPT, utilizing our extensive library of internal documents to simplify how our team accesses engineering information. This includes everything from onboarding materials and product guides to technical drawings and specs, turning it into a go-to source for all engineering knowledge.
Adopting ChatGPT enterprise to build our knowledge bases was an investment, but it’s proven to be worth it.
We’ve given pilot engineers access to ChatGPT enterprise, significantly improving their ability to pull information from various sources like Google Drive documents, onboarding materials, functional requirements, and technical designs. It’s essentially like having a helpful buddy ready to answer your questions.
AI-assisted QA and test automation
Our QA team uses CustomGPT to write test cases, drawing from the detailed info in our technical designs and requirements documents. This AI-assisted method helps us create detailed and effective test scenarios, as AI excels at identifying different testing areas and generating test cases with the right context.
Additionally, our automation team uses GitHub Copilot and ChatGPT to write code for test automation frameworks such as Selenium and Playwright. This demonstrates how AI can play a significant role in automating test processes.
Understanding Jira data: How AI helps in analysis
The integration of AI extends to our project management processes as well. By analyzing data from Jira with the ChatGPT data analysis plugin, we gain valuable insights into bug trends and problematic components.
This analysis helps us prioritize our efforts, focusing on areas with higher incidences of bugs, thus enhancing the reliability and quality of our products.
Measuring impact
As we integrate more AI tools into our development process, it’s crucial to understand their real impact. While we can fairly easily measure quality, gauging developer productivity is more complex. This complexity comes from multi-dimensional productivity involving both numbers and quality aspects.
One key advantage of integrating AI is the big boost it could give to the developer experience, leading to productivity gains. We’re experimenting with using AI to estimate the effort needed for our projects. We input our functional requirement documents and Epics, and AI provides consistent estimates based on complexity. We’re also comparing these AI estimates with our past ones to check accuracy. To really understand these benefits, we need a detailed approach, using a mix of productivity metrics to see how team efficiency improves.
While individual tools like GitHub Copilot and ChatGPT offer insights into user activity and code adoption, these data points lack the depth required to paint a complete picture. Therefore, a crucial step lies in developing a more comprehensive framework for evaluating the impact of AI on our engineering processes. This framework needs to capture both the tangible benefits, such as improved efficiency, and the intangible benefits, such as enhanced creativity and problem-solving capabilities.
Conclusion: Just the beginning
Our journey with AI in product development is only just beginning. As we continue to explore and integrate AI technologies, we remain committed to fostering an environment of innovation and excellence.
By embracing AI, we enhance our product development processes and set new standards for what is possible in engineering. Celigo’s story is one of continuous evolution, and AI plays a pivotal role in shaping our future.
About the Author
Rama Rao Kuppanadi is a Senior Director of Engineering at Celigo, where he is leading the cloud-native transformation of the company’s iPaaS platform. He has a proven track record of developing and transitioning cloud-native SaaS products.
With deep expertise in platform engineering, infrastructure, product security, and DevSecOps/SRE, he is also skilled in building and nurturing engineering teams, forging collaborations, and crafting unified visions and roadmaps. A strong advocate for quality and security, Rama emphasizes shift-left and security-first practices to embed these priorities early in the development process.