5/5
## Master the Art of Finding Answers: Your Guide to Getting Unblocked In software engineering, encountering errors and roadblocks is inevitable. While the advent of Artificial Intelligence (AI) has dramatically changed how we approach problem-solving, the fundamental skill remains the same: knowing *how* to find answers efficiently. This guide outlines a structured, iterative process combining modern AI tools with traditional methods and community engagement to help you get unstuck and accelerate your learning. ## The 7-Step Framework for Efficient Problem Solving Imagine you run a script and are greeted with a series of cryptic error messages: ```bash patrick@iMac: [ai-prompting-f23]$ python3 my_script.py ERROR: you're literally free ERROR: boxed you ERROR: zero earned ERROR: zero pr ``` While AI makes debugging easier than ever, a systematic approach is key. We'll use this 7-step framework to navigate from error to understanding: 1. **Tinker** 2. **Ask your AI** 3. **Read docs** 4. **Web search** 5. **Ask in a forum** 6. **Ask on the support forum or GitHub** 7. **Iterate** Let's break down each step. ## Step 1: Tinker First, Ask Questions Later Before immediately seeking external help, take some time to investigate the problem yourself. Try to isolate the error. Can you reproduce it consistently? Does commenting out a specific section of code make it go away? The goal is to pinpoint the source of the issue as precisely as possible. **Pro Tip:** You can even leverage AI during this phase. Ask tools like ChatGPT to suggest potential causes or debugging strategies based on the error message. The better you understand the problem's scope, the better the questions you can formulate for AI or human experts later. ## Step 2: Harness the Power of AI Prompting Large Language Models (LLMs) are powerful allies in debugging. Tools like ChatGPT, Phind.com, Bing AI, and Google Bard can provide quick insights, generate code snippets, and explain complex concepts. However, effectively querying these tools requires understanding the principles of good prompting: 1. **Write Clear and Specific Instructions:** Be direct. State exactly what you need the AI to do. Avoid ambiguity. 2. **Give Maximum Context:** Provide all relevant information – your code, the full error message, the specific goal you're trying to achieve, and what you've already tried. 3. **Use Delimiters:** Clearly separate instructions from context (like code or error messages) using markers such as triple backticks (\`\`\`), quotation marks, or XML tags. This helps the AI parse your input correctly. 4. **Beware of Hallucinations:** AIs can generate plausible-sounding but entirely incorrect information with high confidence. For instance, an AI might confidently suggest installing a tool like Foundry using `npm install @openzeppelin/foundry`, which is wrong (Foundry uses `foundryup` and isn't an OpenZeppelin package). Always verify critical information, especially installation commands or complex logic. 5. **Understand Limitations:** Be aware of the AI's constraints, particularly token limits (the context window size). Models like ChatGPT 3.5 have smaller limits (e.g., 4096 tokens) than GPT-4 (8k or 32k). This affects how much code and conversation history the AI can process at once. 6. **Iterate Constantly:** Treat your interaction with the AI as a conversation. Refine your questions based on its responses. If the first answer isn't helpful, provide more context or rephrase your query. **Resource Recommendation:** The free "ChatGPT Prompt Engineering for Developers" course on `learn.deeplearning.ai` offers valuable techniques specifically for software engineers. Mastering the art of asking good questions is crucial – it applies equally to querying AIs and collaborating with human colleagues. ## Step 3: Consult the Official Documentation (RTFM) Often overlooked, the official documentation for the tool, library, or language you're using is a primary source of truth. Reading The Friendly Manual (RTFM) should frequently be one of your first steps. **AI Integration Tip:** If the documentation is dense or you're unsure how it applies to your specific problem, copy relevant sections and paste them directly into your AI prompt. You can then ask questions like: "The text above contains documentation for tool X. Based on this documentation, how do I achieve Y?" ## Step 4: Leverage Web Search Effectively Traditional web search engines like Google remain indispensable. However, also consider AI-powered search engines designed for developers, such as Phind.com. Phind works by performing a web search, analyzing the content of top results (like documentation, blog posts, and forum answers), and then synthesizing an AI-generated answer, complete with citations of its sources. This makes it particularly effective for finding solutions derived from multiple existing online resources. ## Step 5: Engage the Community: Asking on Forums If AI, documentation, and web search haven't yielded a solution, it's time to tap into human expertise. This is especially useful when dealing with novel problems or unique edge cases where information might not yet exist online. **Where to Ask (Recommended):** Prioritize public, web-indexed forums: * Stack Exchange (e.g., `ethereum.stackexchange.com`, `stackoverflow.com`) * Reddit (relevant subreddits) * Quora **Why:** Answers posted on these platforms become part of the collective knowledge base. They are indexed by search engines and AI crawlers, helping countless other developers who might face the same issue later. **Where NOT to Ask (Generally Discouraged for Initial Questions):** * Discord servers * Twitter **Why:** These platforms are often poorly indexed and difficult to search ("unsearchable hellholes"). Valuable solutions shared in transient chat messages or threads are easily lost. **"Super Secret Alpha" Tip:** To combine discoverability with speed, first post your well-structured question on a platform like Stack Exchange. Then, share the *link* to your Stack Exchange question on Discord or Twitter to draw attention to it more quickly. This ensures the knowledge is preserved publicly while still leveraging faster communication channels. **Formatting is Crucial:** Always format your questions clearly, especially when including code snippets. Use **Markdown** for code blocks, lists, and emphasis. **AI Formatting Tip:** If you're unsure about Markdown, ask your AI assistant: ```markdown Can you help me format my question in markdown to post on stack exchange? [Paste your unformatted question and code here] ``` ## Step 6: Escalate to Support or GitHub Issues Depending on the nature of the tool or library you're using, the next step varies: * **Scenario 1: Open Source Tool/Library:** If the project is open source (e.g., hosted on GitHub), create a detailed, well-formatted issue in the project's repository (`Issues` tab). Describe the problem, what you've tried, your environment, and include reproducible steps if possible. This directly engages the maintainers, contributes to the project's improvement, and might uncover bugs. * **Scenario 2: Closed Source Tool/Library:** Ideally, prioritize open-source tools! But if you must use a closed-source product, locate their official support channel or dedicated support forum and submit your query there. Engaging with open-source projects by reporting issues or even contributing fixes is a vital part of maintaining a healthy software ecosystem. ## Step 7: Iterate Until Resolved Remember, problem-solving is rarely a linear process. You'll often need to cycle back through these steps. An answer from the AI might lead you back to the documentation with a new perspective. A forum suggestion might prompt further tinkering. Keep refining your understanding and your questions as you gather more information. ## Conclusion: Embrace the Iterative Journey Mastering the 7-step framework—Tinker, AI Query, Read Docs, Web Search, Forum Post, GitHub/Support, and Iterate—transforms debugging from a frustrating chore into a structured learning process. By leveraging AI effectively, consulting authoritative sources, and engaging with the community constructively, you can not only solve your immediate problems but also contribute to the collective knowledge base, making the path easier for those who follow. Just as you might ask an AI for help with code, you can even ask it for creative sparks. For example, asking ChatGPT for a frog-themed video outro might yield: "Keep hopping through the code, and until next time, stay ribbiting, my fellow blockchaineers!" Embrace the tools and the process, and keep learning.
In software engineering, encountering errors and roadblocks is inevitable. While the advent of Artificial Intelligence (AI) has dramatically changed how we approach problem-solving, the fundamental skill remains the same: knowing how to find answers efficiently. This guide outlines a structured, iterative process combining modern AI tools with traditional methods and community engagement to help you get unstuck and accelerate your learning.
Imagine you run a script and are greeted with a series of cryptic error messages:
While AI makes debugging easier than ever, a systematic approach is key. We'll use this 7-step framework to navigate from error to understanding:
Tinker
Ask your AI
Read docs
Web search
Ask in a forum
Ask on the support forum or GitHub
Iterate
Let's break down each step.
Before immediately seeking external help, take some time to investigate the problem yourself. Try to isolate the error. Can you reproduce it consistently? Does commenting out a specific section of code make it go away? The goal is to pinpoint the source of the issue as precisely as possible.
Pro Tip: You can even leverage AI during this phase. Ask tools like ChatGPT to suggest potential causes or debugging strategies based on the error message. The better you understand the problem's scope, the better the questions you can formulate for AI or human experts later.
Large Language Models (LLMs) are powerful allies in debugging. Tools like ChatGPT, Phind.com, Bing AI, and Google Bard can provide quick insights, generate code snippets, and explain complex concepts. However, effectively querying these tools requires understanding the principles of good prompting:
Write Clear and Specific Instructions: Be direct. State exactly what you need the AI to do. Avoid ambiguity.
Give Maximum Context: Provide all relevant information – your code, the full error message, the specific goal you're trying to achieve, and what you've already tried.
Use Delimiters: Clearly separate instructions from context (like code or error messages) using markers such as triple backticks (```), quotation marks, or XML tags. This helps the AI parse your input correctly.
Beware of Hallucinations: AIs can generate plausible-sounding but entirely incorrect information with high confidence. For instance, an AI might confidently suggest installing a tool like Foundry using npm install @openzeppelin/foundry
, which is wrong (Foundry uses foundryup
and isn't an OpenZeppelin package). Always verify critical information, especially installation commands or complex logic.
Understand Limitations: Be aware of the AI's constraints, particularly token limits (the context window size). Models like ChatGPT 3.5 have smaller limits (e.g., 4096 tokens) than GPT-4 (8k or 32k). This affects how much code and conversation history the AI can process at once.
Iterate Constantly: Treat your interaction with the AI as a conversation. Refine your questions based on its responses. If the first answer isn't helpful, provide more context or rephrase your query.
Resource Recommendation: The free "ChatGPT Prompt Engineering for Developers" course on learn.deeplearning.ai
offers valuable techniques specifically for software engineers.
Mastering the art of asking good questions is crucial – it applies equally to querying AIs and collaborating with human colleagues.
Often overlooked, the official documentation for the tool, library, or language you're using is a primary source of truth. Reading The Friendly Manual (RTFM) should frequently be one of your first steps.
AI Integration Tip: If the documentation is dense or you're unsure how it applies to your specific problem, copy relevant sections and paste them directly into your AI prompt. You can then ask questions like: "The text above contains documentation for tool X. Based on this documentation, how do I achieve Y?"
Traditional web search engines like Google remain indispensable. However, also consider AI-powered search engines designed for developers, such as Phind.com.
Phind works by performing a web search, analyzing the content of top results (like documentation, blog posts, and forum answers), and then synthesizing an AI-generated answer, complete with citations of its sources. This makes it particularly effective for finding solutions derived from multiple existing online resources.
If AI, documentation, and web search haven't yielded a solution, it's time to tap into human expertise. This is especially useful when dealing with novel problems or unique edge cases where information might not yet exist online.
Where to Ask (Recommended): Prioritize public, web-indexed forums:
Stack Exchange (e.g., ethereum.stackexchange.com
, stackoverflow.com
)
Reddit (relevant subreddits)
Quora
Why: Answers posted on these platforms become part of the collective knowledge base. They are indexed by search engines and AI crawlers, helping countless other developers who might face the same issue later.
Where NOT to Ask (Generally Discouraged for Initial Questions):
Discord servers
Why: These platforms are often poorly indexed and difficult to search ("unsearchable hellholes"). Valuable solutions shared in transient chat messages or threads are easily lost.
"Super Secret Alpha" Tip: To combine discoverability with speed, first post your well-structured question on a platform like Stack Exchange. Then, share the link to your Stack Exchange question on Discord or Twitter to draw attention to it more quickly. This ensures the knowledge is preserved publicly while still leveraging faster communication channels.
Formatting is Crucial: Always format your questions clearly, especially when including code snippets. Use Markdown for code blocks, lists, and emphasis.
AI Formatting Tip: If you're unsure about Markdown, ask your AI assistant:
Depending on the nature of the tool or library you're using, the next step varies:
Scenario 1: Open Source Tool/Library: If the project is open source (e.g., hosted on GitHub), create a detailed, well-formatted issue in the project's repository (Issues
tab). Describe the problem, what you've tried, your environment, and include reproducible steps if possible. This directly engages the maintainers, contributes to the project's improvement, and might uncover bugs.
Scenario 2: Closed Source Tool/Library: Ideally, prioritize open-source tools! But if you must use a closed-source product, locate their official support channel or dedicated support forum and submit your query there.
Engaging with open-source projects by reporting issues or even contributing fixes is a vital part of maintaining a healthy software ecosystem.
Remember, problem-solving is rarely a linear process. You'll often need to cycle back through these steps. An answer from the AI might lead you back to the documentation with a new perspective. A forum suggestion might prompt further tinkering. Keep refining your understanding and your questions as you gather more information.
Mastering the 7-step framework—Tinker, AI Query, Read Docs, Web Search, Forum Post, GitHub/Support, and Iterate—transforms debugging from a frustrating chore into a structured learning process. By leveraging AI effectively, consulting authoritative sources, and engaging with the community constructively, you can not only solve your immediate problems but also contribute to the collective knowledge base, making the path easier for those who follow.
Just as you might ask an AI for help with code, you can even ask it for creative sparks. For example, asking ChatGPT for a frog-themed video outro might yield: "Keep hopping through the code, and until next time, stay ribbiting, my fellow blockchaineers!" Embrace the tools and the process, and keep learning.
A systematic framework to Master the Art of Finding Answers - Discover a 7-step iterative process for troubleshooting code, effectively combining AI tools, documentation, web search, and community resources.
Previous lesson
Previous
Next lesson
Next
Give us feedback
Course Overview
About the course
The basics of blockchain transactions, how to send and receive money on a blockchain network.
How to write Python based smart contracts using Vyper.
How to read and understand Vyper smart contracts.
Vyper data structures, arrays, structs, hash maps.
How to build a smart contract application and deploy on ZKsync with Moccasin.
Smart Contract Auditor
$100,000 - $200,000 (avg. salary)
On-chain Data Analyst
$59,000 - $139,000 (avg. salary)
DeFi Developer
$75,000 - $200,000 (avg. salary)
Smart Contract Engineer
$100,000 - $150,000 (avg. salary)
Web3 developer
$60,000 - $150,000 (avg. salary)
Web3 Developer Relations
$85,000 - $125,000 (avg. salary)
Last updated on August 11, 2025
Duration: 2h 08min
Duration: 2h 32min
Duration: 24min
Course Overview
About the course
The basics of blockchain transactions, how to send and receive money on a blockchain network.
How to write Python based smart contracts using Vyper.
How to read and understand Vyper smart contracts.
Vyper data structures, arrays, structs, hash maps.
How to build a smart contract application and deploy on ZKsync with Moccasin.
Smart Contract Auditor
$100,000 - $200,000 (avg. salary)
On-chain Data Analyst
$59,000 - $139,000 (avg. salary)
DeFi Developer
$75,000 - $200,000 (avg. salary)
Smart Contract Engineer
$100,000 - $150,000 (avg. salary)
Web3 developer
$60,000 - $150,000 (avg. salary)
Web3 Developer Relations
$85,000 - $125,000 (avg. salary)
Last updated on August 11, 2025