jmfwolf
jmfwolf
Software Engineer
Mar 9, 2023 8 min read

Augmented Engineering

How to use AI to improve research speed, content comprehension, and solution quality.

Introduction

As the field of engineering becomes increasingly complex and fast-paced, it’s important for engineers to stay up-to-date with the latest technologies and techniques. One way to do this is by using AI language models like ChatGPT to augment your engineering skills. ChatGPT is an AI language model that can answer questions, provide explanations, and offer insights on a wide range of engineering topics. By breaking down complex problems into smaller parts, formulating clear questions, and structuring the conversation effectively, engineers can use ChatGPT to improve research speed, content comprehension, and solution quality. In this article, we’ll explore how engineers can use ChatGPT to enhance their skills and stay ahead of the curve in a rapidly evolving field.

Breaking Down Problems

Breaking down a complex engineering problem into smaller parts can help you to approach it in a more systematic and structured way. This technique is often called “chunking” or “divide and conquer” and involves breaking the problem down into smaller sub-problems or tasks that are easier to understand and solve. Here are some steps you can follow to break down a complex engineering problem into smaller parts:

  1. Identify the main challenge or goal: Start by identifying the main challenge or goal that you’re trying to accomplish. This could be anything from designing a new product to troubleshooting a technical issue.

  2. List the main steps or components: Once you’ve identified the main challenge or goal, try to list the main steps or components involved in solving the problem. This might involve researching relevant technologies, analyzing data, or testing different solutions.

  3. Break down each step or component: For each of the main steps or components, try to break it down into smaller sub-problems or tasks. This might involve researching specific algorithms, gathering data from different sources, or testing different prototypes.

  4. Prioritize the sub-problems or tasks: Once you’ve broken down each step or component into smaller sub-problems or tasks, try to prioritize them based on their importance and urgency. This will help you to focus your research and make sure that you’re tackling the most critical issues first.

By breaking down a complex engineering problem into smaller parts, you can make it more manageable and easier to solve. This approach also allows you to focus your research and tackle each sub-problem or task in a more systematic and structured way, which can help you to identify potential solutions more quickly and effectively. When working with ChatGPT, you can use this technique to identify specific questions or topics to ask the AI, helping you to get more targeted and relevant answers.

Asking Good Questions

Formulating clear, focused, and relevant questions is essential when using ChatGPT to augment your engineering skills. Here are some tips to help you ask effective questions:

  1. Be clear and concise: When asking questions, try to be as clear and concise as possible. Avoid using overly technical language or jargon, and focus on asking simple, straightforward questions.

  2. Stay focused on the problem: Make sure your questions are directly related to the problem or challenge you’re trying to solve. This will help ChatGPT to provide relevant answers and insights.

  3. Ask specific questions: Rather than asking broad, open-ended questions, try to ask specific questions that can be answered with a clear, concise response. For example, instead of asking “how can I improve my coding skills?”, ask “what are some techniques for optimizing code performance in Python?”.

  4. Use relevant keywords: When formulating your questions, try to use relevant keywords that are directly related to the problem or topic you’re researching. This will help ChatGPT to understand the context of your question and provide more accurate answers.

  5. Ask follow-up questions: If ChatGPT’s initial response doesn’t fully answer your question, don’t be afraid to ask follow-up questions to clarify or expand on the topic. This can help you to get a more complete understanding of the issue and identify potential solutions.

By formulating clear, focused, and relevant questions, you can use ChatGPT to get targeted and informative answers that can help you to solve complex engineering problems more efficiently and effectively. Remember, the quality of the questions you ask will determine the quality of the answers you receive. So take the time to think through your questions carefully and ensure they are as clear and relevant as possible.

Examples

Here are some examples of different kinds of prompt techniques:

