Profile picture

Big Tech Q&A and Videos

About Big Tech

Side project feedback - Uber/Lyft simulation

Senior Software Engineer at Series B fintech startup profile pic
Senior Software Engineer at Series B fintech startup

I'd like to ask for your feedback on my side project - a full-stack simulation of a ride-hailing app such as Uber or Lyft.

App: 
Blog: 

A bit of background first. I've been wanting to publish a personal full-stack project for a while. These were my main reasons:

  • I wanted a platform to explore concepts and tools I don't get to work with in my day job, helping me accelerate my learning.
  • I've wanted to break into big tech and thought this project could help me stand out among many applicants.
  • I enjoy writing and wanted to get better at it.

Why did I choose a simulation of the Uber/Lyft app? I always found something very attractive about these apps - they're visually appealing and dynamic, with colossal architectures behind them. I thought it would be very cool to re-implement some aspects of such an app. I have also been reading the Uber engineering blog and got a glimpse of the complexity these companies are dealing with.

My final goal with this app was to have an animated map with cars picking up customers, driving them across the map and dropping them off at their destinations. Customers would post ride requests and the system would match them with the nearest drivers. The simulation would run on the backend, and the frontend map would show the action in real-time.

I started working on the project last autumn. I've spent around 300 hours working on it and you can see the result in the links above.

My ask

