Skip to main content

AI Coding

Map | Matrices | Trending

Software at the speed of thought.

AI prompting is the future of software development. AI Agents are required to simplify chaos and complexity.

Products

Endgame: Closed Loop Engineering Flow

IDEValueNotes
Aider?/5
Bolt New?/5Green fields
Cline?/5
Copilot?/5Outpaced
Cursor?/5All Purpose
Devin?/5
Genie?/5
Replit?/5
v0?/5UI/UX Design
qodo?/5Enterprise

Performance Benchmarking

SWE Benchmark is a tool for evaluating the performance of AI coding agents.

SWE-Bench-Verified is the best benchmark for software engineering agents. It’s a set of 500 Github issues, Docker images, and held out unit tests. That's because typical agents operate autonomously within Docker containers as a human programmer would, iteratively reading and writing code and tests until they believe the issue is solved.

Context

Best Practices

Those that can leverage AI coding tools to write code by directing the intended purpose have a significant advantage.

Balancing Inputs

Balance between prompt detail, just enough context and the right model for the task at hand.

  • Keep things simple, particularly when starting out
  • Choose the right tools to constrain agent behavior
  • Aim to only use prompts over writing code
  • Plan out specs with prompts
  • Factor out a library of reusable prompts

See AI Coding Plan

AI Coding Use Cases

Automating coding tasks

  • Building entire web applications with unfamiliar technologies
  • Converting programs to more efficient languages for performance improvements
  • Simplifying and trimming down large codebases
  • Writing initial experimental code
  • Automating monotonous tasks and one-off scripts

Rapid prototyping and development

  • Improving coding speed by 50% or more
  • Quickly building proof-of-concept applications
  • Iterating on designs through conversation with AI

Code optimization and refactoring

  • Identifying opportunities to improve code efficiency
  • Suggesting refactoring to simplify complex codebases

Documentation and explanation

  • Generating code documentation
  • Explaining complex code or algorithms

AI Coding Problems

Common problems with AI coding agents:

  • Next Action Prediction
  • Multi-File Edits
  • Multi-hop Context
  • Bug Detection and Debugging

See Cursor Problems

Traditional Agile

How will best practices for developing software evolve with AI? How you identify signal through the noise?

Traditional roles evaporate when solving fuzzy problems. The focus instead shifts to two main roles, customers and engineers.

Evolving Understanding

The primary goal is to gain confidence, surface issues, learn faster, and design systems that scale well.

  1. Ask dumb questions. Ask a minimum number of "dumb" questions every day when you join a new team. It surfaces important issues others were too scared to ask about.
  2. Learn git really well and don't learn a codebase through the code tab, start in the PR tab to see what is changing and why.
  3. Learn git early. The confidence from realizing making changes isn't scary is huge.
  4. Make it deploy, then make it useful. Deploy code as soon as you make it before building out all the features. It makes debugging and learning much easier.
  5. Aim for simplicity, simple architectures and designs tend to scale surprisingly well compared to starting with complex ones.
  6. Interview a lot, at least once every 6 months. Companies have an incentive not to promote you, so you need to know your true market value by interviewing elsewhere frequently.

Flow of Data

Understand how data flows through a system, how it created, stored, what impacts it's change of state, and who/what needs to know about that.

  • Flow of Information: For information to be valuable it must be timely and actionable.
  • Flow of Progress: The smooth, uninterrupted advancement of a project. Principles include clear process logic, synchronization, and minimizing waste. Practical steps to achieve this include defining clear steps and responsibilities and coordinating tasks and timelines.
  • Flow of Value: The flow of value focuses on delivering maximum value to the customer with minimal waste. This involves value stream mapping, lean principles, and continuous improvement. Strategies include implementing lean methodologies and regularly assessing and improving processes.

Data is the new oil, and also must be clean to be valuable.

Teamwork

  • Managers serve the team: Management inversion is important, where the manager (or "concierge") works for the team rather than the other way around.
  • The age of agents is driving the need for new approaches. This involves programs running on behalf of users, making suggestions and assisting with tasks.
  • Speed is crucial in solving fuzzy problems. The competitive advantage comes from being able to try ideas out quickly and aggressively.
  • Trust is essential in creating a manager-less process. This includes trusting that programmers care, leaders will emerge, and problems will be solved without constant management intervention.
  • The organization should have a delivery focus, with everyone supporting the goal of getting code out the door faster.
  • Simplify Titles: Specialization institutionalized with titles can be a barrier. The speaker suggests creating new, more flexible titles for new projects to overcome this.
  • Lead via Action: leaders still contribute to coding and other tasks rather than being full-time managers.
  • Invest in Teamwork: Keeping teams together and bringing work to them is more effective than constantly reshuffling team members for each new project.
  • Progress: Appraisals and coaching should be separated in manager-less teams, with coaching preferably done by outside mentors.