I'm an iOS engineer with ~5 years of experience. I just joined Apple. I'd competing offers from Amazon, Facebook, Lyft, & Twitter.
I'll share what I learned & how I did it.
(Note: "Top tier" companies aren't a measure of your personal worth. Also, this is what worked for _me_.)
I'll share what I learned & how I did it.
(Note: "Top tier" companies aren't a measure of your personal worth. Also, this is what worked for _me_.)
In preparing, I bucket four broad categories:
1. EQ ("emotional quotient") skills.
2. Classic whiteboard interview.
3. iOS specific — Swift language & app development.
4. System design.
procurious.com
1. EQ ("emotional quotient") skills.
2. Classic whiteboard interview.
3. iOS specific — Swift language & app development.
4. System design.
procurious.com
EQ skills takes the longest to prepare — years even. You can't, for example, cram for communication skills. I expect to be honing leadership for years. Etc.
Smattering of book recs:
"The Effective Engineer", "The Manager's Path", "Man's Search for Meaning", "Atomic Habits"
Smattering of book recs:
"The Effective Engineer", "The Manager's Path", "Man's Search for Meaning", "Atomic Habits"
For the whiteboard style algorithms interview I used LeetCode.com & @algo_expert. Also, Pramp.com for mock interviewing. Be strategic in how you prep — focus on arrays one week, binary trees another week, etc. It's all about consistency.
For the Swift language, honestly the official docs are great. docs.swift.org
For a deeper dive, I recommend @objcio's 'Advanced Swift'. objc.io
For a deeper dive, I recommend @objcio's 'Advanced Swift'. objc.io
Practice making simple apps within a time limit (~1-4 hours). There's honestly a lot of design & implementation overlap. (Hence, MVC.)
Examples:
- A photo browsing app (eg. Instagram)
- A Todo app
- A shopping app (eg. Product selection & checkout0
- A Tinder-style dating app
Examples:
- A photo browsing app (eg. Instagram)
- A Todo app
- A shopping app (eg. Product selection & checkout0
- A Tinder-style dating app
I really enjoyed this video about architecture & system design interviews. youtube.com
You'll want to showcase:
- Edge case coverage (or, at least, noticing)
- Scalable solutions
- Clear communication
- How to make effective tradeoff decisions
You'll want to showcase:
- Edge case coverage (or, at least, noticing)
- Scalable solutions
- Clear communication
- How to make effective tradeoff decisions
Additional notes:
- Schedule interviews within a 1-2 week window for ease of negotiation.
- If you even _think_ you might want to change jobs. Start preparing _now_. Interview prep takes a lot of time.
- Reach out to people. It doesn't hurt to ask & people usually like to help.
- Schedule interviews within a 1-2 week window for ease of negotiation.
- If you even _think_ you might want to change jobs. Start preparing _now_. Interview prep takes a lot of time.
- Reach out to people. It doesn't hurt to ask & people usually like to help.
- Continually keep you're LinkedIn & résumé up to date! Maybe every 6 months or so. It helps keeps you honest about how your career is progressing & what your accomplishing.
- Interviewing is messy. You can bomb one & then do fantastic on the next. Be kind to yourself.
- Interviewing is messy. You can bomb one & then do fantastic on the next. Be kind to yourself.
Here’s I tweet about my “Lessons from 5 years of iOS engineering experience.”
mobile.twitter.com
mobile.twitter.com
Here I write about technologies to stay relevant as an iOS engineer.
mobile.twitter.com
mobile.twitter.com
Junior & aspiring devs this is for you!
Tips on résumé writing so you can actually get that interview.
Tips on résumé writing so you can actually get that interview.
P.S. This isn't (necessarily) something to "aspire" to. I wanted to...
- Showcase a trans woman "succeeding"
- Help others from marginalized groups
What's important about multiple big tech offers is for negotiation. I raised my salary about $50k(!) because of competing offers.
- Showcase a trans woman "succeeding"
- Help others from marginalized groups
What's important about multiple big tech offers is for negotiation. I raised my salary about $50k(!) because of competing offers.
Loading suggestions...