If you’re a junior developer, two weeks into your first internship, I’d wager you’re probably feeling more than a little frustrated. You spent the first week diving into the codebase – difficult, but at least now you have some sense of what the hell is going on. But now you’ve been tasked with integrating a new feature – or three – and you’re struggling. You're unsatisfied and disappointed in your meagre output. Chances are, if you’re at a young startup, there isn’t even a senior developer you can turn to for help. You’ve been dropped in the deep end and left to fend for yourself.
It’s a situation that plays out every year. Eager students jump at what seems like a great opportunity, only to discover they’ve been set up to fail from day one. The good news? It’s avoidable. Here’s three things every student needs to ask their potential employer before signing up for an iOS internship:
1. Who will I be reporting to?
You should be paired with a senior developer who can serve as a mentor, as well as a sounding board when you run into problems. You’re looking for someone who will review your code, improve your skills, and help you navigate your new workplace. They should view helping you become a better iOS developer as one of the core parts of their job – not a chore. Ask if you can meet your potential new boss – even 15 minutes of conversation will give you a good idea of who they are and how they approach mentoring junior developers. Are they friendly? Honest about the company? These are good signs.
If you discover that you would be working alone, or with minimal interaction with the rest of the team, run. Good employers understand that hiring an intern is an investment. Leaving them to fend for themselves, or worse – treating them only as cheap labour – is a surefire way to burn them out, produce crappy code, and drive them to quit.
2. What sort of results would I be expected to deliver?
(Bonus question: How will those expectations change over time?)
Good employers know it will take an intern some time to ramp up and be productive. Actually, that applies to any new developer – regardless of skill level. You shouldn’t be expected to start banging out complex features the moment you walk through the door. That isn’t to say they shouldn’t expect greatness from you, eventually. But they should know it will take a little while to get there.
If their expectations for a junior iOS developer sound wildly unrealistic, it’s time to move on. Many employers mean well. But your first internship should be at a company that has a history of working with junior developers and knows what it takes to make them successful. They already “get it”.
3. What will my hours be like?
Many developers, regardless of skill level, like to be a hero. They work well into the night, cranking out code at a furious pace. When faced with impossible deadlines, they take pride in doing whatever it takes to get the job done. Junior developers can be especially prone to taking this approach, eager to prove themselves. As David Heinemeier Hansson puts it, "When there’s a crisis, it can pay to just carry on no matter what. Get the problem solved and celebrate victory. Winning through shear effort.” Early in your career, however, it can be difficult to distinguish between a true crisis and struggles that are a normal part of learning.
David continues, "But most days are not like that. Most features need not heroes. They need realists."
Good employers understand that while working crazy hours can pay off in the (very) short term, the returns diminish rapidly. They know that, often, the best thing you can do is close your laptop and go home for the night. An internship shouldn’t feel like a work camp. You can’t learn effectively if you spend all of your time just trying to stay above water. If your potential employer doesn’t encourage their staff to have lives outside of the office, it’s a big red flag. It's fine if you want to go above and beyond – in fact, I encourage it – but that's something you can only do if you aren't already pushed to the limit.
Use this checklist before saying 'Yes'
You're considering an offer for your very first iOS internship. Before you accept, run through this checklist:
- Will you be paired with a senior developer?
- Have you had a chance to meet your new boss/team ahead of time?
- Are there realistic expectations of your output? Especially in the first few weeks?
- Is there a plan to help you improve your skills over time?
- Will you have a life outside the office?
Obviously this checklist isn't comprehensive – you'll have your own requirements and red flags. But if you find an employer who checks off each box, you're in a great spot. Good luck out there!