One thing I learned from Taro is the importance of thorough planning before coding. One idea it taught me is writing a technical plan.
I really like the idea of writing out the files to change, edge cases, etc. before starting to work on a task. Would it be okay if I write a technical plan for every major code change I make, just to make sure I am going in the right direction? Or do you feel it is excessive?
The more planning, the better - It is very hard to overplan, and if you are, your mentors will tell you to dial it back. I'm confident people will appreciate the intern taking some thoughtful time proactively to not write terrible code 🤣
The important thing is to adjust the heaviness of the planning based on the complexity of the task. If it's a 1-2 day code change, a casual 15 minute chat with your intern manager is probably enough planning. If it's a 1 week+ thing, maybe write a few paragraphs into your task. If it's a 2+ week thing, might need to create a small tech doc.
I love the idea of a technical plan, and honestly, having a technical plan screams mid-level engineer to me, so as an intern, I am sure this will give you a full-time offer.
I like to make a pseudo-decision tree when I sit down to code. I typically have a notion page that autopopulates with the What, Why, Where, Who and How of the project. I dig deep into all of my notes here, ask questions and pass it for peer review to a fellow engineer.
I know we peer review each other's code, but in a 'tab, tab, tab' world, I think it also makes sense to peer review the plan as well. Almost make it so verbose and so basic that an agent can pick it up and write code!
My staff engineer actually agreed to this and gave me a bunch of plan review comments, just like a code review