Simple Prompts

  1. “Can you explain the difference between object-oriented programming and functional programming?” - This prompt is good because it is clear and specific, and asks for a comparison between two important programming paradigms.

  2. “What are some strategies for reducing latency in network communication?” - This prompt is good because it is focused and asks for specific strategies, rather than a broad overview of the topic.

  3. “How can I improve the efficiency of my SQL queries?” - This prompt is good because it asks for specific tips on improving the efficiency of a common database task.

  4. “What are some common design patterns used in web development?” - This prompt is good because it asks for a specific type of information (design patterns) in a relevant context (web development).

  5. “Can you explain how neural networks work?” - This prompt is good because it asks for an explanation of a complex technical concept in a clear and concise way.

  6. “What are the benefits and drawbacks of using cloud computing for software development?” - This prompt is good because it asks for a balanced analysis of a technology trend, rather than a one-sided evaluation.

  7. “How can I optimize my website for search engine ranking?” - This prompt is good because it asks for specific tips on improving the performance of a website, which is a common task for web developers.

  8. “What are some best practices for securing data in cloud-based storage systems?” - This prompt is good because it asks for specific strategies for securing data, which is a critical concern for many organizations.

  9. “Can you explain the concept of distributed computing and its applications in big data processing?” - This prompt is good because it asks for an explanation of a technical concept in a relevant context (big data processing).

  10. “How can I improve the accuracy of my machine learning models?” - This prompt is good because it asks for specific tips on improving the performance of a common task in machine learning.

Overall, good prompts for ChatGPT should be clear, specific, and focused on a particular topic or task. They should also be relevant to the user’s goals and interests, and ask for specific tips, strategies, or explanations.

Background Information Prompts

  1. “I’m trying to build a web application using the MEAN stack, but I’m having trouble understanding how MongoDB fits into the picture. Can you explain how MongoDB is used in the MEAN stack?”

  2. “I’m working on a machine learning project that involves natural language processing. Can you recommend some popular libraries or tools for processing text data in Python?”

  3. “I’m building a mobile app that needs to access the user’s location data. What are some best practices for securing location data in mobile applications?”

  4. “I’m working on a data analysis project that involves analyzing a large dataset in R. What are some strategies for improving the performance of my code and reducing memory usage?”

  5. “I’m trying to set up a CI/CD pipeline for my software development team. What are some best practices for designing and implementing a pipeline that integrates with our existing tools and workflows?”

These prompts require some background knowledge or context, but can be resolved in a single prompt with a clear and concise answer from ChatGPT. By providing enough context in the prompt and asking a specific question, ChatGPT can provide helpful insights and tips to help the user solve their problem or overcome their challenge.

Walkthrough

Here’s a mock-up conversation between a user trying to deploy their first Linode and ChatGPT, with an emphasis on best practices for asking clear and relevant questions:

  • User: “I’m trying to deploy my first Linode, but I’m not sure where to start. Can you help me?”

  • ChatGPT: “Sure! I’d be happy to help. Can you give me some more information about what you’re trying to accomplish?”

  • User: “I want to deploy a web application on my Linode. What’s the best way to get started?”

  • ChatGPT: “Great! To get started, you’ll need to create a new Linode instance and install the necessary software. Have you created a Linode account yet?”

  • User: “Yes, I have an account. What’s the next step?”

  • ChatGPT: “The next step is to create a new Linode instance. You can do this from the Linode dashboard by clicking on the ‘Create’ button and following the prompts. What operating system do you want to use for your Linode?”

  • User: “I want to use Ubuntu 20.04.”

  • ChatGPT: “Great choice! Ubuntu 20.04 is a popular and reliable operating system for web applications. Once you’ve created your Linode instance, you can use the Linode SSH client to connect to your Linode and install the necessary software. What software stack are you planning to use for your web application?”

  • User: “I’m planning to use LAMP stack.”

  • ChatGPT: “Good choice! LAMP stack is a popular software stack for web applications that includes Linux, Apache, MySQL, and PHP. To install the LAMP stack on your Linode, you can use the following command:

        sudo apt-get install lamp-server
    

    This will install all the necessary components for the LAMP stack, including Apache, MySQL, and PHP. Once you’ve installed the software, you can upload your web application files to your Linode and configure Apache to serve the application.”

  • User: “Thanks for the help! That was much easier than I thought it would be.”

  • ChatGPT: “You’re welcome! Deploying your first Linode can be intimidating, but by following best practices and asking clear, relevant questions, you can get started quickly and efficiently. Don’t hesitate to reach out if you have any more questions or run into any issues along the way.”