Skip to content

Hitting Your Stride

After a few weeks at your internship, you'll hopefully start to settle into a rhythm. This is a great time to reflect on your progress, identify areas for improvement, and also make sure you're making the most of your experience now that you're more comfortable with your work.

How do you know when you're in a good rhythm?

You're in a good rhythm when you have:

  • Solid project understanding: You can confidently explain what you're building and why it matters
  • Codebase familiarity: You know where relevant files live and understand the overall architecture
  • Workflow fluency: You can create branches, make changes, test, get reviews, and deploy without constantly checking documentation/asking for help
  • Troubleshooting abilities: You can debug common issues and research solutions independently
  • Independence: You work on your own and are able to drive your project forward without needing constant guidance

How can you maintain momentum?

Create structure in your day

Block dedicated time for focused coding (e.g. 2-3 hour chunks), meetings, learning, and anything else. Protect your deep work time and avoid distractions during these periods.

Minimize context switching

Context switching kills productivity - you want to maintain your flow state for as long as possible. Batch similar tasks together and avoid jumping between unrelated projects/tasks.

Identify bottlenecks and blockers

You need to be very aware of your blockers, i.e. things that are preventing you from making progress. Blockers can be anything from needing a code review to waiting for a decision from your manager. Make sure you're communicating these blockers as soon as possible (though not before you've tried to resolve them yourself).

You should alway try to have a few things to work on concurrently. Granted, some projects will have sequential dependencies, but there are usually a few things you can work on in parallel. For example, if you're waiting for a code review, you can work on research for a future task, or on documentation for your current task.

If you find yourself being repeatedly blocked by something, you've found a bottleneck. Try to resolve it yourself if it's simple, otherwise bring it up with your mentor.

One of the most insidious bottlenecks is waiting for code reviews. You should try to find a few people that are available/eligible to review your code, and understand their schedules (e.g. do they do reviews in the morning normally? Do they have a day where they're less busy?). Then get a rotation of people to get approvals from. Make sure to discuss this with your mentor first, and be respectful of everyone's time.

Track your work

Keep a simple log of what you've completed, what you're working on, and upcoming tasks. This helps you stay organized and makes status updates/standups much easier.

How can you make the most of your internship experience?

Look beyond your project

Attend tech talks, read design docs from other teams, and join company events. Interning gives you access to a wealth of knowledge and resources that have been tried and tested within industry. Take advantage of this!

Seek learning opportunities

Ask your mentor for learning recommendations, take advantage of company training resources, and allocate time for exploring new technologies.

I did like 4 different bootcamps that were completely unrelated to my project, and learned a ton in the process.

Build your network

Schedule coffee chats with people from different teams and backgrounds. This is a great way to find mentors, learn about different roles, and get a better understanding of potential career paths.

Utilize your benefits

Check if you have access to equipment stipends, learning budgets, wellness programs, or other perks that many interns overlook.


Remember that an internship are relatively low-pressure, high-reward opportunities. That being said, you should still take them seriously and put in the effort to make the most of your time.