Apple Inc. is an American technology company that specializes in consumer electronics, software and online services. Apple's introduction of the iPhone in 2007 ushered in the modern smartphone era and a massive platform shift. Headquartered in Cupertino, California, Apple is the most valuable company in the world with a market cap of more than $3 trillion.
About 7.5-8 YOE, worked at a F500 before and a med tech startup before that. I'm an iOS Developer to be more specific.
I recently joined Apple as an ICT4/Senior SWE, and this is my first time joining FAANG. So far I’ve been assigned a couple of basic tickets which I landed ahead of schedule, and my manager is unsure of what I’ll be focusing on as Apple is wrapping up its last week of feature dev for the year.
I am extremely stressed. And honestly, for no reason other than I’m placing this stress on myself. I feel like I need to prove to my team and manager that I am in fact a senior level engineer, but since I am already at the level I guess there’s no need to? My colleagues who are mostly all a level below have been on this team for years and obviously can code circles around me. What I’m failing to find is what Rahul and Alex call “the engineer who everyone gravitates towards” on my team. I don’t think we have a dedicated Staff Eng, but rather a few senior SWEs (and even that I’m not sure of since everyone’s title is hidden), and honestly I have no idea what the expectations are of me, and I think that also attributes to my stress levels.
My manager says to just sit tight and has given me a few tickets that are supposed to help my designated Apple buddy - who has been amazing btw - and these tickets are fine and all, but I guess I’m just not sure if I can actually perform at the senior level at FAANG. From all the videos on Taro it seems like at the senior levels there’s a lot of leadership and design going on (which held true at my last company), but frankly in the past couple weeks I’ve been here, I’ve only seen engineers across all levels chugging out code as fast as they can (maybe that’s something specific to Apple).
Not sure if Apple just values "solver" archetype or if this is normal and that it's going to just take me a few months to ramp up and get used to everything. I think there's also quite a bit of imposter syndrome going on - I know I deserve to be here, I just need time to deliver more work and for my manager to give me some feedback.
I know I'm very fortunate to be in the position that I am, but I just want to take care of my mental health while doing the past I can to make sure I'm taking care of my career.
I'm a senior ML engineer (~4.5 years exp) working at a medium-sized company. My educational background is a BSc and MSc in computer engineering from a not super fancy university in Europe. I wrote a few papers during my university years and as a result of hobby projects, but these were published in mediocre conferences (so not Neurips/ACL-level).
I tried applying to a few ML engineering jobs in the past couple of months (Spotify, Apple and Amazon) but did not hear back. I searched through Linkedin to see the backgrounds of ML engineers working at these companies in my area just to get an idea of the situation. My impression was that a vast majority of these people went to top-tier universities (significant number of people have a Phd), interned at FAANG during their university years, wrote (or contributed to) papers in top ML conferences etc.
I know that ML engineering positions are very competitive at these companies & also the market is very tough now in general, but it got me wondering:
What should someone like me work on to increase my chances of joining one of these companies as a ML engineer? The patterns I see from people working there is hard to achieve at this stage in my life as:
Some things I was thinking about focusing on that could help me stand out:
Writing technical blogposts to our company's engineering blog.
Apply to meetups or conferences as a speaker.
Certifications (I was thinking of something like or )
Focus on promotion to staff/principal MLE. It may be easier to step into a higher tier company by down-leveling.
Keep trying to do research/writing papers as a side project, but need to figure out how to do this without burning out.
I honestly don't know if the above sound sensible, so I'd love to hear your opinion on this or if you have any additional ideas.
As a followup to the talk I gave 2 weeks ago, , I'd like to give y'all the chance to ask me any question. Whether that is about interviews, engineering, career, or general interest.
I have 6 years of experience in the software engineering field, mostly working as a software consultant and at not well known startups. Having done MSc in the field AI, I got an offer to interview with Apple for an interesting role that seemed to have the best from 2 worlds - Software Engineering & AI/ML. To my surprise, after 6 interviews over the span of 2 months and an emotional rollercoaster, I got the job at ICT3 level and moved to another country. I thought I might be underleveled at first, but I kept thinking I actually don’t have experience in AI/ML so they’re levelling me as ICT3 must be right, I also don’t feel like a senior yet.
The situation I’m in now at work is very frustrating and disappointing to me, because of the following :
For context, I work at Apple
I’m currently having difficulty with my manager, who’s made remarks in front of others and micro aggressions, which goes against the inclusion and diversity values of Apple. My manager has been doing this in my 1:1s as well
I’ve been considering talking to HR but I am worried of any repercussions. I know Apple hasn’t laid anyone off yet but they could and I could be the one in my team to be let go (my team’s headcount increased by one person during the pandemic for context). He’s made references to layoffs in my 1:1s
What’s the best thing to do in this situation? I’ve spoken about this with him in the past
I’m nervous about joining since my past internships were very relaxed and I didn’t actually do much coding. The probation period makes me think that it may be more “sink or swim” when I join. How can I ensure I get enough support and survive the probation period?
My future manager asked me to read “Effective Java” as preparation for starting. However, it’s really not making sense to me. I have a fear that they’ll ask me how much I understood from the book. How should I answer the question without making myself look bad?
A lot of examples of growing to Staff are more oriented around less technical fundamental/soft skills, including the examples in Taro. However, I'm unsure how to find this scope in my team, and I don't think that kind of behavior works to get to Staff at Apple overall. I spend ~90% of my time coding, and the culture is more top-down at Apple compared to a company like Meta.
Given all that, how can it be possible for me to grow to Staff? Are there paths to Staff that are heavily technical?
It seems at Apple that getting promoted past ICT4 can take ages. My manager has 3x my YOE and many reports, but we're both ICT4. There is no leveling rubric that I can find, so it's unclear to me what differentiates an ICT5 from an ICT4 here. I'm thinking it might even just be worth abandoning the promo goal for the duration I work here, then aim to be hired into a promo at the next gig in a few years.
I've had a lot of friends tell me that they didn't negotiate their offer, so I'm wondering whether it makes sense to negotiate. What are the costs of trying - Is it possible to lose anything if you try to negotiate and fail?
Recently, I have found myself just working on the tasks and investigating the bugs that my manager tells me to. However, from a performance perspective this would be considered "meeting expectations" at best. How do I develop a nose for impact and introduce new, innovative ideas to my team that really improve our product or development workflow?
My manager is relatively inexperienced (<1 year as a manager, and only a few more years of overall work experience than me). While they have a lot of expertise as a developer in the domain that we work on, when coming them to my previous manager, I don’t think that they have a ton of experience in growing and promoting people, esp. in a deliberate or structured way. How do I make sure that I continue growing, and receive the right growth opportunities and constructive feedback?
I am a SWE with a few years of experience looking to get promoted to senior-level. A few months ago I switched to a team that works on an area of CS that I do not have much prior experience in, and it is becoming evident that having that domain knowledge is critical to succeeding in this new role. My development velocity has been slow (I don’t have prior experience with the programming language that the team uses either) and I’ve struggled to build trust with people on my team. How do I turn the ship around quickly and succeed in this new position?
I imagine these orgs will be safer from layoffs right? I'm interested in AI/ML fairness, but I have some reservations about pivoting there as they won't directly produce revenue for Apple.
Freedom and autonomy are often mentioned as great perks of working in tech, but I feel like there can be too much freedom, especially for earlier-in-career ICs. As someone who's relatively new to my field, I feel like having more supervision could be good. Is that true?
I come from a non-Computer Science background, and I'm exploring other paths in tech, one of which is software engineering.
I have a vision of a software engineer working on the same piece of logic daily: Is that what it's like and if so, can that get lonely? Or is that actually what most SWE love and find exciting?
I'm trying to learn more about the different career trajectories in tech. I come from a data science background, and I'm interested in the software engineering path. It would be nice to understand what my life would look like if I were to make the switch.