Advice From Me to Me

a Junior Software Engineer’s note to self after 3 months in the industry

Julia Zolotarev
5 min readJul 22, 2021
2 Spidermans pointing at each other

I graduated from Flatiron’s immersive software development program at the end of January 2021 and started at an incredible company in the middle of April. As I’ve wrapped up the first 3 months of my first software engineering role (how has a quarter of a year gone by already??), I’ve been thinking a lot about some of the non-technical things I’ve learned and somehow still need constant reminders of. If you’re entering the industry, maybe this will be helpful to you too!

  1. Don’t be afraid to make mistakes. I’m certainly not implying that you should go out looking for them, but it’s too easy to get paralyzed by the anxiety of not wanting to break anything, not wanting to cause problems, or wildly overthinking every character of your PR to the point that you’re wasting time. In order to learn and grow, you have to try things you’re not 100% comfortable with sometimes, and things absolutely will break. You will probably make a spelling error in a PR or choose a variable name that isn’t perfect. That’s really ok! It’s part of the process and it’s expected.
  2. PRs don’t need to be perfect on the first try. If there are things you’re not sure about, a PR is a great place to bring up those questions and have a discussion. It’s quite likely you’ll do a bit of iterating based on feedback before the PR will actually get merged. And don’t forget to soak in and enjoy the feedback! It still feels like a luxury to me that several fellow engineers (all of them way more experienced than me) look through my code and tell me how to improve it on an almost daily basis.
  3. Use your teammates/mentors to learn as much as possible. Aside from embracing the feedback you’re hopefully getting on your PRs, if pairing is an option and something you and your teammates feel comfortable with, I would highly encourage it! I have gotten super lucky with my team and pairing is part of our weekly schedule. It gives me an opportunity to ask questions that might be harder to explain over Slack, get exposed to part of the codebase that I wouldn’t have a lot of context on otherwise, and also is just a nice way to get face-time with my teammates since we are remote.
  4. Get good at navigating VSCode (or whatever IDE you use). I didn’t even realize how bad I was at it until I started pairing with my teammates. The big revelations for me (and I acknowledge they are basic so don’t @ me) were cmd + click on a function name to jump to the definition and ctrl + — to jump back to the previous location of your cursor.
    One of my engineering managers wisely told me that all craftspeople have to really get to know their instrument of choice (whether that be a hammer or a sewing machine or a computer). I have a long way to go but getting better at using my IDE has significantly improved my productivity and developer experience.
  5. Your Jr-level perspective can be important too. As a newcomer to the industry, I felt self-conscious when I was asked to participate in interviews for candidates more experienced than me (even though I would always be paired with a more senior engineer). I brought this up to my manager, who explained that my perspective on the interview was valuable since I’d be able to provide insight on how well someone was able to explain solutions knowing that there were multiple experience levels on the call.
    Similarly, having a less experienced developer on a team can help bring out mentorship qualities in the more senior team members which is a great opportunity for development all around.
  6. Ask questions. We have all been told at some point or another that if you have a question, someone else probably has it too. This might not always be the case, however it’s likely to be close to the truth. With any luck, you’re on a team that welcomes questions and doesn’t make you feel silly for asking them.
    There have been multiple occasions where I’ve finally asked a question I was too embarrassed to ask at first — assuming it was probably so obvious to everyone else — only to have it turn out that it was not obvious at all and others were wondering the same thing.
    Even if someone does think you’re asking a dumb question, they’ll ultimately move on and you’ll be one answer wiser.
  7. It’s ok to move slowly sometimes. Sometimes, even on tickets that seem like they should be quick, just figuring out what the current code is doing can take a surprising amount of time. When I started feeling like I was moving too slowly, I brought it up to my team lead, who told me that he would rather I take a bit of extra time and actually understand things than blow through tickets for the sake of speed. (To be fair, he is awesome and extremely supportive so I imagine this level of understanding may vary from team to team.)
  8. Speak up if there are things you need/want. I am lucky enough to have a one-on-one meeting with my (very receptive) team lead every two weeks, so I have ample opportunity to share any thoughts or concerns. When I first started, I realized I was going to need more guidance/face-to-face time, so I asked for more scheduled pairing even though I felt a little embarrassed to ask. Not only was it organized immediately, but it prompted other people to start doing it too, which (I’m pretty sure…) has been really positive!
  9. Stay involved in the tech community. After graduating from my program, I spent a lot of time on tech Twitter, LinkedIn, WWCode meetups, etc. — networking and staying up-to-date in the industry while job searching. When I started my job and was feeling a bit overwhelmed with all the new knowledge, I got out of the habit, and really regret it.
    I’ve recently started to listen to tech podcasts again (Syntax.fm is my favorite), scrolling through Twitter, and meeting people through WWCode donut meetings. In this ever-changing industry I think it’s really important to do our best to stay up-to-date as much as that’s possible.
  10. Don’t forget to have fun! (also — take breaks!) At the end of the day, what you are doing is (probably) not life-or-death, and finding levity throughout the day is really important. For me, having fun at work includes participating in Slack conversation starters (last week’s “favorite songs as a teenager” was a really fun one); going to our remote social hours; throwing on some good tunes while working; and trying to level up my emoji game in the hopes of matching some of the masters on my team one day.

--

--

Julia Zolotarev

Software Engineer; hospitality enthusiast; lover of ice cream.