250g stupid questions
250g code reviews
125g acceptance criteria
2 done review templates, story-level and epic-level
1 handful agile methodologies
1 tbsp sugar
personal projects, as needed
1 pro bike race (optional, for garnish)
1 sunset flight to Garibaldi Lake (optional, for garnish)
- Preheat your oven to 400 degrees. First things first: find a mentor. Ideally, this person is a software engineer working on your team. At the start of your internship, make sure to set specific goals on what you want to accomplish, and meet with your mentor early to make sure he/she knows about them and can hold you accountable to them. Continue to meet regularly to ask questions, get help and reflect on your successes and improvements.
- Line your baking tray with all your questions. Get over your fear of asking questions as quickly as possible. Don’t worry about wasting people’s time or getting found out that you actually suck at coding — remember, you can’t possibly learn or grow if you sit there trying to read HTML files in Eclipse (been there, done that). Your job is to ask stupid questions, so do it. Find out your team’s preferred medium for questions, be it a trip over to their desk or a Slack message.
- In a large mixing bowl, combine acceptance criteria, agile methodologies and done review templates. You’ll find that the development and delivery process is crucial to your productivity and efficiency as a developer, and it’s definitely worth understanding that pipeline (from an industry perspective you’d never have from inside of a software engineering course). So talk to your product owner, engineering manager, UX designer, and anyone else you can get ahold of that is involved in the software delivery cycle.
- Do a code review taste-test. Yes, it’s hard at first to even formulate an opinion on the code you’re reviewing, and you may feel totally unable to give insightful feedback on a code review. But I see the benefits as being two-fold: code reviews are a great place to ask technical questions, and are thus an amazing way to learn your way around the code base. It’s also good to familiarize yourself with your team’s code review etiquette — what kind of nitpicks are worth calling out? Should you reply when a comment has been addressed? The second benefit is that you will learn how to articulate yourself when talking about code and argue your points convincingly, and that will come in very handy.
- Toss reviews with some sugar and spread out on the tray. It can be hard to hear (constructive) criticism in reviews, but don’t take things personally if they’re not meant that way. Every member of your engineering team is responsible for keeping your codebase clean and your product as bug-free as possible — that means making sure all changes meet the standard. Since you’re part of the team, you should be protective of it too. Always remember to be helpful, not critical, and to use ‘we’ instead of ‘I’.
- Bake until a toothpick inserted into the middle comes out clean. Take advantage of all the technical expertise around you. Continue building personal projects while you’re on your internship because your coworkers are an amazing resource, so challenge yourself to leverage this incredible technical mentorship (plus it’s the best time to build a Github streak — I managed about 60 days). The ‘code jams’ we host at Tasktop each quarter are also a great opportunity to team up and hack in yet another new technology stack — and you get to hang out with fellow engineers and pick their brains all day!
- Garnish with toppings of choice. Get to know your coworkers. Take them out to coffee and lunch (I spent lots of time trying the unbelievable grub available around the office). I promise, they are more fascinating and fun than you can imagine.
Enjoy with a cold beer and good conversation on a Friday afternoon happy hour.
Interested in working at Tasktop? Check out the job openings.