Profile picture

Interviewing Q&A and Videos

About Interviewing

Should I take a SWE job in government or keep trying to get back into tech after layoff?

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

Hi Taro. I got laid off in April from AWS. I interned at NASA JPL and I am considering going back fulltime and continuing to apply to tech companies. I don't have an offer but I am hopeful I would be able to connect with a team since I interned there one year and have 1.5 YOE at AWS. I have some concerns about joining JPL, because they are prototype and research focused.

  • They don't have many production systems or serve customer traffic.
  • They also operate mostly in small and independent groups so the engineering standards can differ a lot. The research group I interned at had poor engineering and code quality compared to AWS.
  • The engineering environment is different than corporate. Some technologies and experiences missing at JPL that are common in tech are pipelines (CI/CD), TPS, tickets, oncall, debugging large and distributed systems, customer traffic, metrics, operational reviews.
  • JPL pays poorly and has slow growth. You can be there 10 years and make less than an SDE-1 in FAANG.

I don't have any visa issues. Finances are not a problem. Currently I have very low expenses and good savings because I didn't RTO and I am living with my parents. I have 1.5 YOE at AWS and 3 years of internships before that. I see the market picking up so I am tempted to keep trying for a tech company.

Another thing to consider is that there is a lot of inertia when you join a job. I will have little time to look for other jobs in the first few months because I will be busy onboarding. I will also have less time to look for jobs and study for interviews.

Please give advice :)

Show more
Posted 2 years ago
305 Views
3 Comments

Fighting Perfectionism as a Software Engineer (and getting important stuff done).

Data Engineer at Financial Company profile pic
Data Engineer at Financial Company

I’ve come to realize more and more that the greatest thing holding me back by far as a software engineer has been perfectionism. By perfectionism, I mean the mental attitude that says that what I have done isn’t good enough so I need to spend more time on it, or that I’m not ready to do something. This attitude is pretty much the opposite of Meta’s “Move fast and break things”.

Here are a few of the ways that this mindset has hobbled me throughout my career:

  • University (I studied Engineering): thinking I had to read the textbook and do all the assigned questions. My GPA suffered. In reality, my time would have been better spent doing past tests/exams and forming better friendships and study groups with other students to learn what was most valuable to know. I’m speaking from both a GPA-maximizing viewpoint, but also from a long-term viewpoint in the case of better relationships with classmates.
  • Immediate Post-University: Thinking that my coding skills weren’t good enough and that I needed to do a 6-month bootcamp which I did. Hindsight is 20/20, but getting my first job and working from there would probably have been better.
  • First job: Struggling with moving fast. I was at a tiny (<10 people) start-up and they wanted speed. I struggled with the pace they wanted because of things like writing formulaic unit tests that didn’t add much value and needing to constantly walk through my code with a debugger. I do believe that this particular company had unrealistic, unhealthy expectations for a newbie, but I also believe I could have moved faster.
  • General learning: Prioritizing online courses over side projects.
  • Job Hunting: Aiming to get done 150 interview questions before applying, rather than applying and doing mock interviews from the get-go.

I believe perfectionism is particularly harmful in tech compared to other industries since things change so fast.

Maybe this is better answered by a life coach or therapist, but what are some things I can do to limit the pernicious effects of this mindset?

Show more
Posted 2 years ago
277 Views
3 Comments

Learn About Interviewing

Interviewing is an essential skill for every software engineer. The tech industry has one of the highest rates of job switching, so learning how to get good at interviewing can elevate your career. Your ability to transition between roles and companies depends on how well you perform during the interview. Taro offers resources for helping you to excel in software engineering interviews. We provide insights on effective preparation strategies and guide you on how to master the interview.
Interviews are a test for you to demonstrate your problem solving and technical skills. The ability to navigate complex challenges during an interview shows how prepared you are to take on the demands of being a software engineer.
Interviews also assess cultural fit and communication skills. This is important because you’ll be working in collaborative work environments where you need to talk to your team and other teams to execute well on your projects. Having great communication skills means you are able to effectively outline a broader vision of your project, dig into the technical details of your project, and communicate any potential issues to your stakeholders.
It’s crucial to thoroughly research the company to get valuable insights and make a good first impression. You can filter our Q&A by company to see whether there are any relevant conversations about the company to help with your interview. You can also check Blind and Reddit to understand what people are saying about the company. Use our Taro Networking feature to reach out to people in a company to get an insider perspective of the company. The company page should include information about their values and culture. Make sure that you align with these values. You should get a sense of the company’s financial reports to understand their products from a revenue point of view.
You should have a solid foundation in data structures and algorithms to show your experience and problem solving capabilities. Pick a programming language that you are proficient in, and use it for the technical portion of the interview. Leetcode is recommended as the best tool to practice for data structures and algorithms type of interviews. The provide a large set of problems with a code editor for you to solve the problems, and they have test cases and performance profiles so you can evaluate your solution. it’s also recommended to prepare through mock interviews.
The above strategies, along with diving more into Taro interviewing resources, can help you effectively prepare for an interview at a tech company.
Show more