At Docuvela, as a small and newer software firm, we need to capitalize on our advantages to compete with larger players in ECM. Our greatest strength lies in developing our products with the latest technologies, both within our products and in the tools we use for development. One of the most significant advancements in development tooling today is AI, which we’ve used since the beginning. In today’s look at AI-driven development, we’ll discuss how it has become a force multiplier for our team while also highlighting areas where it still falls short.
The AI tools we use
Today, we will be focusing on the AI development tools we’ve been using since the beginning, namely Github Copilot, including its chat and autocomplete features, as well as OpenAI’s ChatGPT and Deep research. We have not yet thoroughly evaluated newer tools like GitHub Edits or Agents. While we plan to dedicate a future blog to these, our initial experience suggests they share similar capabilities and limitations to the Chat, and Autocomplete features that we’ll discuss here, despite the Anthropic CEO’s bullishness on Agents writing all code in over a year.
What are AI tools good for?
Spend a fraction of the time coding with Autocomplete
For senior developers, the biggest benefit of Copilot’s AI is its autocomplete feature. It enables them to write the same code they would have otherwise created many times faster, making it a generational leap from traditional autocomplete features of IDEs. It feels like having a junior developer pair programming alongside – one that, given an example, can instantly produce large repetitive chunks of code. Copilot also excels at straightforward tasks, like writing entire unit tests or configuration files given the service they apply to. Essentially, Copilot excels at handling the repetitive tasks that senior developers used to delegate to a junior developer once a pattern was established. This helps remove the time spent thinking through syntax and leaves more space for crafting effective solutions.
Copilot’s autocomplete, like a junior developer, works best when it has plenty of examples to draw from. Copilot then produces more of the same, leading to two impacts:
- Language and Framework Bias: Copilot is most effective on languages and frameworks that have a large corpus of publicly available code (e.g., Python, Java, or Javascript). This difference means that Copilot provides a greater productivity multiplier on popular languages while offering less help for niche languages. As a result, AI-driven development will nudge you toward widely-used and established languages and frameworks.
- Code Quality Reflection: Copilot will mirror the quality of your existing codebase. If your codebase is consistently high-quality, Copilot will generate similarly good results. If the codebase contains flaws, however, it will perpetuate those as well. So AI-driven development makes maintaining a consistently high-level of code quality more critical.
Jump-starting an initial implementation
Very relevant to us at Docuvela is using our greenfield advantage to try out newer technologies. When we want to evaluate something new, Copilot or ChatGPT’s chat features excel at quickly providing a working, though imperfect, example of whatever we’d like to explore. This approach is significantly faster than the traditional method of reading through documentation and following quickstart guides.
ChatGPT’s Deep Research feature has also proved useful in researching which technologies might be the best fit as we navigate new problem spaces. Even once we’ve selected a framework, AI chats continue to provide value by helping overcome the initial inertia of jumping into implementing something from scratch.
Where AI developer tools fall short
AI developer tools are incredibly helpful but are best suited for senior developers. While Copilot’s auto completions can significantly speed up coding, they do contain errors that can actually slow development if not quickly identified. Experienced developers who are practiced at debugging, testing, and evaluating others’ code won’t lose much productivity compared to the overall boost that AI provides. For juniors who are still developing these skills, however, AI assistance could result in neutral or even negative productivity.
Finally, while a “junior developer pair programming with another developer” is the best analogy for AI tooling, it is essential to recognize that AI currently lacks many of the qualities of a real junior developer. Here are a few critical gaps:
- Business Context: Developers are expected to understand business needs and analyze the intent of the module they are developing – sometimes even questioning the business requirements. Even newer tools like agents still require a human who understands this context to prompt it. Similar to human developers, one who understands context AND code is more valuable than one who excels only at code.
- Growth Potential: The most valuable developers are those who build deep expertise over time, gaining an understanding of the system and contextual knowledge. While junior developers will grow into experienced developers, Copilot currently lacks the ability to evolve or gain long-term contextual knowledge from usage.
- Team Culture & Morale: Junior developers, in particular, play a vital role in mentorship, team dynamics, collaboration, and company culture, something AI simply cannot replicate.
Rather than replacing all junior developers, AI tooling may be a good alternative to offshoring for companies who already retain senior architects and developers onshore, but offshore the bulk of coding work. In this context, AI can complement existing teams without sacrificing quality or losing the cultural, collaboration, and team dynamics that human developers bring.
AI and Human Collaboration: Striking the Right Balance
AI tooling for developers has significantly boosted our small team’s ability to compete with much larger players in the ECM space. In the hands of experienced developers, these tools have proven valuable throughout the entire design and development process. However, we remain cautious about placing them in the hands of junior developers, given the risk of errors and potential setbacks. Moving forward, we’re definitely excited to keep experimenting with the next generation of tools like Github Edits and Agent Mode.
As a last note, one critical factor to watch is AI cost management. Currently, AI technologies are affordable since most providers are still in the investment phase. Reports of OpenAI charging $10,000/month for certain AI Agents, though, are a clear signal that the industry may need to price AI Agents like replacements for salaried workers rather than tools to be profitable in the future.
As AI companies look to recoup their massive AI investments, the decision of whether to enhance your team with new members, AI Agents or AI-driven tooling will be more complex than it is today. For now though we believe that every organization should be actively experimenting with AI tools and Agents for software development. If you are already doing so, we’d love to hear your experiences and insights in the comments!
0 Comments