Before starting an internship, it’s common to feel underprepared. For most students, that feeling shows up as anxiety around technical skills: not knowing enough, not being fast enough, or worrying about falling behind.
While these concerns are valid, I’ve found that during an internship how you communicate when things are unclear is far more important.
This idea was reinforced for me during a fireside chat with Armon Dadgar who is the CTO of Hashicorp, where he spoke about HashiCorp’s strong writing culture. As Armon explained, ideas are written down, decisions are recorded, and context is shared asynchronously.
His number one piece of advice for those early in their careers was simple: read more, write more, and speak more.
What stood out to me was the fact out of everything Armon could have emphasized: learn AI, learn Terraform, learn X framework., however, he chose to focus on the process of how we learn.
Reading builds context. Writing clarifies thought. Speaking is how we uncover gaps in your understanding. In many ways, asking good questions sits at the intersection of all three.
In my experience, learning when and how to ask questions doesn’t come naturally at first. It’s very easy to wait too long or just default straight to asking. What helped me was adopting a simple mental model that turns anxiety into a process:
- Read: Before asking, spend time exploring what already exists. This might mean checking logs, skimming documentation, or searching through Slack threads to see if someone else has encountered a similar issue.
- Write: Once you’ve gathered context, pause and write things down. Diagram the system, outline the flow, or jot down what you believe is happening.
- Ask: When you do ask, provide context. Explain what you’re trying to do, where you’re stuck, and how you’ve been thinking about the problem so far.
Interesting Ideas
- Just Talk To It: This article follows one of my principles: Don’t Optimize, Just Start. Over engineering your workflows with MCP, Claude Skills, AGENTS.md, CLAUDE.md, Ralph, can get overwhelming. Stick to the basics and just talk to it.
- Werner Vogels AWS Re:Invent Keynote: I had the opportunity to attend Re:Invent this year. One of my highlights was listening to this keynote live. Werner’s insights about the renaissance developer and the qualities one must exhibit is what I think every developer should try to adopt.
- Code is Cheap, Software Isn’t: I love this take on the age of agentic coding. Generating code is the easy part, but it hasn’t eliminated endless bugs, outages, and following best practices. There is still a huge challenge and need to developing maintainable, and extendable software