Profile picture

Interviewing Q&A and Videos

About Interviewing

Fear of picking a specialization/niche: Is focusing on front-end okay?

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

Hello Taro Community

I want to pick a specialization now due to the market and the lessons I’ve learnt being in the group.

A little context on the issue:

I had a mindset that more technologies I know the more options I’ll have and also working as a full stack dev in my last position I got a lot of hands on experience on different stacks. More like breadth of knowledge but not depth.

I was applying to jobs like Database, UI/UX, Front End, Back End, Software and DevOps couldn’t land any interview in the last job hunt.

Last month I let everything go and I told myself I’ll specialize in “Full Stack”. I have been also working on side projects for my portfolio.

However, a lot of senior devs told me Full stack is too broad and 2 and 1/2 years of experience that won’t cut it.

I want to specialize in Front End with React and go very deep in that. Build projects pertaining to React Front End for my portfolio.

My fears:

  • I’m closing down my options, and limiting myself to Front End
  • Also being a foreign student where you kinda have to “work in tech” since that’s my major a lot of fear is coming up. In case the time I go back in the industry there is lack of front end openings
  • A lot of family friends in the industry telling me that Front-End specialization will be a waste of time since the industry is very saturated with it

Deep down I have realized specializing will really make my portfolio, knowledge and resume stronger. Plus Front-End is something I genuinely am drawn to and enjoy doing.

Would love to know your input on this.

Show more
Posted a year ago
641 Views
5 Comments

How Long to Complete Take-Home Assignment II

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

My was “When given a take-home assignment, what is a reasonable turnaround time to get it back to them?” I now know it’s within a week.

I was given the assignment to create a basic Django app and was told to spend no more than 3 hours on it. Here’s the short text of the assignment description:

Table Metadata Extractor (Python)

Please provide a Python Django application that has one API endpoint which accepts a database connection string from your DB of choice (Redshift, BigQuery, Snowflake, MySQL, Postgres), connects to the database using and returns a list of the TableMetadata data objects (see below) for all tables in the database.

TableMetadata = {

columns: List[ColumnMetadata]

num_rows: int

schema: str

database: str

}

ColumnMetadata = {

col_name: str

col_type: str

}

Bonus points for:

·         Instructive error messages for improper connection strings or other invalid input

·         A solution that is efficient

As a Data Engineer/Analyst, I haven’t done web-dev stuff in years and have never used Django. My immediate instinct upon reading this project description was to find a resource to learn Django online. I’m not sure this is the right instinct, because software is about doing more than learning as Alex has mentioned so many times.

The way I see it, I have 3 ways to approach this assignment:

  1. The way I just mentioned. Go down a learning path (hopefully not a rabbit hole), learn about Django and try completing the assignment.
  2. Dive right in, try building the solution from scratch, Googling and ChatGPTing liberally.
  3. Don’t do the assignment, spare myself the time and headache, and beef up my Python web-dev skills for the future.

The first approach requires the most upfront time. The second might be longer or shorter than the first. And the third doesn’t require any upfront time but requires a commitment to being in a much better position to do the assignment in future.

This is the second time in a couple of months I’ve been in this position since I was given an assignment for a different company to build a Flask app and did a shoddy job with it.

My first question is, which of the 3 options should I do to address this time-sensitive situation?

My second is, how should I address this situation long-term? Building some web-dev projects in Python with Flask/Django/FastAPI seems pretty logical. I don’t get to work with them at work, but I could spend a few weeks building stuff with them. I guess that’s the answer, the key is to avoid tutorial hell.

My third is, how should I think about take-home assignments in general? Should they stretch me a lot in terms of learning new things or conversely, should I be, say, 80% comfortable with what I need to do, just stretching a bit here and there to do stuff?

Thanks!

Show more
Posted 2 years ago
609 Views
5 Comments

Side-project - Data Eng, Full-stack, or mobile?

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

I'm a Data Engineer looking to break into FAANG. As such, my time outside of work right now is spent applying to jobs, asking people for referrals, and networking. When I have interviews, my focus shifts to Leetcode.

I really want to build a side-project though both because it's fun and because it will help me perform better at future jobs.

My (common) issue is this: where do I start? Not in terms of the problem I am solving. I have a super-smart friend who's a lawyer and an MBA who's into fantasy sports and he has neither the time nor the ability to create an app. I feel like I could just generate a bunch of different ideas with him and pick the one most interesting to me.

I mean in terms of tech area. Alex and Rahul are both mobile developers and that naturally lends itself to great apps. I know Alex has mentioned that in a vacuum, it's better to focus on front-end for side-projects. I have no experience with front-end or mobile, some back-end dev experience and a fair bit of data.

I could build a data eng project. Start Data Engineering has some great projects on his blog () and there's definitely plenty of examples online (e.g. ).

My question is whether I should build a DE project. I'm not particularly wedded to DE because I feel like I want to do more SWE work and less business analyst work. Above all, I want to get into FAANG for the boost to my learning, career, and comp. DE is prob the easiest way of getting there but again, not wedded to it.

So I see my options as a) doing a DE project (maybe using the projects above to get my feet wet); b) doing a full-stack project (hard to do a back-end only project I think); c) mobile? (Alex and Rahul are tempting me).

Is there any advantage to mobile over a web-dev project?

If I do b or c, I'm concerned about falling into tutorial-hell or at least taking too long to learn before building. I'm tempted by a full-stack course like Zero To Mastery's full stack course, but it's 40 hrs, and I know it's prob not necessary.

Just want to add that I'm a newb for side-projects and I'm aware that I can and will experiment with multiple project types once I get started.

Sorry for the unstructured thoughts here. My brain works on NoSQL, not SQL ;)

Show more
Posted 2 years ago
594 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