LB
04/15/2021

8 Practices That Help Me Succeed As a Software Engineer

I've been a full-time Software Engineer for almost two years and have developed some habits and practices that have helped me accelerate my career and accomplish some of my goals. This list is by no means final and will evolve as I progress through my career. I want to share with people what has worked for me in hopes that it could help someone else. Enjoy!

1. Find a mentor

A mentor can be found in many places - work, academia, social circles, and even online (on platforms such as LinkedIn). It is important to have a mentor in the same field as you who holds a position that you potentially want to be in the future. I am lucky to have found my mentor at work. He pushes me everyday outside of my comfort zone and has helped me progress my career in so many ways. As a former athlete, I like to think of my mentor as a coach. A coach pushes their players to be the best and perform the best. My mentor does exactly that and I am very lucky.

2. Meet everyone on your team right away

This one might raise an eyebrow. Meet everyone on your team...obviously?? Although this may seem obvious, for many people it is not. I am trying to emphasize the importance of the role that your teammates play when joining a new team or company. John Maxwell said "teamwork makes the dream work" and he was spot on. Your teammates are the ones who will help you ramp-up, onboard, and make you feel welcome. The quicker you form relationships with your teammates, the easier your new role will be.

3. Document. Everything.

In college, I used to hate documenting my assignments. I dreaded the structured README format that we were required to abide by and was never motivated to go above and beyond in my documentation. Since graduating college, I have learned the importance of good documentation in the real world. Imagine working on a project for six months, shipping it to production, and then not touching that project for a year. Do you think you'd remember everything you did a full year ago? I definitely would not. Documentation is not only important for other people to reference when using your code/software, but it is also extremely important for your own records. I have saved myself many hours of reverse engineering my own code simply because I wrote down what I did and how I did it. You will also earn major brownie points on your team when you provide good documentation because it results in a pleasant developer experience for your teammates.

4. Ask questions

I was once told in a summer internship that I ask too many questions. When that happened, I felt very small and like a complete imposter. I have since learned that I was not the problem, they were. Thankfully, I have since learned that I should be asking questions when I have them. I have a great group of teammates who help me when I need it and I always return the favor when it's my turn to answer someone else's questions.

5. Try to make other people’s jobs easier. It’s a win win.

For each project that I complete, my goal is for the users who interact with the project to feel like their job easier. Why? Writing software that makes someone's job easier actually makes your own life easier as a result. The users will not be pinging you all the time to ask you questions or to troubleshoot their issues. Another benefit of this practice is that people remember the developers who made their job easier. They will want you to be the person who implements their future projects and will probably tell other people within the company about you.

6. Get involved in ERGs or other company initiatives

Employee Resource Groups (ERGs) are voluntary, employee-led groups that foster a diverse, inclusive workplace aligned with organizational mission, values, goals, business practices, and objectives. I am lucky to work at a company with many different ERGs and to be a member of two. ERGs have helped me find a community at work with others who share similar interests and traits. If your company does not offer ERGs, find out if it offers something similar.

7. Most people don’t know what they’re doing and figure it out as they go

I really wish I knew this one before I started my career. I believed that everyone came into their jobs with much more experience than me and had everything figured out. The reality is that no one has it figured out. Everyone learns from their experiences and becomes better engineers that way. This is another reason why asking questions is so important. How are you supposed to grow, learn and become a better engineer without asking others for help? Asking my more experienced teammates questions has saved me months of struggling on my own to arrive at the same answer. It's not a shortcut and it's not lazy.

8. Be proud of your accomplishments

Just shipped a project to production? Completed a task you didn't think you could? Got a promotion? Didn't have any intrusive thoughts that day? Celebrate your wins. It's easy to get caught up comparing yourself to others and minimize your accomplishments. Don't. Have that piece of cake and drink that glass of champagne. You've earned it.

Designed & built by Lindsay Bloom 2023