3 Lessons to Succeed as a New Software Engineer

Nathan Yang
Code Red
Published in
6 min readSep 9, 2021

--

Even though I still feel like one sometimes, I’m no longer considered a new grad. As of the writing of this, it’s been two years since I graduated from UCLA and joined Redfin as a software engineer.

A lot has happened in that time: getting my first promotion, switching teams, winning a hackathon, and shipping a lot of great software. I’ve also been fortunate enough to have grown so much in an incredibly open and supportive environment at Redfin. Here are the biggest lessons I’ve learned so far, along with some advice for those early in their careers.

🧠 Prioritize for impact, not perfection.

Going into Redfin, I was very much in the student mentality where everything had to be done to perfection. As a student, the goal was to get A’s, but I quickly had to readjust my mindset since that’s not how things work in industry. There are often way more ideas than there are engineers to implement them so work should be prioritized and done based on potential impact.

This dilemma can manifest in several ways. One situation could be building a product with only a few features that solve an important problem rather than building all the features that were thought of. Another could be fixing a few bugs that account for the majority of a team’s errors rather than fixing the highest number of bugs possible. There’s always the opportunity to iterate and tackle the other work in the future.

There’s a principle called the 80/20 rule, also known as the Pareto Principle, that was shared with me that’s especially relevant here. Essentially, the principle states that we should aim to deliver 80% of the value with 20% of the effort/time. This has helped me gauge priorities and reason what we should and shouldn’t work on.

Similarly for personal growth, prioritizing what you do so you’re making the highest impact on your areas of growth can help you meet your goals and get you to the next step in your career faster, whether that’s getting a promotion or that dream job. The next time you work on something, I challenge you to question whether it’s the most important thing you could be doing right now and whether you can re-prioritize your work to make the highest impact possible.

Snapshots from Redferno, our annual company-wide conference.

🙋 Don’t be afraid to ask questions, ever.

Don’t be afraid to ask questions, especially a lot of them. In school, students often work on assignments alone. But in industry, you’re on a team where teammates want to share their knowledge and help you succeed. It’s a collective effort to move the team, organization, and company forward. Your success is the team’s success, which is ultimately the company’s success.

For those early in their careers, this lesson is especially important. It’s okay and expected to not know everything. This is a great time to build up technical skills, learn about your interests and passions, and grow as an individual. Setting yourself up for success now will pay dividends years into the future.

My biggest regret from a past internship was not asking the company’s then-VP of Product for a 1:1 coffee chat, regardless of whether he would have accepted it. Back then, I was lucky enough to sit next to the company’s leadership team so I frequently saw VPs and C-level executives out and about. I actually ran into this person a handful of times in the hallway and politely smiled, but was always deathly afraid to start a conversation. Looking back, I would have loved to speak with him about his journey from being a designer to a product leader. This individual is Adam Mosseri, who is now the Head of Instagram. Because of this experience, I’ve made it a personal goal of mine to ask people that I want to get to know better and learn from at Redfin for 1:1s and it’s led to some great conversations and friendships! (I’m looking at you, Han Zhu and Austin Schiebel!)

Left: the view from Redfin’s SF office. Middle: team birthday lunch! Right: a cake from a product launch celebration.

🖖 Embrace uncertainty.

In school, I was very used to everything being very defined for me. For some of my projects, professors would share software requirement documents (aka tech specs) that were up to 50 pages long describing every little detail that needed to be implemented. In industry, however, we don’t have that luxury.

The job of a software engineer includes doing technical investigations, gathering requirements, and writing tech specs. That also means frequently working with new and unfamiliar technologies and areas of the codebase. Simply put, dealing with uncertainty can be daunting. But fear not! Uncertainty is a great opportunity to try and learn new technologies and approaches.

Throughout college, I would avoid certain work because I wasn’t familiar with it. For example, as part of a group project in my full-stack web development class, I only worked on the Node.js backend while my friend worked on the Angular frontend. At the time, I only had backend experience and found writing frontend code daunting. I just didn’t think frontend development was for me, but I was so wrong.

At Redfin, I finally embraced the fact that I needed to learn how to write frontend code, specifically in React. After getting past the initial learning curve, I was pleasantly surprised by how much I actually enjoyed it! There was one particularly memorable moment when my teammates and I were looking at a screenshot and couldn’t tell whether it was a screenshot of the actual feature I implemented or the design in Figma.

Since then, I’ve had the opportunity to work with other interesting technologies such as GraphQL, Apache Kafka, Apache Samza, and Netflix Conductor!

Uncertainty isn’t a bad thing and can actually lead to a lot of opportunities. Being uncomfortable means you’re growing so embrace it!

Even though I’ve learned a lot during my two years with Redfin, I still have so much more to learn. I’ve only scratched the surface of what it means to be in industry. And even though I still feel like a new grad sometimes, I believe that just means that I’m still pushing myself to be uncomfortable and grow. Equipped with the lessons I’ve learned so far, I’m excited for what the future holds! 🚀

Acknowledgements

Everyone I’ve worked with at Redfin has contributed to my growth in some way and I’m thankful for that. However, there are a few individuals who have been incredibly impactful in my journey that I’d like to shout out. Big thanks to Don Le, Jiaqi Wang, Eleanor Nesbit, Tian Luo, and Dan Ehrman for setting me up for success while I explored my career interests and eventually made the transition to product management.

--

--