I’m thrilled to announce the launch of two products: CodiumAI IDE Extensions [beta], and CodiumAI the company 🚀🚀
As the CEO and co-founder of CodiumAI, in this post, I will share my views on the future of software development and CodiumAI’s role in it.
First, I’d like to thank, and take a moment to appreciate, our first 1,000+ active users who have been using our alpha version over the last few weeks. They have been providing us with invaluable feedback!
Second, I will share my thoughts on why I think that “CodiumAI the company” is also a product in a way:
CodiumAI is a software research and development company – our mission is to simplify code integrity, empowering developers to code with confidence. The driving force behind the company is our highly motivated and professional team.
The team you build is the company you build, not the plan you make
While we are building tools for developers, we are also building our culture, our team, our processes, etc… From day one we’ve decided to make these the highest priority.
The Future of Software Development
With the ever-growing demand for software solutions, lack of developers, and the need to improve development velocity there is a clear necessity for further automation and improvement of software development tools and processes.
Fortunately, the software development world is experiencing a pivotal moment.
A year ago, I wrote an article (link) about Software 3.0 and how large-language-models will enable a new generation of developer tools.
Then ChatGPT happened.
Actually, GitHub Copilot came out a year before ChatGPT, and already felt magical to many developers. But ChatGPT feels like a game changer. ChatGPT is open on the second screen of many developers and creators world-wide.
This did an amazing job at educating the market and developers are now open to trying new AI-empowered dev tools. Many are even actively searching for these tools.
A short personal story:
During the ideation process prior to founding CodiumAI, several R&D managers told me something in the spirit of: “I won’t let your silly AI get close to my code”.
And then, a few weeks after ChatGPT burst into the free world and created a tidal wave, the same managers came back and said they would like to try out the product we are now building.
So, with all these new code generation and suggestion tools, developers are now creating even more code, faster, and this trend is only expected to grow.
The end of programming as we know it
Moreover, 6 technologies are in the works and will very likely mature within the next 3 years, further increasing LLM-empowered systems and products capabilities.
(related blog link, reviewed by fantastic people from DeepMind, OpenAI and more)
AI is going to empower developers in every aspect of their work.
The process of programming is going to look very different than it is today.
Some even say that programming languages are going to evolve.
In this new brave world of intelligent software development, there is one very important missing piece… actually an enabler.
More creators, more code,… what about better code?
So developers will have dozens of code generation tools, and they will probably learn to use these better and with more regularity.
GitHub CEO, Thomas Dohmke, shared that GitHub Copilot is behind an average of 46% of a developers’ code across all programming languages.
In a 1-on-1 meeting I had with Thomas recently, we talked about these numbers and their meaning. Apparently, a lot of the developers’ code, at the function and class level, are roughly duplicates of publicly available code, with estimates ranging up to 80%. The rest 20%, including the delicate changes from the closest duplication, is what makes the code components and applications unique and valuable!
The code generators are doing the developers a big favor, and suggesting chunks of boilerplate code. Then, developers refine, adjust, add to it and make work.
Side note: for relatively trivial cases, code generators can actually produce 99% working code.
E.g. even a non-programmer can build some simple website or game that doesn’t require any real modifications to code that exists exactly as-needed in open-source projects.
Ultimately, does this new process end with better quality code? Does the code logically work as intended? And does this answer vary for different levels/types of developers?
Software of questionable quality cost US companies alone $2.08 trillion in 2020 (link).
Code Generation tools won’t solve it, they are not designed (ML-wise, tech-stack-wise and UX/UI-wise) to tackle the pain of code-level testing.
This huge problem deserves a dedicated product (and a designated large-language-model!).
In a brief 1-on-1 discussion I had with Sam Altman earlier this year, we mostly discussed the importance of fine-tuning foundation models like GPT for domain specific tasks, such as the ones we tackle at CodiumAI.
From Insight-Partners very recent blog (link):
“Developer productivity: We see significant opportunities in the creation of coding automation tools that accelerate the delivery, development, and testing of software code. Developers spend hours per day on debugging and test/build cycles which computer-generated code and code-review tools can significantly reduce. An estimated $61B can be saved per year from these tools in reduced inefficiencies and costs for software development.”
Code-level testing is broken
After talking to many developers on the subject matter throughout my career, and especially since the inception of CodiumAI, I have realized the following:
Developers, roughly speaking, divide into two groups:
1. Do not write and run code-level testing, since they hate it
2. Write and run code-level testing, but hate it 🙁
As a developer, writing your application code is creative and exciting.
But writing and running tests is usually a tedious and even frustrating task.
It doesn’t have to be this way anymore!
Yes, at CodiumAI we want to help developers to be less frustrated and stop the test hate 🙂
Opportunity to redefine and reinvent Code Integrity
It is time to redefine what code-level testing means and disrupt the plethora of tools available for developers to check their code behavior.
I will start by quoting one of the VPs of R&D we interviewed a while back (a finance unicorn startup… that is still a unicorn in 2023):
“I instruct my team to check the quality of our code-level testing with the Code Coverage metric, although I know it is a proxy metric or worse, a vanity metric. This is the best I have!”
Code Integrity to the rescue.
Wiki definition for Code Integrity (link):
1. “Code integrity is a measurement used in the software delivery lifecycle. It measures how high the source code’s quality is when it is passed on to QA, and is affected by how thoroughly the code was processed by correctness-checking processes (whether manual or automatic). Examples for such correctness-checking processes can be unit testing…”
2. “With code integrity, the developer can be sure that his/her code is written correctly when passed on to QA”.
In other words, Code Integrity is about developers’ confidence in the correctness of their code.
Read more about it in our blog post (link) “Tests are not enough – Why code integrity matters?”
Your Code Integrity Agent
This brings us back to the purpose of this blog:
Today, we officially announce the open-beta release of our IDE Extension in VS Code as well as JetBrains IDEs! With these extensions, busy developers can generate meaningful tests, in an interactive manner inside their IDE.
To be fair, we weren’t really hiding behind the curtain until now.
We already soft-launched a closed-alpha a few weeks ago for Python developers.
Thanks to our first 1000+ active users, we’ve learned a lot about what works and what not, and improved iteratively. By the way, I invite you to join our discord server (link), we would love to hear from you!
Watch this excellent 4min video, where the developer Nicolas Carlo (linkedin) uses CodiumAI to generate tests for the Gilded Rose refactoring kata in TypeScript: CodiumAI to write tests on Gilded Rose
CodiumAI works essentially like a pro developer would — initially reviewing and understanding the code structure and desired functionality, while also considering metadata such as code comments, and then it generates meaningful tests, aiming at providing high-quality code coverage.
Importantly, CodiumAI interactively reacts to the guidance given to it by its user.
The technology behind this process involves static-code-analysis methods, and AI large-language-models (TestGPT-1) for both the analysis and generative sub-processes.
In the future, CodiumAI will be more than an IDE extension (with a cloud backend) and will include advanced code integrity features and capabilities that would enable team collaboration and enterprise adoption.
My partner and CPO, Dedy Kredo, believes that such features may include test and test data management, CI/CD integration, auto-fixing of bugs, and the enablement of next-generation, test-driven development.
I am counting on Dedy and our incredible team to develop fast with confidence (as we are dogfooding with our own product). Sooner than later, CodiumAI will offer a powerful Code Integrity agent working on behalf, and for, the developer and the entire dev team, first inside the IDE, and then as part of the CI/CD and in production!
CodiumAI will leverage the application’s code, documentation, and data to generate spec-oriented tests and code analysis capabilities related to the broadest scope of Code Integrity.
A word about the spec-oriented tests. We believe that efficiently enabling spec-driven-development (SDD) is a game changer for the software development world.
Efficient SDD tools and processes will enable developers to easily create executable specifications, either while they are writing their code or prior to code implementation, as well as later on, identifying code issues during the CI/CD processes, and eventually in production.
At CodiumAI we advocate for SDD.
CodiumAI is creating an intelligent software development world, by streamlining software designing, programming and testing, thus practically working on enabling SDD.
Such a future can only be enabled thanks to recent and near-future AI technological advances.
CodiumAI seed funding
A big thank you to our incredible co-lead investors, Vine Ventures (our director: Daniel Povitsky) and TLV Partners (our director: Brian Sack), and our wonderful angel investors (18 in numbers!), for believing in us and our vision.
Why do we need the money at all?
1. We will recruit additional team members for a variety of positions, skills and backgrounds.
2. We have huge plans for our TestGPT-2. In general, I haven’t said much about our TestGPT. We are building our solution and model based on OpenAI foundation models. We aim to share more details this year when the time comes. The investment is both in data creation and curation, and training models.
3. We plan to keep a free version for developers, creating a product-lead-adoption. Later on this year will create a team offering.
At CodiumAI, our vision is to create an intelligent software development world where developers can innovate fast and with confidence.
Today was our official launch and first announcement.
We are just beginning, and we are very excited because we believe we can make a huge impact by helping almost every company on the planet. After all, software is eating the world, but currently doing so with huge inefficiencies and inequalities.
Our first mission is to simplify code integrity – we believe it is a key factor in enabling the brave new world of intelligent software development that any creator can enjoy.
We are here for you, the developer, the development team, and the development manager – and we would love to hear from you.