
Nick Zimmermann
You Need To Find A Mentor
Hey all, and welcome back to my next blog post! Today we are going to be talking about the importance of mentorship, who my mentors are and what they have taught me. Here's what we will be covering today:
- Why Mentors are Important
- Rayed Sheikh
- Phil Batey
- Brendan O'Bra
- The Primeagen
- Steve Huynh (A Life Engineered)
Why Mentorship is Important
Having a mentor is like going hiking on treacherous terrain with a trailguide -- they keep you alive during your adventure. Although, this simile breaks down because mentors will also do other awesome stuff for you. For example, they will give you valuable insights, helping to identify your blind spots, and potentially becoming life-long friends. So, instead of creating a long-list of value they will add to your growth, I will instead share the wisdom nuggets I have learned from the mentors I've had in my life.
Rayed Sheikh
Ray is the first of my three close mentors I've had in my career, and I am lucky to have worked with him extensively. He is an ex-Tesla Engineer, and has learned a lot throughout his entire career and his time at Tesla. We have been through some unique experiences together, both professionally and personally -- I will always consider him a life-long colleague and friend. Ray's signature wisdom nuggets are:
- Keep it simple.
Building simple designs, architectures, or implementations will take you a long way in anything you build. This is especially true if your core feature or project, as you will be able to scale it to the moon.
- What are the tradeoffs?
Software Engineering (and honestly, all of life) is all about tradeoffs -- nothing comes for free. The best decisions are the ones that have carefully weighed these tradeoffs, and the decision is a value-multiplier.
Phil Batey
I had the opportunity to meet Phil through a mentorship program. Phil has an extremely upbeat and positive mindset. Phil knows how to find the good in every situation: it is contagious, and inevitably rubs off on you. If I'm ever feeling demotivated or down, I know Phil will lift me back up. Phil's signature wisdom nuggets are:
- Live by your calendar.
When I was paired with Phil, one of my objectives was to become better at time management. Phil taught me that it is important to live by your calendar, to allocate time for your projects, and to focus on strategic work.
- How to remain positive and objective in difficult situations.
The key to remaining positive and objective in difficult situations is to focus on the long game: What do you want to work on, and what kind of Engineer do you want to be?
Brendan O'Bra
Brendan is the first mentor in my career, and he also happens to be my girlfriend's father! Since we also have a close personal relationship, we can talk about anything and everything, allowing me to be fully candid with him and have complete trust with him. Sharing a personal and professional relationship is unique and special. A relationship that I am lucky to have. Brendan's signature wisdom nuggets are:
- Don't boil the ocean
Or, don't take on more than you can handle and don't make things overly complicated and difficult. This is something I have personally struggled with, as there has been a lot of things I've wanted to change, rewrite, or improve in the projects I have worked on.
- There isn't a problem in computer science that you can't solve with another layer of abstraction.
While this is technically true, this is more of a sarcastic take; the lesson here is that you need to be careful in adding complexity to a system (remember to keep it simple!)
ThePrimeagen (aka Prime)
Full disclaimer: I don't know Prime personally, but I have consumed a lot of his content on YouTube. For those who don't know him, he is a Software Engineer at Netflix, and has 15+ years of experience in software development working in a variety of fields in the web space. Although I don't know him personally, there are three wisdom nuggets I've learned from Prime:
- To get good, you have to spend time in the saddle.
Basically, if you want to get really good at something, you have to spend more time doing it. You can do it more efficiently if you have a focused approach, but bottom line is experience trumps all.
- You find your niche in the rabbit hole.
For those who don't know, you go down the rabbit hole when you are doing a deep dive on something; whether that be you have an interest in it, or are trying to debug or troubleshoot an issue. I have personally been down many rabbit holes, and this is absolutely true. In my first post, I mentioned that I built some mods for Halo and have done a lot of Frontend web development. I have been down some deep rabbit holes with both of these topics to know that I like visualizing stuff: hence my niche is "Bringing complex systems to life through the web". I have learned through my rabbit hole adventures that I am good at organizing, articulating, and documenting information; all key skills in visualizing a system.
- The truth can be hard and liberating.
This is more of a point that I have learned by consuming his content. If you've consumed enough of it, you know that he can sometimes have spicy takes. An example of this is "one should focus on learning fundamentals of computer science and not on frameworks or libraries". Sometimes these takes are hard to hear, but there is usually a nugget of truth within them. In the spirit of the truth and spicy takes, here's a spicy take of mine: If you can embrace the truth, learn self-awareness, and can make difficult changes to yourself, you can significantly speed up your growth.
(P.S. ThePrimeagen is my favorite channel to play while I am building LEGOs!!)
Steve Huynh (A Life Engineered)
Finally, we have Steve Huynh from A Life Engineered. I also don't know Steve personally, but I have been a huge fan since his "meta" days. I swear, every single syllable he speaks and every single word he types is gold. His content is especially helpful to those who want to grow to senior and staff+ levels in big tech. I can go on all day about Steve, but the two most valuable wisdom nuggets I've learned from Steve are:
- Work smarter, not harder.
Steve likes to take an engineered approach to life, and working smarter, not harder, is critical to that. To truly work smarter, you need to know what direction you want to go, and the work that you need to do to get there. In the case of a promotion, you need to know what the expectations are for the next level, and the impact you need to drive to get there.
- What it means to be a senior engineer.
Steve outlines four universal traits of a senior engineer, that I have used to develop my abilities and skills: technically deeps and delivers, rejects hyperbolic discounting, is an expert time manager, and can grow others. This traits are beautiful, because they are concise enough to give direction, but they are open-ended enough to allow you to define these traits with your unique abilities. We will be revisiting these traits in future posts, and how I specifically leveraged them to grow in my abilities and skills.
Conclusion
I hope this wisdom resonates with you as it has with me. There's a point to be made in that truly good mentors build you up to be a great software engineer -- so go out there, be kind and gracious, and find yourself a mentor!
On another note, it might have felt that I was very shallow with some of these topics in this blog post. I have a large backlog of posts I want to make: most of which consists of the wisdom in this blog post, where we will go super deep on these topics. So stay tuned for more posts!
And that's all I have for you today. Thank you for taking the time to read, and I hope you enjoyed this post!