The past nine weeks of my internship at Pushpay have absolutely bulleted by. I’ve spent my time working on an individual intern project, and it feels surreal that I’ve only got one week left to complete it and then present it to the office.
My road to an internship was fairly typical. I attended bootcamps (luckily enough, I had a friend also doing SoT, so we often went along together); printed off way too many business cards for the Meet & Greet (protip: check your card measurements or risk having tiny ones like I did); and after speed interviews, I happily accepted an internship offer from Pushpay in October.
The most useful event I attended was probably the mock interviews: you get thrown into a gauntlet of 5 five-minute interviews, and get immediate feedback from your interviewer on everything from first impressions, to your answers. You also find out what answers the interviewer was actually looking for, which I found really useful. I’d highly recommend attending if you can.
One thing that I’d mention to anyone applying through SoT in 2019 is to not be phased by job titles. As I’m completing a BSc in Computer Science, seeing how many job titles on the SoT website ended with “Engineer” was quite intimidating. But don’t restrict yourself – I didn’t, and now I’m an Intern Software Development Engineer.
My internship has had a focus on time-management and self-learning, which are two skills I’m now really grateful to have picked up through university (shoutout to The University of Auckland). It wasn’t always smooth sailing though – after deciding on the day’s tasks, I’d often realize a task was too large, or I didn’t have the knowledge to approach it. Then it was a matter of breaking it down into more manageable pieces, and tackling them.
As there were usually multiple solutions to a problem, my approach alternated between experimenting with new code snippets, and then googling my way out of the new problems that arose. I definitely spent more time thinking than typing. Over lunch one day, an Engineer mentioned that you might spend one hour coding, and most of the day thinking about how to actually code up the solution. This made me feel much better. I also realized that no one person has all the answers, with the exception of perhaps the collective consciousness of StackOverflow, as they had an answer (and debate) for everything. LINQPad became highly useful to me for drafting proof of concepts (such as figuring out how to communicate with DynamoDB in C#). It makes variables highly visible, by literally dumping them on the screen, something I really appreciated.
Two industry practises I hadn’t heard about before interning as a software developer are unit testing & code reviews. Unit testing is really neat – it centers on making your code’s functions and methods individually testable. That way, when you add new features later, you can run your unit tests again to ensure everything is still in working order. I’ll definitely be using it in my university papers later this year. Code reviews are what they sound like: a fellow engineer reviews your code and gives it feedback before it goes live. All code gets reviewed at Pushpay – intern projects included. My first code review came back with so many comments and suggestions on it; I was taken aback. But mindset is important: seeing so much feedback doesn’t mean your code is horrendously lacking, it means you have many opportunities to improve your coding style, and your code itself too. Because there are multiple ways of solving a problem, there’s often a great suggestion in the code review.
In signing off in the style of a software developer, it’s always a good time for another coffee. Thanks for reading!