The shift in software engineering productivity
In the rapidly-evolving technology sector, software engineering teams face increasing demands to boost productivity. The challenge is to achieve more efficient outcomes with limited resources.
AI is the new knowledge base
Traditional knowledge bases, heavily reliant on tools like Confluence and extensive markdown files, are becoming outdated. AI is revolutionizing this domain by using data from these tools to offer a chat interface. This allows users to quickly learn and pose complex questions, drawing on knowledge from multiple sources. AI assistants are replacing conventional repositories with more dynamic, interactive methods of accessing information.
Beyond specifications
While APIs are documented with specification files like OpenAPI, providing a language-agnostic interface to RESTful APIs, these alone don't suffice as knowledge bases. OpenAPI's flexibility results in potentially millions of ways to write the same specification, presenting significant challenges in parsing by humans or AI.
Consider the Slack API, with its 239 endpoints. Processing such an API reference, like Sideko does with the Slack API (80k lines), results in over 200k lines of working code across more than 40 files in less than a second.
The Complexity of JSON Schema
JSON Schema, used to describe API input and output data, is designed for a wide array of JSON structures. Its versatility requires an extensive set of rules for validation, including various data types and structural, conditional, and format validations. Its ability to combine multiple schemas adds to the complexity in managing and interpreting interconnected schemas.
Moreover, APIs frequently undergo changes, leading to multiple versions of an API specification and the need for backward compatibility considerations.
Sideko: A Structured Knowledge Base
Sideko's structured output facilitates a more efficient GPT API integration, exemplified in the pseudocode below. This not only complements third-party API references but also enhances Sideko's generated API references, significantly reducing the time to the first call (a top developer experience metric).
The robust API layer
By generating robust, structured code from intricate API specifications, Sideko provides AI with a solid foundation to work from. This ensures that the AI can be trusted to handle complicated operations, leveraging the accurate, comprehensive code produced by Sideko. In essence, Sideko does not just simplify the developer's work; it amplifies the capabilities of AI, making it a dependable partner in the intricate world of software engineering. This synergy between AI and Sideko's API layer is a cornerstone in the ongoing evolution of software development, leading to unprecedented levels of efficiency and innovation in tackling complex programming challenges.