Breaking my hand forced me to write all my code with AI for 2 months
Erik Schluntz utilized AI and voice-to-text technology for coding after injuring his hand, achieving high productivity. He emphasizes the need for specific instructions and envisions a collaborative future for AI in software development.
Read original articleErik Schluntz shares his experience of coding primarily with AI after breaking his hand, which limited his ability to type. During this period, he utilized voice-to-text technology and AI tools like Claude to write code, achieving significant productivity, including over 3,000 lines in one week. He found that using AI for coding transformed his workflow, allowing him to focus on high-level tasks while the AI handled the details. Schluntz emphasizes the importance of providing specific instructions to AI for better results and discovered that AI could effectively manage larger coding tasks when given the right context. He also notes the potential future of AI in software engineering, envisioning a system that combines autonomous and collaborative modes, enhancing productivity and creativity. While he believes AI will lower the barrier for software creation, he asserts that human engineers will still be essential for high-level decision-making and oversight. Schluntz concludes that his experience has made him more efficient and optimistic about the future of AI in coding.
- Coding with AI can significantly enhance productivity, even in challenging circumstances.
- Providing specific and contextual instructions to AI yields better coding results.
- Future AI tools may integrate autonomous and collaborative modes for software development.
- AI is expected to lower barriers for software creation, empowering more individuals to develop applications.
- Human engineers will remain crucial for strategic oversight and high-level problem-solving.
Related
How I Use AI
The author shares experiences using AI as a solopreneur, focusing on coding, search, documentation, and writing. They mention tools like GPT-4, Opus 3, Devv.ai, Aider, Exa, and Claude for different tasks. Excited about AI's potential but wary of hype.
Ask HN: Am I using AI wrong for code?
The author is concerned about underutilizing AI tools for coding, primarily using Claude for brainstorming and small code snippets, while seeking recommendations for tools that enhance coding productivity and collaboration.
Ask HN: Will AI make us unemployed?
The author highlights reliance on AI tools like ChatGPT and GitHub Copilot, noting a 30% efficiency boost and concerns about potential job loss due to AI's increasing coding capabilities.
Up to 90% of my code is now generated by AI
A senior full-stack developer discusses the transformative impact of generative AI on programming, emphasizing the importance of creativity, continuous learning, and responsible integration of AI tools in coding practices.
This is my system prompt for coding assistants:
You are a senior full-stack developer, one of those rare 10x devs. Your focus: clean, maintainable, high-quality code. Here's how:
Key Mindsets:
1. Simplicity: Keep it straightforward.
2. Readability: Make sure code is easy to follow.
3. Performance: Optimize, but not at the expense of clarity.
4. Maintainability: Write code that’s easy to update.
5. Testability: Ensure code is simple to test.
6. Reusability: Aim for reusable components/functions.
Code Guidelines:
1. Early Returns: Avoid nested conditions.
2. Conditional Classes: Prefer over ternary for class attributes.
3. Descriptive Names: Use clear variable/function names (e.g., handleClick).
4. Constants > Functions: Use constants where possible.
5. DRY: Keep code correct, best practice, and DRY.
6. Functional & Immutable: Prefer functional style unless verbose.
7. Minimal Changes: Only touch what’s necessary.
Comments & Documentation:
- Comment functions explaining their purpose.
- Use JSDoc for JS (unless it’s TypeScript).
Function Ordering:
- Define composed functions earlier in the file.
Handling Bugs:
- Use TODO: comments for bugs or suboptimal code.
Minimal Code Changes:
Focus on the task at hand. Avoid unrelated modifications and avoid changing existing comments or code without necessity.
This approach ensures clean, maintainable, and testable code while minimizing technical debt.
This is so true! I was debugging a timing issue and printed a bunch of raw data in the terminal. It was super helpful to have Claude generate throwaway code to plot the data with python. Zero data cleanup and formatting needed from my end for the prompt to be successful.
I also find myself less attached to code AI writes for these mini “apps” or “utils” because I’ll never check them into the codebase. If I wrote it myself, I’d probably spend time cleaning it up and write some comments hoping I’d use it again in the future.
I don't want to second guess whether there were other undisclosed injuries but the image does show someone who could possibly have carried on typing without the use of his right thumb? Like I did for this paragraph. (Albeit perhaps it would be more comfortable using a split keyboard for more comfortable right arm position? And probably after a few days of rest)
Or perhaps with left hand only, using sticky keys? Like I did with this paragraph.
OK so code is a bit more effort, and particularly Rust or PHP would not be as fun. Python is a bit more one-hand friendly. (Quiet at the back!)
But still. _Something_ was forced here, but it wasn't the use of AI. I'm thinking more the marketing.
Anyway I liked what you wrote. I just used "AI" for the past 2 months to write glsl code for me, since i had zero knowledge in webgl2 and GPUs in general. learned alot from reading the explanations it generates.
One thing I learned regarding LLM failing to do a task after two tries, is to tell it: "wow, this seems super complicated. Isn't it a simpler solution?" Also telling it some half baked solutions like "can't you like loop over it in reverse" can put it back on track.
Our motor controller had a 100 page datasheet that was overwhelming and dense - but uploading it to Claude and then asking questions let us quickly resolve one of our issues!
That's interesting. I've tried exactly this with chatGPT (enterprise install), and it failed pretty miserably when asking it basic questions about configuration/control. Although, I do have to add that the datasheet in question was a lot more complicated than a motor controller, and included a Firmware API guide.People have been coding without using hands thanks to voice recognition for quite some time. https://youtu.be/8SkdfdXWYaI
I will spare all my usual critique of AI because dang wants to ban me whenever I do. It doesn't mean all that doesn't stand.
Related
How I Use AI
The author shares experiences using AI as a solopreneur, focusing on coding, search, documentation, and writing. They mention tools like GPT-4, Opus 3, Devv.ai, Aider, Exa, and Claude for different tasks. Excited about AI's potential but wary of hype.
Ask HN: Am I using AI wrong for code?
The author is concerned about underutilizing AI tools for coding, primarily using Claude for brainstorming and small code snippets, while seeking recommendations for tools that enhance coding productivity and collaboration.
Ask HN: Will AI make us unemployed?
The author highlights reliance on AI tools like ChatGPT and GitHub Copilot, noting a 30% efficiency boost and concerns about potential job loss due to AI's increasing coding capabilities.
Up to 90% of my code is now generated by AI
A senior full-stack developer discusses the transformative impact of generative AI on programming, emphasizing the importance of creativity, continuous learning, and responsible integration of AI tools in coding practices.