I am Eban Escott, the founder of Codebots, a tool used by software engineers worldwide. Today, one of our favourite days of the year, we launched a new product into the market called Generate. This blog details what this code generation tool offers and a short history so you can get to know us better.
We are currently on a mission to take model-driven engineering (MDE) out of its current winter, and heat up this space with a series of products that give control back to software engineers.
You can now generate a full-stack C#/React application shaving weeks off your development time! It is packed with plenty of options like REST, GraphQL, Docker, and heaps more.
We love MDE. And we love AI. By combining MDE and AI together, we are addressing some of the grand challenges faced by MDE. We will dive deeper into this on some upcoming posts, but first up, let’s look at the Codebots story so you can get to know us better and where we sit in the market.
The story of Codebots
I am a software engineer. I love to code. After 20+ years coding, I have seen the good and the bad that our industry has produced. In 2009, in my mid 30’s, I returned to University to study my PhD and work in the MDE field. I believe it is the best hope for our industry to make order of magnitude improvements.
After completing my PhD in 2013, I founded a software development company and began the commercialisation of my research thesis. We used the ideas on many real world customers and learned many lessons. From large Department of Defence projects through to startups spinning out their first MVP’s, we gathered data to support the hypothesis.
The results showed that an average of 93% of an application’s source code could be written by a codebot, the other 7% by a software engineer. This resulted in a huge saving at the start of a project. Our data showed that a team using a codebot would complete 8 weeks of work in just 1 week. Then once the initial project setup phase settled, the overall saving on time was between 20% and 30%. The numbers are positive.
In 2017, I founded Codebots and we began work on the platform that would make the bots available to software engineers around the world. This was no small undertaking and we released some beta versions and then the first production version at the beginning of 2020. We received lots of feedback from software developers, both positive and negative. For me, both were healthy to hear.
The product we went to market with, called Iterate, uses the concept of protected regions. A developer can write code in a protected region and the next time the code generator is run, what is written inside the protected region is preserved. This worked well but if developers cannot modify what is outside the protected regions, they were unhappy as they lost control. They also felt that this changed their way of working and therefore carried too much risk. Others were happy to defer some of this control and use the product as is. After all, huge savings could be made with a little sacrifice.
To address some of this feedback, we launched Generate. The feedback that developers ultimately want control of their source code is fulfilled by using a one-off code generator. They are freed from protected regions and can refactor the code however they like. But the drawback is that they cannot come back at a later point in time and feel some of the bigger benefits of MDE, like mass code changes propagated based on changes in the model.
The next part of the Codebots story is exciting and I touch on some of the upcoming work towards the end of this post.
Where does Generate sit in the market?
Generate is made for software engineers who want to get a quick head start on their applications. This includes software engineers working inside agencies through to freelancers and students working on greenfield projects.
But I have found that to explain where we sit in the market, it helps to explain what we are not.
Why we are NOT no-code?
No-code platforms are aimed at organisations that want to avoid hiring software engineers. They want to build an application to solve a business problem. And usually, the problem is a common problem faced by many businesses.
A no-code platform is like an off-the-shelf application. It will provide powerful functionality that helps solve the business case. But, it will have only limited customisations on offer. For a lot of businesses, this is all they need and the price point is low so it is a feasible option to use.
No-code platforms never let you own the source code (none that I have seen anyway). So, without access to the source code, software developers will not use a no-code platform for an application they need to custom build.
Why we are NOT low-code?
Low-code platforms are aimed at citizen developers. A citizen developer is technically savvy and usually an expert in the business domain. Low-code platforms may give the developer access to the source code (at a price) but they are notorious for poor code quality.
I have been asked many times if we are a low-code platform and some times I just let this one pass as this buzz word is getting a lot of attention at the moment. A lot of large enterprises are adopting them at the moment as the CTO can dictate low-code platforms within the wider company. As you come down in organisation size, there are not many small and medium organisations using them. Vendor lock-in, pricing, source code ownership, code quality, are just some of the reasons why.
With these differences in mind, Codebots sets itself apart by providing developers access to high-quality, readable source code that’s easily customisable to your needs.
What are we working on next?
Now that we have launched Generate into the market. What are we working on next?
1. Visual Studio Code and other IDE’s
Visual Studio Code is arguably the most popular IDE. According to Stack Overflows 2019 survey, it came in first place with a majority (50.7%) of all respondents using it. VS Code has a marketplace where lots of useful tools can be found. Now including Codebots!
One of the next steps is for us to continue to develop integrations with VS Code to streamline the development workflow even further.
We are also investigating other marketplaces within IDE’s. For example, both JetBrains and Eclipse marketplaces are very popular. Watch this space for more.
2. Better integrations with OpenAPI compliant interfaces
Everyone is doing it. The OpenAPI is now the defacto standard for web API’s and its popularity is well deserved. On the front lines, software engineers are integrating systems through OpenAPI’s and it can take significant time out of a developers day writing this code.
Now imagine being able to point a codebot at any OpenAPI, the bit would reverse engineer the OpenAPI into a model and then generate an entire SDK ready for you to start integrating with your custom code. That would save days if not weeks of development.
We currently have the reverse engineering to the models working nicely and we are working on the code generation and platform UX at the moment. This one should be ready in the next couple of months.
3. Create your own codebot
The holy grail for us is for you to create your own codebot. Then allow you to teach that codebot to code in whatever technology stack and coding style you want. How cool would that be!
It boggles the mind a little when you start to think about this. How do you teach a bot to code? What input can you specify? What can it write? How does this affect your current way of working? So many questions … and the possibilities if this works are endless.
It is our goal to have an Alpha version of this ready in 2021. If you are interested in being involved on the initial user testing, please drop me an email at [email protected]
To me, MDE is the most powerful concept that we have available to use as software engineers. AI is awesome, but it is useful in only some situations, MDE on the other-hand, can be applied to any software engineering project and many benefits can be obtained.
We are excited to expand out our product offering to include a Generate option. This allows software engineers to generate a one-off C#/React project and get a huge head start. The price point is affordable for freelancers, students and others working in industry. With no vendor lock-in, you own the source code and you have the control to refactor and evolve the code however you like.
We are hoping that we can have more of the MDE community using our products and we invite you to jump on and give them a go. For the next month, here is a 50% discount voucher for readers of modelling languages. Or book a demo if this has expired and we can show you it in action. May the 4th be with you!