Profile picture

Junior Engineer Career Development Videos, Forum, and Q&A

How A Junior Engineer Can Grow Their Career

Almost every software engineer starts their full-time career journey here. The content here breaks down how you can start your career off with a splash and grow past this level as quickly as possible.

Deciding Between a Career in Backend or Mobile Engineering: A New Graduate's Dilemma

Entry-Level Software Engineer at Taro Community profile pic
Entry-Level Software Engineer at Taro Community

I'm a 2023 new graduate working at a mid-sized software company that operates remotely. The company has a rotation program for new graduates, and my first rotation was with the backend team. After six months, I moved to the mobile team, and in another three months, I must decide whether to stay with the mobile team or return to the backend team.

Both teams have positive cultures, work-life balance, teammates, and managers. However, it seems the mobile team's manager faces more pressure from the leadership. The work I've done on both teams has been interesting, although the mobile projects were more challenging. This has forced me to think more about structure and patterns when writing code. It's clear the mobile team needs more engineers, while the backend team receives a steady influx of new graduates each year.

There were noticeable differences in the onboarding processes of each team. In the backend team, my tasks were intentionally organized, starting with simple tasks like deleting a few lines of code and gradually moving to small projects with pre-written design documents.

The mobile team gave me a series of official tutorials for the first two months. The tasks varied greatly in difficulty—some incredibly challenging and others relatively easy. I understand the difference, as the backend teams have more experience with new graduates, while the mobile team typically hires experienced engineers directly.

My decision pivots on whether I should pursue a career as a backend or mobile engineer. I am grateful for the rotation opportunity my company has provided, but I'm unsure about the next steps. What factors should I consider when making this decision? What kind of question should I ask my managers or help I can get from them for making a better decision?

Show more
Posted 6 months ago
119 Views
2 Comments

How do I improve at building systems?

Entry-Level Software Engineer [IC1] at Nvidia profile pic
Entry-Level Software Engineer [IC1] at Nvidia

I work on a product that runs on a variety of architectures, with code split across many GitHub repositories. We have a complicated build process. When making changes, I often struggle to find a way to run those changes efficiently (i.e. outside of the CI process). This is made worse when I need to make changes that also change the build process or need to run debugging tools like GDB.

When I onboarded, I was told that everyone has their own setup by people who've been on the team since its inception. It seems like people newer than myself have figured it out, even with how messy and changing everything is. However, I've been here for over a year and the team tends to work quite independently. Occasionally, folks will be quite helpful for a point or two, but generally everyone's stretched a bit thin and tends to focus on their tickets. My manager has also rebuffed any requests for collaboration or mentorship since I started, saying that I'm expected to be independent to show I'm ready for the next level. He did say I could that I could try to change the team's culture to be more collaborative if I wanted to take initiative, but that's not what's expected of a software engineer, especially if I want to do well and get promoted.

This question may be more about how to correctly get answers answered when you're no longer new, but I also feel that building (CMake, Docker, environment setup, package management, etc.) is slowing me down. Are there good processes for getting more efficient at building components/systems and unblocking yourself faster?

Show more
Posted 2 years ago
117 Views
3 Comments

Should I switch teams if I am really early on in my career?

Entry-Level Software Engineer [SDE 1] at Amazon profile pic
Entry-Level Software Engineer [SDE 1] at Amazon

Background:

I interned on my current team last summer and returned full-time at the beginning of this year. I've been performing well and have a great relationship with my co-workers, manager, and skip manager.

However, I'm not satisfied with the level of engineering in the org as a whole. Specifically, our service does not operate at a high scale and thus the engineering constraints are very relaxed. It feels like we can get away with making poor decisions and I often think that I am not learning good engineering principles by being here. It also feels like my peers are not that ambitious or passionate about engineering which makes me feel like I don't fit in at times. As a result, I'm looking to change teams even though I am only ~6.5 months into my career.

I recently did an internal loop with another team that does very interesting work with high-scale and low-latency services. The interviews went well and I was given the transfer offer. I think my mind is mostly made up on joining the new team, but just wanted to ping-pong my situation with the Taro community as a sanity check on whether I am making the right choice.

I'm aware that switching teams is essentially a "soft reset" on my promo timeline. I have a lot of substantial work artifacts from my current team such as: code reviews for important feature work and docs that contributed heavily to the service we just launched.

I'm okay with taking a hit to my promo timeline because in my mind, if I zoom out and view my career as a 30-40 year span, it won't really matter whether I got promoted from new grad engineer in 1.5 years or 2.5 years.

What does the Taro community think of my situation? Am I thinking about this in the right way? I tried to keep some details vague as to not speak too negatively on my current team in a public forum. But I'm happy to provide more details to the best of my ability!

Show more
Posted 3 months ago
110 Views
3 Comments

Non technical person is doing my technical interview, what should I expect?

Entry-Level Software Engineer at Taro Community profile pic
Entry-Level Software Engineer at Taro Community

Hi! I have an interview with the company that laid me off some months back. The manager who reached out to me for the role claimed that two people who work on this team already know me, so the idea would be to hire me on a contract, then get to work early since I know the system already, and get some quality work done fast. The manager and I have a pre-existing relationship: he was consistently checking in on how I was doing as I was in the process of officially leaving. This manager said he wanted to help me out, and that this role looked "perfect" for me. Given the market these days, I jumped at the idea.

There's one really strange look to this. The recruiter told me from the jump that they're interviewing other people with 3 to 5 years of experience. Although I appreciate the honesty, you can imagine I'm pissed about having to fight other people for the job I deserve to have back (which the manager said I look "perfect" for), but I'm not going to voice that to the company because I'd look arrogant. This recruiter I was speaking with last Friday also said in an email "The interview panel will be mixed up a bit to try and be as unbiased as possible. They are excited to speak with you." Makes sense, because another thing in context here is that I do know quite a few people in that company.

I got the name of who's interviewing me yesterday. I found the person on LinkedIn, and was very perplexed to see that it's some financial consultant person within the company. Someone with a very far from tech background, performing an hour long technical interview? Just ONE person, on top of that. I've seen interviews there where 3 people are grilling the interviewee.

I have no idea what's going on. But I have 3 ideas. Firstly, maybe they're thinking "let's just give you the job and have a random interview you". That'd be nice, but I don't think it'll be that easy, so the second idea is they might be finding a technical interviewer, so they can run a strategy of "behavior cop/tech cop". Or, the last idea: they don't care and are gonna blow me off. Whatever happens, the company I'm interviewing for is opening up a LOT of software engineer spots in my area, so they're gonna try to find me a new position.

I've asked multiple of my friends at the company what this could mean, but no one knows. I'll update this question when I receive an answer, but I wanted to gauge what y'all thought here.

Thanks.

Show more
Posted 4 months ago
106 Views
4 Comments