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.

Junior Engineer at Startups profile pic
Junior Engineer at StartupsPosted February 24, 2025

Thinking of Test Cases

A strong theme on Taro is that good testing distinguishes a good engineer from a great one. Thinking of good test cases is not trivial, and I would like to know how the great engineers at Taro approach testing. For example, my company is working on a program (program B, say) that picks up and validates payment requests from program A and sends them to program C, which issues payments, after which program B notifies program A that payment has been issued. I have been put in charge of thinking of test cases, with the biggest concern being duplicate payment issuing. I have only been able to think of 8 test cases that may actually occur in the program. I have been asked to think of 20-30, and I'm finding it quite difficult to do so. I've only written test cases that can occur assuming the program works as expected, i.e. in which the user does something unexpected. For example, at a certain point program B reads data from a file into the database and moves that file into a directory called "archive". I could hypothetically write test cases for the program's behaviour when the file did not successfully move to "archive", but intuitively this seems trivial. I believe I probably am thinking about testing in the wrong way / have insufficient knowledge of testing theory. I approached it by starting with what Alex calls the "happy flow", the way the user is supposed to use the program. I then thought of multiple ways the user could mess up when using the program. My next strategy is to go through the code and see what could go wrong (a sort of "white-box" approach), but this is low-level and time-intensive, so I wanted to ensure that it is a good testing strategy. Most testing I've seen thus far has been "black box", i.e. ignore the code and just play around with different user actions. As always, the advice is very appreciated!

700 Views
8 Comments
Anonymous User at Taro Community profile pic
Anonymous User at Taro CommunityPosted February 24, 2023

Stuck as an Entry Level Engineer

Hello, As the title says, I’m stuck as an entry level engineer in FAANG for almost 4 years now. I’ve been reflecting on what I’m doing wrong. My first company I worked for 1 year and didn’t not like it because the lack of mentorship. I joined and my questions never got answered, the tech lead didn’t really care about giving mentorship, just gave me links and bug IDs. I was able to survive for 1 year but I left the company because I felt so lost. My manager mentioned that I was “on track” to getting promoted but I hated the culture. Then worked for 1.9 years on another company, where I received awards for my projects and contributions. I did receive mentorship here, but I was not able to get promoted. At the end of the timeline my manager mentioned I was moving slower and slower. I was working as a full stack and I believe my error here was not playing my strengths, since every time I had to take another project it would be on a different area, such as server on a language I never used before. I had a few discussions with my tech lead and I felt I lost my team trust because they would give a lot of comments, and just get a lot feedback from other people. This kinda demoralized me and made it hard to keep working so I changed teams. My last team I worked for 8 months before getting laid off. Here I also received recognition for my projects. My first project I missed the deadline because the onboarding had nothing to do with my project. I integrated our tool with an external team, so most of the code base I worked was not even ours (the techlead and team didn’t have much knowledge). Then I was given another project where I was starting to get traction, onboarding and project matched, I had to ramp up again on the new tech stack and my manager was getting frustrated with me, my team was very helpful and I was slowly to become independent. I feel like people trusted me here and code reviews would go smooth this time, at the end I was finally getting positive feedback, but was affected by the layoffs. From reflecting, here is what I did wrong: Not communicating well enough my work with my managers. Status updates I was blocked/learning and that would make me look slow. Not very good mentorship, I feel like at the beginning I needed lots of 1:1 to be able to learn our teams codebase. Sometimes I got very good mentorship but not complete. So I learned well parts of the code base where the tech stack applied. Switching projects too much, went from front end, full stack, server side with several languages. Every time I had to re learn a lot of new of the tech stack. I did get several recognitions for my contribution with at least helps me think I’m not completely inadequate for the field. I am looking for a new position, is there anything that could help me perform well as a mid engineer? Thanks

664 Views
2 Comments
Entry-Level Software Engineer [SDE 1] at Amazon profile pic
Entry-Level Software Engineer [SDE 1] at AmazonPosted September 5, 2023

Finding Your Identity in a Role that Doesn't Quite Fit (while everyone else seems to be growing faster than you)

Hey everyone, I've been abit lost in my job recently and feel disappointed by own performance. I'm part of an infrastructure team, and while the primary force pushing me forward is my personal engineering growth, I can't shake the feeling that the domain itself doesn't resonate with me. That said, being an average l4 I'm not in a position to switch teams. What's keeping me going is the goal of self-improvement, which is helped from being surrounded by my incredibly talented colleagues, each bringing their unique strengths to the table. For instance, our senior engineer is an incredible communicator, teacher of concepts and general problem solver, another engineer is a coding machine and works extremely hard, and an L4 who joined at the same time as me is very customer-centric. In particular, it was through observing the L4 leveraging his strengths, while almost neglecting his weaknesses (he doesn't care as much about code quality and is quite argumentative) that I felt uncomfortable with my own trajectory. I've been so busy with trying to improve all my weaknesses that I'm now reflecting on whether I should focus on my strengths. All of that said, I've been here for a year, and I'm struggling to pinpoint where my strengths lie. I'm willing to put more hours than others but for obvious reasons that should in no way be considered a strength (my manager described me as a hardworker, which i don't want to be known as haha). I'm also a very enthusiastic person and very open to feedback, but it leads me to being pulled in different directions. I don't think I can be an engineer that does it all and I think Amazon wants you to focus on your strengths through their conflicting leadership principles (e.g. bias for action versus insist on the highest standards, deep dive versus thinks big). I've been reading this book called Atomic Habits recently and it really focuses on the idea of identity and how that shapes your habits. It seems like everyone in my team has built an identity based on what they're good at, how can I find mine? And are there certain skills that provide higher ROI over others that I can perhaps focus on, given that I don't really have any strengths right now?

584 Views
4 Comments