Mistakes & Lessons From My First 8 Months as an Engineer
The first day of my software engineering apprenticeship was about 8 months ago! I took some time at the start of the New Year to reflect on my experience so far and realized there were some mistakes and a few really valuable lessons that I want to share with my community here! Hopefully these reflections and tips are helpful for you in your journey.
Top 3 Mistakes:
1.Not asking for help (or asking for help too late).
I can be prideful and quite stubborn. In some areas of my life, these attributes have served me well. When it comes to being a code newbie, however, these things have hurt my progress a little. I used to feel a deep sense of shame around asking for help because I thought that admitting I don’t know something or can’t do something on my own meant that I wasn’t smart or capable. The truth is: not only is it okay to ask for help, it is wise to do so! Having the awareness and confidence to ask for help is a great testament to your resourcefulness, resilience & intelligence overall! And often, asking questions is beneficial to you and your employer. Companies want new employees to get acclimated and onboarded as quickly and efficiently as possible, because the sooner you understand your work, the sooner you can make meaningful contributions to your company. So, get the answers and assistance you need as soon as you realize you need it! With my first set of bugs and projects at work, I’d spend long nights and weekends banging my head against my laptop trying to make sense of things. Rather than admit that I was stuck during standups, I’d say “All good, no questions!” All that did was make me take ten times longer on my tasks. Now, if I can’t figure something out after giving it my best effort, I reach out to my mentor or my peers for assistance. I have two small recommendations for you if you find yourself feeling too afraid to get help:
Check out this Harvard study that found that individuals actually perceive those who seek advice as more competent than those who do not seek advice. It can be a great reminder to you that smart people ask for help!
Reflect on this Confucius quote that I repeat to myself whenever I feel that fear: "The [person] who asks a question is a fool for a minute, the [person] who does not ask is a fool for life." Sometimes, asking a question can be the most efficient path to clarity.
2. Forgetting to be a student & maintain my curiosity.
The first few months of my programming journey, I was curious about everything. At some point, though, and I’m not exactly sure when, but I stopped asking “why” and became focused on solely fixing my bugs and doing the baseline requirements to complete my to-do list. And while that isn’t bad, I do feel that it stifled my growth a bit. I forgot to stay curious and embrace the mindset of the student.
I always think about this quote from Beyonce’s Homecoming Netflix special about avoiding things that people aren’t good at. “That’s why people don’t like to rehearse,” she tells one of her choreographers. “You’ve got to be humble. You’ve got to be willing to look awkward. You’ve got to study. Be a student.” Computer programming is an extremely complex, nuanced, and intricate subject that many professionals devote years and thousands of dollars in formal education to. And while I believe that anyone could learn to code with or without paying for a degree, I also think that understanding the intricacies of the topic requires continued time and effort in one way or another, especially as the industry evolves and new frameworks and languages become popular. As self-taught programmers, what others learn in a classroom setting we sometimes learn as we build, or as we prepare for job interviews. Though we may not have a professor or grades, we are still students and we should try to maintain our sense of curiosity and wonder about the complex topics before us. For a while, I did not put in the necessary hours to study outside of work. I did not ask “why” or try to understand how things worked. I now have a weekly schedule that includes some time to simply be a student. I try to read or do online courses at least twice a week. Right now I’m taking Harvard’s free CS50 Course and learning so much about the fundamentals!
3.Not putting enough effort into relationship-building at work.
For a really long time, I didn’t feel particularly like I “belonged” on my team. And while some of that is probably just due to the fact that I was onboarding to a new team in a new industry during a pandemic, I do think I could have put more effort into getting to know people. For the first few months I didn’t really schedule any 1:1s or speak up during those first few minutes of small talk in team meetings. No one ever mentioned any of these things, but I don’t think they helped me feel connected. Toward the end of my apprenticeship, I scheduled 1:1s with random people on my team to get to know them better, and it really helped! Another turning point in my relationship-building with my team occured when I was invited to a Halloween party hosted by my team’s tech lead. I was terrified to go, but I forced my roommate to tag along with me in case I needed a social crutch. We went and I ended up having an amazing time and bonding with some of my teammates there. I’d also mostly avoided optional meetings due to just general social anxiety and fear of awkwardness up until last week, when I attended a team hangout meeting for the first time. The meeting went so well and I learned something new about each of my colleagues! It was so nice to see them as people discussing their lives instead of just work. I really wish I attended more of those optional team meetings, but moving forward I most definitely will! I won’t lie and say I’ll attend all of them or that I’ll be there the entire time (honesty is the best policy) but I’ll try to pop in for a few minutes at least once a month. :)
While I do have some regrets about making these mistakes during my first 8 months as an engineer, I also have some gems that I plan to take with me throughout the rest of my career as an engineer and beyond! Here they are.
Top 3 Lessons Learned:
Document everything! Take thorough notes on bugs you solve, work projects and their objectives, and even take your own individual meeting notes or screen recordings for tech walkthroughs to reference later. Your brain is already taking in so much new information, do it a favor and give it plenty of reference material to look back on. I use Notion to keep track of my weekly work goals and to take detailed notes about projects and bugs. While I can’t share too much regarding what I work on, I scrubbed one of my note pages and have it linked here as a template in case it’s helpful! https://www.notion.so/sample-task-1-bug-fix-68c8ad84f58544e4a88a137b2e2c7c73
Be vulnerable and honest about your skills gaps. “Fake it till you make it” is not great advice for code newbies in my experience. You can only grow when you’re honest with yourself and your community/mentor/peers about your strengths and gaps. One example of a great way to practice radical transparency about the areas you want to grow in is to ask your mentor if you can explain a subject that you want to master to them. You can ask to do a “Subject 101” practice explanation to them and get feedback on your understanding. I recently signed up to do an informal “Redux 101” presentation to my mentor and a coworker. It is definitely something outside of my comfort zone, but I know it will help me grow stronger as an engineer!
Take initiative intentionally. This idea just means that you should take initiative & be enthusiastic about contributing to your team, but in an informed and honest. Raise your hands for projects that need more help, only after you understand deadlines and make sure you can work to completion before you officially agree. Showing effort is always appreciated, but try to do so in a way that sets you up to honor the promises you make to your team! Remember that saying “yes” to everything thrown your way may lead to burnout or disappointment from unmet expectations.
I hope that sharing these mistakes and lessons has been beneficial to you in some way! What are some of the mistakes you’ve made in your career so far, and what have you learned from them?