I'd love to get your feedback to improve or extend this app and my blog, keeping in mind my objectives:

  • I plan to apply to big tech companies this summer, and I'd like this project to help me with my applications.
  • The project targets both recruiters and hiring managers. With recruiters, the goal is to pass the initial screening and get me to the interview stage (of course, I'll also be trying to secure referrals, but I might not always succeed). With hiring managers, this project might help me score extra points in my final evaluation.
  • I might be applying to companies such as Uber or Bolt, but this project is not supposed to impress just the ride-hailing companies.
  • I prefer not to put much more time into the project at the moment, as my focus right now has to be on the coding interview prep.

Possible additions or improvements include:

  • Splitting the system across multiple machines (perhaps 3), making it truly distributed.
  • Adding various components used in large-scale systems such as load-balancer, rate limiter, or message queues. Indeed, these components are not actually needed for the app to function. But by doing so, I could demonstrate my ability to work with them (albeit not necessarily demonstrating deep expertise).
  • Adding comprehensive documentation with system diagrams and explaining the choices I made.
  • More rigorous testing by adding integration tests (right now, I only have unit tests).

As for my previous background - I've been an engineer for ~4.5 years, most of my experience is from a small startup (series B). I consider myself a full-stack engineer but going forward, I aim to specialize more in the backend. Therefore, the project should strongly communicate my backend skills. For my next role, I also prefer backend positions to full-stack ones.

Recently I watched the great masterclass from Rahul and Alex on side projects. It made me realize that while my project might be interesting from a technical perspective, it has no users. In fact, this app doesn't allow any user interaction by nature. However, what I'm lacking in terms of users, I'm hoping to make up with the degree of technical complexity. Please also share your views on this aspect.

Many thanks if you've read this long post to the end. I'll be very grateful for any tips on how to make this project more appealing 🙏🏼

Show more
Posted 2 years ago
421 Views
4 Comments

How to resolve conflicts between coworkers?

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

I’m an E5 iOS engineer at a Big Tech company. An E5 Android engineer (let’s call him A) on my team is very direct & blunt in his communication style. If he doesn’t like something, he’ll definitely let you know. An E5 backend engineer (let’s call him B) on my team is the complete opposite in his communication style. A and I collaborated on an official spec that we shared with our entire team to align everyone. B deviated from this spec in his RFC, but had tagged A and me on his proposed name change in the sample json response in his backend RFC.

A called B “sloppy” for embedding the source of truth in the backend RFC’s sample json response instead of using the official spec as the source of truth. This offended B, who viewed it as “finger pointing”. From B’s perspective, it was an innocent misunderstanding that’s easily resolved since it’s so early in the project that not much code has been written. It’s a single string that can be easily changed on both the mobile and backend sides. B thinks that A is making a mountain out of a molehill.

I worked closely with B last quarter and really enjoyed it. He’s extremely kind, easy-going, encouraging, and puts you at ease. If you make a mistake, he would never call it out explicitly. A seems to be the complete opposite of all those things, but I haven’t worked much with A yet.

Both A and B vented to me privately for support. A thinks that B is “sloppy” for burying the changes in the backend RFC instead of updating the official spec. B thinks that A is “difficult to work with” and “points fingers” over something that can be easily resolved. We’re still in the early stages of this project, and B doesn’t know how he can work with A if A keeps finger pointing.

When I suggested that A sugarcoat the “sloppy” comment, A told me that’s already the sugarcoated version.

B’s planning to escalate this to our EM, since he suspects that A will as well, so he needs to “defend himself”. Any advice on how I can improve the situation? Sadly, I feel that most engineers at this company use A's "direct" approach. I personally get along fine with both of these individuals (so far, at least), so they both confided in me. I think that A is “right” that the source of truth should be in the official document, but the manner that he communicated it could have been improved (not that I’m an expert at this skill either!). Are there concrete actions that I can coach A on to make him a better teammate to work with? When another teammate (E6) previously berated B in front of the entire team, I escalated it to my EM on B's behalf and my EM had intervened. Should I just escalate this to my EM as well? There are some strong personalities on this team that are going to make this project challenging. Sigh.

Show more
Posted 2 years ago
415 Views
6 Comments

Is it worth it to be downleveled to get into FAANG?

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

Context

I did a few interviews in the last months for some software engineer, and in the end it came down to 2 companies: Google (started loop as L4 but got downleveled to L3) & DoorDash (L4). I'm L3 at another tech company (smaller than these), already scheduled for promotion for L4 as I've been performing accordingly for some time. Per my understanding, levels (L3/L4/L5 or E3/E4/E5) are similar between these companies.

I have around ~4 YoE now and graduated 2 years ago, though only 1.5 YoE on larger projects at US companies (i.e. roles that I suppose would be closer to a FAANG environment), as I worked on smaller local products and consultancies before. This is my first time actually preparing for this format of interviews, so I'm kind of glad that I at least passed L3 for Google.

Offers

DoorDash already extended an offer and Google said that HC approved for L3, but still have to go through team matching. DD's offer has significantly more TC (like >30%).

Doubts

I really wanted to join Google at first since I have tons of friends and family working there, but at L3, seems that I would be taking a step back just for the sake of being able to say that I worked at Google, so I'm actually biased towards going to DoorDash, here's my rationale:

  • Significantly more TC
  • Remote-friendlier
  • Already worked (and enjoyed) with a lot of people that I would be working with at DoorDash (also likely why they accepted me as L4 instead of L3, because I had some 'advocates' there). While at Google I still have to go through team matching and I don't have a clue on what I'd be working with.
  • Would start as L4, with a higher performance bar and expectations, and aiming for 1~2 years later would be looking at L5, instead of still looking at L4 at Google.
  • Even if I got promoted quickly at Google, would likely be at the lower band of L4 salary, so not only 1~2 years of lower TC and possibly smaller scope, but likely even more.
  • This is my first time preparing for this type of interviews, so even if I want to join Google a year or two down the line, I would have not only more experience under my belt for both behavioral and technical interviews, but also more time and resources to prepare.

What flaws can you find in my train of thought? I find this very confusing to take a decision, seems that it is a common situation as I searched for it a lot and everyone seems to call FAANG in general as "kings of down-leveling".

Show more
Posted 4 months ago
403 Views
8 Comments

What is the ideal time required to get properly settled in the team and working with autonomy?

Entry-Level Software Engineer [Associate MTS] at Taro Community profile pic
Entry-Level Software Engineer [Associate MTS] at Taro Community

Hey folks have started out on my first full-time job as an Early Career SWE at a Big Tech Company. Wanted to ask what is the ideal line of progress in terms of as months pass by.

For example in 3 months at least I should be capable of doing XYZ things.. in 6 months XYZ things... and within a year's time XYZ things independently.

I ask this question mainly since it's going to be close to 5 months of joining and I do require handholding with other peers on the team my aim is to operate as independently as possible. One of the feedbacks in the first quarterly check-in was to go in full depth for the debugging and independently create test plans for the work assigned before asking questions.

As for the creation of test plans yes since the codebase is too large I do tend to ask other team members if there is an existing functionality that can be leveraged or in case I get stuck as to what to do ahead or when I don't understand something.

The good feedback was the questions I asked were formed and detailed.

From the feedback, I am kind of at a crossroads in understanding whether I should ask questions or not ask questions and also crippled with self-doubt

Another pointer was how to be assertive in the sense I tend to be scared to share my ideology or idea about how we can potentially do something. Communicating with peers also seems intimidating especially Senior or Lead members or Manager too.

Is there a more proper way to communicate/send messages? The primary mode of communication is Slack and at times threads get bulky.

Any tips to understand the feedback properly and improve on the above pointers or in general are highly appreciated. I hope to get better at being a good SWE.

Show more
Posted a year ago
401 Views
5 Comments

To FAANG or not to FAANG?

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

I live in orange county, CA. I have about 30 years of tech experience where I was a software engineer for most of these 30 years. I also had couple of jobs as manager leading a team of software engineers. For last 5 years, I have been working as a senior software support engineer for a local company here in Orange County, CA.

So I would rather be software engineer than be in a support role where I just do mindless support of enterprise software. And its not very challenging either. So when I started working for this company, 5 years ago, I started to teach myself angular and typescript. Worked on a project and deployed it live on the website and learnt a lot. And really enjoyed programming.

But then 1 year ago, I started applying for actual jobs in angular programming and got zero response. Zero emails from the companies. Zero interviews from the companies. That was very scary. So a friend who works at Microsoft, advised to prepare and apply for SWE job at Microsoft. She mentioned that MS would not care about lack of my latest/greatest experience. If I pass the coding interview, I have a good chance event to get an entry level SWE job which is better than what I am doing these days.

Another reason I would like to work at MS, is that all my 30 years I have worked for midsize companies. I would like to work at MS because I will be surrounded by really smart engineers and people.

I am lucky to have a job, Pay the bills and have health insurance for me and my family. A year ago I started the interview prep, leet code, algoexpert etc. But then for some reason for last 4 months, its really hard for me to study. May be its my age. May be I get very tired after all day of work, and just watch mindless TV and eat sugary snacks and waste my time and health away.

When I used to work on my angular skill sets I was really energized. I had small tasks already in my queue. I could easily get in the flow when programming.

But My highest priority right now is to get a job at Microsoft as a SWE so that I have job part taken care of. Then after that I could work on side projects so that is why I am focused on interview prep but that is not dopaminergic for me. If I work on interview Prep and work on a side project, that could be distracting and not very focused effort (I think)

I feel depressed about my career. Some of my friends are directors, VPs, CIOs for medium to large companies. Here I am still angling for mediocre DEV jobs.

Any how, here at Taro, I would like to meet, interact with engineers, and really find my passion back.

I would really like to join a mastermind here at Taro, where I could hangout with engineers where we could have a conference all once or twice a month, motivate each other, etc.

Thanks for reading..

Show more
Posted a year ago
399 Views
6 Comments

How to write resume and apply to jobs after being a failed startup founder?

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

I'm in my early 20s and started a startup with my friend from college shortly after we graduated. We got into Y Combinator and worked on the company for about 2 years in total before shutting it down recently. I didn't go to a name-brand school, and didn't work full-time anywhere after graduating, but I did a few prestigious internships, one of which being in Deep Learning.

I've heard larger companies and recruiters in general don't like former founders, and I mostly did sales/product for our startup. We built a few web-based products and a few AI infra/AI apps, but nothing crazy and nothing with massive traction. We spent most of our time pivoting and doing user interviews/sales.

I want to get an engineering job rather than PM, because I have internalized the value of being technical when being a founder and don't want to give entrepreneurship up yet. There aren't too many entry-level positions open, and I was hoping to not have to go into an entry-level role, but simultaneously I'm not sure I have enough experience to feel confident in being self-sufficient as an engineer.

Before starting the company, I had a return offer at one FAANG company, and a New Grad SWE offer at Facebook that I let expire. I emailed my recruiter to try to reinstate it, and she implied that I would not be eligible for New Grad since I was too far from my graduation date.

Ideally, I'd like to work in AI at a larger company since that's where all my experiences in college were and where I see the most opportunity (ideally OpenAI or FB). Otherwise, probably back-end/infra at a post-IPO startup/FAANG or worst-case post-PMF startup. I have a few questions:

  1. Should I only apply to entry-level engineering jobs, and am I even eligible for them? If not, what level of experience should I apply to and how do I convince them I'm qualified?
  2. How should I write my resume/describe my experience+title (especially for larger, more bureaucratic companies which are less open to former entrepreneurs)? Should I even include that I was a co-founder?
  3. How custom should I make my resume for each different kind of job I'm applying to (new grad swe, new grad mle, ai eng, at faang+ vs. growth stage startup)?
Show more
Posted a year ago
388 Views
6 Comments

How do I move ahead in my career?

Anonymous User at Taro Community profile pic
Anonymous User at Taro Community

Background: I studied Bachelor's in computer science from a Tier 3 college in India and joined a reputed early-stage startup (Bay Area based) as an Operations Manager in India. I worked there for two years, and during that, I got exposure to technology. I gained tech skills by myself and moved to another startup as a Backend Developer.

I have been working as a Backend Developer for the last five years. All the companies I have worked for and left were in the early stage, so until now, I didn’t progress much in my career and still hold the designation of Software Engineer. I am earning and learning decently in Dubai, but I feel like stuck and not moving forward as I don’t see my future, at least in the current startup. I work as an Individual contributor, and management is pretty naive here.

I don’t understand what to do to move ahead from here:

  • I don’t feel much enthusiasm for engineering as my other colleagues and friends feel, so I feel like doing MBA and trying Product Management. But I am also not sure as I have already changed my career path once, and I am already 30 years old, so, not sure if doing it is a good idea or not. It's costly as well, so not sure it's a good investment. My wife is also doing an MBA, so I feel maybe FOMO is causing me to try it and get out of this zone.
  • One question that keeps me curious is why most of the engineers who are already working in Engineering don’t go for MBA.
  • Another option I feel is to try a Master's in computer science as its relatively cheaper than MBA also, I have been doing tech for the past five years so it can be a supportive degree, but I don’t love tech so much that I want to spend whole life in it, so I feel may b its also not a good idea.
  • I have a very limited professional circle as I have worked in very small startups and studied at Tier-3 college, so I feel like MBA/MS can help.
  • I feel like maybe I can also try FAANG instead of MBA and MS and see what happens from there, but I like my current work with elixir and enjoy it, so I don’t feel much happiness while doing preparation.
  • Also, I feel it's been three years here. We are two backend developers here, and we have good money. I get decent work with Elixir. I can stay here at the same startup, and maybe I will grow in future here only, which I strongly feel will not happen.

So, this is the problem I don’t understand where to go in my career from here. I am sure, for one thing, I want to try my startup again (I have tried twice, once in college and once a year back and closed before it started) in future.

Show more
Posted 2 years ago
371 Views
4 Comments

How to Approach Taro Networking Event

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

I'm ambivalent about attending Taro Networking events. On the one hand, the people I meet there are so talented and nice! On the other hand, what am I really getting by meeting them?

Now, I know I just said something extremely transactional. That I don't seem to "get" anything from meeting people. But let's continue this line of thinking for a bit. In my mind, going to a networking event can get you 3 things:

  1. potential job referrals

  2. potential partners for side-projects and maybe even a startup (which can be considered a kind of job referral)

  3. friends/social-contact

Let's assume that I'm not looking for friends, so only the first 2 are in play.

What should I be doing while networking? What happens is I tell them about what I do - my role, company, stack - they do the same, we'll talk about the industry for a bit, and that's that. It seems to me like I'm not getting much out of it, probably because I'm doing it all wrong.

Here's an excerpt from an email from a Data influencer I follow who makes a similar point:

Traditional networking is like a relic of the past for back when we didn't rely on the internet.

Back then, people only recommended and worked with those they'd met in person.

But in our digital age?

We can instantly find and judge coders, designers, data experts, and marketers online based on their LinkedIn & portfolio sites. 

So, here's an alternative to traditional networking... 

**Build things that matter. 

For example, let's say you wanted to break into genAI, or land an e-commerce job at Amazon, or work in ad-tech at Facebook or Google.

To impress hiring managers and recruiters at these FAANG companies, you could build an AI tool for to help retailers advertise more efficiently.

So his point is to build stuff and use that as the fodder for networking. I'm inclined to agree, since personally, my side-project cupboard is bare. I could be falling into the trap of thinking that I can/should only network once I've reached a threshold of building however.

So to sum this up, how do you balance networking vs. building and can you expand on the relationship between them?

Thanks!

Show more
Posted 9 months ago
364 Views
7 Comments

How to navigate career after layoffs

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

I recently got laid off working as a developer working within an agency. I currently have around 5 years of experience working in the agency setting utilizing React, Next js, Vue, Liquid, and the Shopify API to create custom eCommerce sites. During my time at these agencies, I also had the opportunity to act as a lead, interact with clients, set timelines, and cross collaborate with designers/projects managers to meet deadlines.

I have been looking for new opportunities since January and I've been able to secure a couple of interviews, technical challenges, and one onsite. Most of my interviews have been coming from agencies, but my preference is to join a tech startup or maybe more on the brand side of things within the Shopify niche. Below are a couple of questions:

  1. Will working at another agency hurt my career in the long run? My ultimate end goal is to work for a bigger tech company if possible.
  2. If an agency does want to hire me right now, should I take the job for now or just wait for one of my preferences?
  3. I notice a lot of developers within the agency space freelance after their 9-5. Does studying for interviews or future jobs provide a higher ROI instead of freelancing?
  4. Lastly, I just finished (super helpful!). It seems like the best course of action for me is to apply a lot, work on side projects instead of grinding leetcode, and study system design. Does this seem correct?

Thanks in advance!

Show more
Posted 9 months ago
352 Views
3 Comments