The ability to ask questions that lead to useful answers is a must-have skill for software engineers because they are constantly solving problems. Asking the right questions helps engineers arrive at solutions more quickly and progress more.
It enables you to be better at your job. Particularly in today’s fast-moving and rapidly changing workplace, it’s critical to keep inquiring about the evolving nature of the work you do. We must all continuously ask some version of the questions, "How is my job changing?" and "How might I do it better?" One way to demonstrate that you are open to change and willing to learn and adapt is by asking questions -- about how your industry or your specific job may be evolving over time, about what is expected of you, and how those expectations may also be changing. Most bosses who are trying to manage change are apt to appreciate and even reward that kind of questioning, not punish it. (amorebeautifulquestion.com)
Participants will understand:
- How software engineers learn on the job
- What resources are available to software engineers for getting "unstuck"
- How software engineers ask questions when they need help
- How to read error messages
- How to write a useful Google query
- How to use Stack Overflow
- How to read documentation
- Practicing the "20 minutes of struggle" rule
- Sample script for asking for help from a colleague
- How to ask good questions
Video walkthrough of slides Asking Good Questions (27 min)
Read through topic slides Asking Good Questions
Here's a template for asking questions: "I could use some help. I’m using this tech stack: __. I want to __ to accomplish __. I searched for __ and I read __ and tried __. I’m getting this error/result: __. I think the problem could be __. Here’s a link to my code: __. Do you have any suggestions for me?"
- "I can't ask for help because I should know how to do everything on my own." As a Jr. Software Engineer, your colleagues and manager will know you're still learning and that you'll need help. To most other software engineers and engineering managers, it's more important that you can figure things out than it is for you to already know everything.
- "No one has ever been stuck on this thing I'm stuck on, and therefore no one will be able to help me." There are millions of software engineers all over the world, they all were novices just like you are, and they all have access to the Internet. Therefore, it's likely that at least a few of them have already asked your question online — you just need to find it!
- "I tried searching for this on Google but nothing came up. There's no other way for me to make progress on this." Knowing what to search for can be challenging as a novice, when you may lack the specific vocabulary required for getting relevant results. If you're still stuck after trying several search variations, ask a classmate or an instructor what you can try instead.
- Calling someone over to your screen and asking, "What's wrong with my code?" Hopefully this lesson has taught you a much more effective way to ask for help!
-
Pick a programming concept that you have difficulty with or are trying to learn. Use StackOverflow to see if you can get some good information about it.
-
Role-play the sample script with a partner.
-
Create a note on your computer or bookmarks folder that contains a prioritized list of all the problem-solving resources you have at your disposal.
- What are at least 3 resources a software engineer can use to get unstuck? In what cases would you use each of these resources?
- What kinds of useful information can you expect to find in an error message?
- What information is important to include in a search query to return relevant results?
- What are some of the common mistakes new developers make when asking questions, and what should be done instead?
- Recall the "20 minutes of struggle" rule. What should you do if you make progress after giving yourself 20 minutes? What should you do if you don't make progress?
- How to Ask A Question on StackOverflow (article)
- How to ask questions on Stack Overflow (17 min video)
- How to Read Documentation (video)
- How to Ask Good Questions (article)
- 10 Mistakes That JavaScript Beginners Often Make
- Stuck? Some very common errors and free resources
- How to be good at asking questions
- How to Ask Good Questions (TEDx talk)