Craig Federighi, Apple’s senior vice president of software engineering, recently gave a great talk at Berkeley.
Here’s what I learned from Craig:
- Do what you love!
- Work with people whose work you admire.
- Pay attention. (use a notebook and take handwritten notes)
- Never stop acting like the new one on the team. Ask stupid questions.
- Team > Self. Do all that you can do to help the mission of the team.
- Commit, Focus, Reassess. Set yourself a deadline, say 1-4 years from now, to assess where you’re at and figure out what you want to do next.
- Follow your heart. Trust your gut feelings on big and small decisions.
Beyond these points, he also mentioned:
- Expertise comes with solving real problems. (my own example: HackerRank vs. c0d3.com)
- Become good at communicating, both via the written word and verbally. Craig’s early experience being a DJ at a pirate (?) radio station helped him with this.
- Don’t read from a script. If there’s something you’re excited about, just tell that story. Know what you want to get across. Be yourself and tell the story.
- Put yourself in the mindset of the customer. Translate their needs to the team.
- Get the right amount of sleep.
- Avoid burnout by having a diversity of problems that you’re working on.
- Have a hunger to learn. Come up with a project and constantly be learning.
- Focus your main efforts on helping solve the right problems for the team. If you have a broader concern for the project, you can help manage it.
I loved listening to what Craig had to say and will use many of these tips going forward.