logo

Co-op

Efficient Code Reviews

My role

Developer, Researcher, Designer

Tools

Typescript, Language models, OpenAI, NodeJS, Figma

Timeline

2023-01 - 2023-06

Description

Transforming Developer Workflows; Leveraging Language Models for Efficient Code Reviews

Context

In this blog, I explore a pivotal question; How can language models assist developers in improving their workflow during the development and testing phases of applications? Using a deep-dive investigation at Redkiwi, a software development team, I pinpoint key challenges and present a language model-based prototype that revolutionized the code review process..

View on Github

Intro

Being a developer is like juggling multiple balls at the same time: you're managing code, switching contexts, ensuring quality, and on top of all that, communicating with your team. I wanted to understand if language models could make any of these processes smoother. With this aim, I undertook a qualitative research project focused on the development team at Redkiwi.

Challenge

During my research, four main pain points emerged:

  1. Context switching between projects and languages
  2. Limited or missing functionality testing
  3. Time-consuming code review through pull requests
  4. Documentation writing

Among these, the time taken for code review was identified as the most critical. Hence, I decided to focus my efforts on solving this problem.

Constraints

Creating a solution wasn't easy. There were constraints like data privacy, potential over-reliance on the tool, and the risk of receiving inaccurate or irrelevant feedback from the language model.

Research

Through extensive interviews and discussions, it became apparent that using a language model could be a potential solution for the identified issues. I zeroed in on the code review process and hypothesized that a language model could assist in streamlining this procedure.

Iterations

After creating the initial prototype, I ran multiple tests and refinements to better align it with real-world needs. During this phase, I worked closely with developers at Redkiwi to collect feedback and refine the tool.

Key Features

  • Speed: The prototype was effective in drastically speeding up the code review process, improving efficiency by 90-95%.
  • Quality: Increased the number of revisions by 140-200%, indicating valuable, action-oriented feedback.
  • Flexibility: While focused on code review, the model also helped ease other identified pain points, such as context switching and functionality testing.

Final Deliverable

The prototype was able to not only expedite the code review process but also add an extra layer of quality control. The tool scans for potential errors and issues, making it a valuable addition to the existing workflow. It also has the potential to help developers understand their code better and learn how to prevent future issues.

Outro

The use of a language model has proven to be a potentially powerful tool for enhancing efficiency and effectiveness among developers, like those at Redkiwi. However, we must be mindful of the challenges and possible pitfalls to ensure that we maximize the technology while minimizing risks.

The next steps include continuous development, allocating this tool a permanent spot within the workflow, and using saved hours for quality and innovation.

By focusing on technological advancements like these, we can revolutionize the way developers operate, making software development quicker, more efficient, and more reliable than ever before.

Thank you for visiting my portfolio. Feel free to explore other projects that I've worked on, as I continue to push the boundaries of technology to solve real-world problems.