- Development
- AI
A new generation of AI tools driving software development efficiency toward the future
November 18 — 2024
At Mirego, we've always been meticulous about selecting the right tools for digital product development. We firmly believe that exceptional products are built using best-in-class tools.
A key factor in our tooling decisions is the efficiency they bring to our workflow. Throughout the years, we've successfully delivered dozens of products by leveraging development tools that maximize efficiency, such as:
- Kotlin Multiplatform and React Native for multiplatform mobile development, preventing us from duplicating business logic or visual interface implementations;
- React, Ember.js and Phoenix Liveview for frontend web development, streamlining state management and component interactions;
- Ruby on Rails and Elixir for backend Web development, simplifying our database interactions (ORM), external content ingestion and data exposure through REST or GraphQL.
While these tools provide us with remarkable development efficiency, the robustness of our final products is equally crucial. We don't have to choose between efficiency and robustness; both are essential components of our development process.
To us, efficiency isn't about cutting corners to move faster—it's about accelerating development by focusing our efforts where they matter most, while maintaining the highest quality standards.
This vision drives our approach to every client project we undertake.
The next generation of tools at Mirego
The recent surge and democratization of LLMs and generative AI services has sparked a new generation of tools leveraging their advanced code comprehension and generation capabilities.
This new generation of tools features GitHub Copilot, Cursor, Avante, Zed, Continue and Aider, among others.
These tools share a common mission: leveraging generative AI to enhance development teams' efficiency in their day-to-day work, while maintaining the highest standards of quality and robustness.
This mission perfectly aligns with our vision for the future of software development and the efficiency we strive to achieve across all our projects.
✦ Mirego has committed to fast-tracking the implementation of AI-powered development tools across our entire client portfolio.
Obviously, before moving forward with this decision, we conducted a thorough assessment of all potential challenges and implications associated with it.
Risk assessment and mitigation
When implementing generative AI development tools, we must address two critical data-related challenges: one involving input data and the other concerning output data.
Input data
These tools, as part of their workflow, take existing code as input and send it to a generative AI service. While this raises no concerns for open-source project code, maintaining code confidentiality becomes an extremely important consideration for client projects.
Therefore, it is crucial to ensure these tools will never use the received code to train their models or store it in any way.
At Mirego, we maintain corporate subscriptions with GitHub, OpenAI and Anthropic, which guarantee this level of data protection.
For clients with specific code requirements (such as restricting external services to Canada only), we can implement locally-run LLMs that equally ensure this level of compliance.
Output data
When viewing these tools as mere code generation services, it's easy to identify potential concerns regarding quality (bugs), security, accessibility, and even legal implications. This is to be expected, as these tools aren't perfect.
At Mirego, these tools don't replace our development team members—they amplify their capabilities.
As our SDLC (software development lifecycle) processes remain firmly in place, no code segment in our projects is ever 'AI-written'. We can guarantee that every line of code is submitted by a developer—whether working with AI assistance or not—and undergoes our complete validation process: code reviews, static code analysis, vulnerability scans, automated test suites, and more.
Tangible results
Multiple studies by GitHub (1, 2, 3) and McKinsey demonstrate the clear benefits these tools bring to development team efficiency. Their findings indicate a 20% to 50% productivity increase in technical task completion when using generative AI tools.
Despite what some might assume or what marketing content would have us believe, these tools aren't magical solutions. Time must be invested in understanding how they work, experimenting with various techniques to optimize results, and mastering their capabilities. It's only when we master these tools that we can achieve optimal efficiency.
In practical terms, how does this efficiency manifest in our projects at Mirego?
Client project - Digital platform
As part of this client project's development, we leveraged GitHub Copilot to accelerate data modeling and generate automated tests from existing code.
Data modeling
GitHub Copilot's code generation capabilities drastically reduced the time needed to implement JSON code for a form rendering engine based on CSV specifications. After manually creating an initial JSON model from a specification sample, GitHub Copilot automatically handled up to 60% of the remaining modeling in seconds instead of the days it would have typically taken.
Unit test generation
Using existing test samples as a reference, GitHub Copilot generated automated tests to cover new code behavior. For example, 70% of the automated tests for a new feature were automatically generated based on existing feature tests, then validated by a development team member before being integrated into the project.
Internal project - BugBeam
In developing BugBeam, our internal QA team assistance tool, we used OpenAI's GPT-4 model to create a converter that transforms JIRA's proprietary format (Atlassian Document Format) into Markdown.
Using a simple format specification, approximately 200 lines of fully functional Kotlin code were generated and, after validation and testing, were integrated directly into the project.
Client project - La Ruche
For the redesign of La Ruche's website, a crowdfunding platform, one of our key objectives was to quickly understand, adapt, and evolve the existing codebase.
Our team's use of GitHub Copilot significantly contributed to reaching this goal. We went beyond basic usage and maximized its capabilities to:
- Accelerate platform evolution by rapidly developing code ownership;
- Minimize technical issues by identifying potential side effects during new feature development;
- Ultimately, spend more time on what truly matters: product features.
Looking Ahead
We believe the gradual integration of these tools across our projects will drive greater development efficiency in the years ahead, benefiting both our current and future clients.
For Mirego, investing in mastering these tools—beyond basic usage—is crucial. This journey involves not only exploration but also challenging our existing practices and methodologies. These tools extend far beyond simple code generation; they push us to rethink how we build digital products while maximizing our value as a development team.
This mindset shapes how our team approaches the future of software development.