Staying on track as a junior engineer while working remotely

5 pieces of advice for getting up to speed as a junior engineer.

The COVID-19 pandemic has impacted everyone in ways large and small. While it may feel minor compared to other challenges that have come up during the pandemic, quarantine may impact a brand new junior engineer’s transition to the workforce. Trust me, I know this because I’m one of those junior engineers.

One of the biggest obstacles I’ve experienced during quarantine has been the increased life obligations of my more senior teammates. Normally, senior engineers are all around you in the office and asking questions is as simple as talking to one right next to you. Now that we’re all working remote due to the COVID-19 pandemic you need to find a time that works for the both of you, schedule a meeting, follow-up on any action items, rinse and repeat.

However, I have my own special ability that I’ve been using to navigate the situation. I came to Capital One through Capital One Developer Academy (CODA) after graduating college. CODA focused more on teaching us how to learn, rather than mastering a specific language or technology. This has been an incredibly valuable skill that continues to help me navigate my career and the difficulties of quarantine, today.

So how can you make the most of the remote work situation and keep your tech career on track? Here are five pieces of advice for being a junior engineer during quarantine, based on my experiences and the guidance of my supportive manager and team.

1. Start with what you know - and make sure your teams knows it

Does your team use a technology or language that you’re already familiar with? That’s the best place to start. Since you’ll already have some background in that tech/language, you’ll be able to learn that particular part of the codebase easier and start making valuable contributions sooner.

For example, my team is a full stack team, and in CODA we learned a bit of Angular. Two days into my new role, my team asked me to work on an Angular story. This helped me greatly as it allowed me to pick up that part of the codebase/application quickly. Had I started working with another language from the get-go, it would have led to a much steeper uphill battle. I would have had to learn the new language while familiarizing myself with the team’s codebase and practices. Obviously, this would have then slowed down my ability to contribute to the team from day one.  

During your onboarding with your new team, you’ll probably have a number of different meetings, including meet-and-greets, knowledge transfers, and one-on-ones with your manager. This is the perfect time to let your team know your background and experience.

Better yet, don’t wait for meet-and-greets to let your team know. You’ll most likely be added to numerous Slack channels. Take the time to introduce yourself in the channels related to your team and organization. Let your fellow peers know what you already know, and what you’d like to learn in a quick blurb. Also, if your team is using the agile methodology make sure to reiterate this during planning and grooming meetings so that you can hit the ground running.

2. Go through the unit tests

Your team will most likely have a good amount of their code covered by unit tests. By going through these, you can learn what each small piece of the code is doing. Once you get a good grasp of what’s going on in the individual parts, you can begin piecing together the bigger picture to understand what the larger application is doing. In addition, going through the unit tests will help you pick up some of the syntax if the application is in a different language than the one you most frequently use.

Personally, my team challenged me for my second task and asked me to increase the unit test coverage of our Spring API. I had little experience with Spring Boot, but was able to pick up the syntax and gain a solid understanding of what our API did by working on the unit tests.

3. Pair program with a peer

If you’re lucky enough to have another junior developer on your team, try to pair program with them. Hopping on a video call and bouncing ideas and advice off of each other is an incredible way to get quick help. You’ll be able to help each other solve issues and boost your own development!

I was fortunate enough to join my team with one other junior developer. Although we were in CODA together, we had rarely interacted with each other before but we spent the first couple weeks working on the same stories and helping each other pick up the team’s codebase.

"When I first started my Technology Development Program (TDP) rotation, I got to work together with Laith on the first few development stories that I was assigned. Being able to work with another new TDP made diving into stories far less intimidating than it would have been alone. Together, we were able to get to know our team's code base very quickly and begin making significant contributions to the application." -- George Swain, Associate Software Engineer

4. ASK ASK ASK

Don’t be afraid to ask questions. The senior engineers on your team want you to learn, so tap them as a primary resource. The sooner you hit the ground running, the sooner you can start adding value to the team and application. Send a quick direct message if it’s not urgent. You’ll most likely get an answer or an invite for a call pretty quickly.

Million dollar advice: Someone has most likely asked the same questions before. Don’t just try Googling it, use your company or team’s internal resources as well.  Is there a Slack? A Confluence or other internal document hub? Check them out for answers. However, spend a maximum of 30-60 minutes on your own before asking; don’t waste hours banging your head on the wall when a teammate or peer could answer your question in two minutes.

"I encourage people to reach out to engineers outside of their team too and post on Slack channels themselves. I direct message random people I see in Slack channels fairly often. And anecdotally, I once saw a manager post a screenshot in Slack of the AWS console and he had circled the delete button and said “Is deleting a stack as simple as clicking this button?” I realized after that it’s better to get things right than risk doing it wrong b/c you’re afraid of looking inexperienced."  -- Karan Patel, Associate Software Engineer

5. Tackle your impostor syndrome

Does it feel like the learning curve is steep and you’re tackling it slowly? Don’t let it get to you! It could take at least six months before you truly grasp a new language or technology and a year before you start becoming independent. I get this feeling, my peers get this feeling, and even my seniors get the same feeling. You just have to put your head down, grind out the work, and in a week or two you’ll realize you don’t give yourself enough credit.

One of the smartest engineers I’ve ever met once said, “It took me two years before I knew what I was doing.” Progress will be like walking around a dark room with a candle and lighting unlit torches. Constantly check in with your manager to discuss progress.

“There's always more to know, something you could be doing better, and weaknesses that you have that you can overcome.  I've been working on software professionally for fifteen years and I still have impostor syndrome.  But you're here for a reason - because Capital One has a rigorous hiring process and decided that they wanted to invest in you because of your strengths, and knowing that you can mitigate your weaknesses while growing as a professional.  Believe in yourself and trust that you are at Capital One because you are smart, talented, and have good critical thinking skills.  You are here because you deserve to be, and as an organization, Capital One values everyone's input and problem solving ability, so don't be afraid to speak up, ask questions, and contribute to group discussions.” -- Rick Snyder, Lead Software Engineer

6. BONUS!

Last but not least, a bonus tip: take care of your mental health.

Quarantine is lonely and it can be scary making the jump from school projects to production code while working remote. Get to know your team in a more relaxing environment by attending, or even scheduling, a virtual happy hour or game night. My team makes an effort to have an event monthly where we play some type of game such as Jeopardy during lunch. Fun events like these can go a long way in both taking care of your mental health as well as building chemistry with your teammates!

***

Keeping all of these tips in mind will help make your transition into your first junior engineer role much easier. Be sure to take care of yourself and remember that everyone is searching for the right way to navigate through this pandemic and we’re all in this together.

You know more than you think and your teammates have got your back!

I wanted to shoutout my amazing and incredibly supportive team for helping me make a smooth transition during difficult times. I’d especially like to thank: Jagathi Gade, Rama Reddy, Rick Snyder, Tom Laning, Lakshmi Ramakrishnan, George Swain, Nika Pogrebna, Dave Schmidt, Henjo Mey, Dave Hayes, Charmane Sia, Karan Patel, and Jasmit Sarai! It’s an honor and a privilege to work with each and every one of you!

Check out some other Capital One blogs on working from home.


Laith Abushaikha, Associate Software Engineer

Laith Abushaikha is an Associate Software Engineer in the Technology Development Program (TDP). Following his graduation from George Mason University in 2019, Laith attended the Capital One Developer Academy (CODA) where he honed his coding skills prior to becoming a TDP. Laith is a developer by day and sports enthusiast by night (especially Manchester United and the Baltimore Ravens).

Related Content