Taro Logo

Taro Experts

Our top contributors from the last two weeks

Picture of Lee McKeemanLee McKeeman
Google logoStaff Eng @ Google, Ex-Meta SWE, Ex-Amazon SDM/SDE
122Answers
1KLikes
5
Profile picture
Staff Eng @ Google, Ex-Meta SWE, Ex-Amazon SDM/SDE
7 days ago

Can you draw a block diagram of your system, API endpoints, subsystems, etc. with API calls to your dependencies? Do you know what your call volume budget is? Can you enunciate which are hard dependencies for which of your operations, which are nice to have, which you can survive on cache for on a limited basis? Do you know know which systems can be used async via queues and which must be sync? Do you know where your data is stored and if any other systems access it directly? Do you know what impact slow or failing requests against your APIs has on your callers? Do you know what circumstances may lead to your dependencies load shedding, and how your systems respond? Do your systems shed load, and if so how is this signaled to callers and how do they respond? Do you know steps to onboard a new caller to your system? To add a new dependency you call? Do you understand the lifecycle of each of the requests that come to your system, and where you’ll scatter-gather, versus making certain calls in serial? Do you have a dashboard to see your own traffic, broken down by caller, and the traffic you are generating to your dependencies, including error rate and latency?

It is a lot of stuff. Depending on the system maybe it is too much to stuff into your head, but your runbooks and architecture diagrams should enunciate this, and you should be able to refer to it quickly. If you are creating a new design, and you’re going to be adding a dependency or adding calls to an existing dependency from a new context, you need to be able to identify this, ensure they are aware and you begin onboarding or adjusting your budget with enough time, knowing how you test, etc.

Show more
Picture of Ryan KuckRyan Kuck
Mistplay logoEngineering Manager at Mistplay
103Answers
380Likes
3
Profile picture
Engineering Manager at Mistplay
a day ago

Based on your phrasing of it I would focus on achievements before graduation in the same sentence. Like maybe, “I graduated in 2022, and for context I launched my app in 2016 got X users by 2019, turned it into a business during college in 2020 and interned at Y two summers of 2020, 2021 accomplishing Z.”

Show more
Picture of Sai Shreyas BhavanasiSai Shreyas Bhavanasi
Seed stage startup logoFounding ML Engineer @ Lancey (YC S22)
43Answers
146Likes
17
Profile picture
Founding ML Engineer @ Lancey (YC S22)
9 days ago

My criteria for picking side projects:

  • Should be easily demo-able/show proof
    • Web apps are great because you can drop a link and interviewers can check it out. I've done in this interviews a couple times where I drop the link and they check it out while I'm explaining it
    • Android/iOS apps are great because people can check the playstore link and see it has X downloads
    • Something that is hard to demo/not publicly accessible like a CLI tool or software that runs private is generally less preferrable

When it comes to side projects dont over think it. Software can always be made more and more complex with additional features. Pick something you can hack together in 2-3 hours and keep iterating over months. I dont think any software is ever "done".

Even something as simple as a login page can be made enormously complex (string validation, SSO, login with google/apple/github, reset password, ensure new password is not the same as old, ensure it shows properly on windows/android/desktop, dark mode/night mode, passwords should match, username should be unique)

I wouldn't worry about picking something too easy or too hard. Just figure it out as you go! use chatGPT or google to learn what you need as you need.

If you're feeling stuck a simple idea is pick an app you use and clone it and give it out for free-- gym tracker, nutrition tracker, productivity apps like notes, chrome extension to track submitted job apps -- and then make it free

https://www.jointaro.com/lesson/AI4zi759PSGn6RwIFT6f/masterclass-how-to-come-up-with-100k-users-app-ideas-you-can-build-for-free/

Show more
Picture of Jonathan CJonathan C
Robinhood logoEngineer @ Robinhood
108Answers
570Likes
8
Profile picture
Engineer @ Robinhood
12 days ago

I use a wooden kitchen chair that my family's had for 20+ years.

Show more
Picture of Alexander RashkovAlexander Rashkov
Meta logoSenior Leadership @ Meta | Mentor | Coach | Tech Advisor
9Answers
42Likes
7
Profile picture
Senior Leadership @ Meta | Mentor | Coach | Tech Advisor
7 days ago

Congratulations on securing an L4 role at Google. Compared to Meta, where IC4 / L4 is at the transient level, i.e. we expect people to get promoted within a certain period, in Google, L4 is a terminal/long-term level where you can stay without needing to progress to the next level, i.e. no clock.

Engineering Levels Overview

  • L4 - 1-5 years of industry experience, sometimes awarded to high-potential new grads and PhDs.
  • L5 - Senior Software Engineer: 6-9 years of industry experience. This is the level most engineers are at internally within Google. You're expected to be able to operate with little direction and handle complex tasks on your own.
  • L6 - Staff Software Engineer: 9+ years of experience and an expectation that you have solid interpersonal skills. Many engineers will start managing more extensive projects and teams at this point. A promotion from L5 to L6 is more exponential in nature, and candidates rarely get hired for this role externally.

Growth Strategies

Focusing on several key areas will be crucial to accelerate your promotion from L4 to L5 at Google within the next 1-1.5 years. Here are some strategies tailored to your situation:

1. Get a Mentor

  • Find a Suitable Mentor: Look for a mentor who has successfully navigated the path from L4 to L5 or beyond. A mentor can provide insights, advice, and guidance specific to Google's culture and expectations.
  • Leverage Google's Culture: Google's culture is conducive to mentoring. Take advantage of this by seeking mentors within and outside your immediate team.

2. Treat Your Manager as a Mentor

  • Build a Strong Relationship: Develop a positive, collaborative relationship with your manager. View them as a partner in your career growth.
  • Regular Feedback: Actively seek and be open to feedback from your manager. Demonstrating that you can accept and act on feedback positively is crucial for your growth.
  • Set Expectations: Communicate your career aspirations to your manager and work together to create a plan for achieving them.
  • Set Clear Goals: Work with your manager to set clear and achievable goals that align with the L5 expectations. Use these goals to guide your development and track your progress.

3. Demonstrate Leadership

  • Active Participation: Speak up in meetings, contribute ideas, and participate in decision-making processes. Show confidence and back your suggestions with data and logical reasoning.
  • Lead Projects: Take ownership of complex projects that involve cross-team collaboration. Show that you can manage and drive these projects to successful completion.
  • Influence and Persuasion: Develop your skills in influencing and persuading others. This can involve presenting compelling arguments, negotiating, and building consensus.

4. Enhance Technical Skills

  • Deepen Expertise: Continue to develop deep expertise in your core technologies and stay updated with the latest advancements.
  • Innovate: Propose and implement solutions that address complex problems or improve existing systems. Contribute to the technical vision of your team.

5. Deliver High-Impact Results

  • Strategic Projects: Focus on projects that have a significant impact and align with organizational goals. Choose visible projects and demonstrate your ability to handle complexity.
  • Quantify Impact: Measure and effectively communicate the impact of your work. Use metrics and data to highlight your contributions and successes.

6. Mentor and Guide Others

  • Mentorship: Actively mentor junior engineers, providing guidance on their projects, conducting code reviews, and helping them navigate challenges.
  • Knowledge Sharing: Share your expertise through tech talks, documentation, and informal training sessions. Foster a culture of continuous learning within your team.

7. Build a Strong Network

  • Internal Networking: Develop strong relationships within your team and across the organization. Networking can provide support, opportunities, and visibility for your work.
  • Seek Sponsorship: Identify a senior leader/engineer who can advocate for your promotion. A sponsor can provide valuable guidance and support during the promotion process.

8. Seek Continuous Feedback and Improve

  • Regular Feedback: Consistently seek feedback from your manager, peers, and mentor. Use this feedback to identify areas for improvement and make necessary adjustments.
  • Self-Assessment: Regularly assess your performance against the L5 expectations. Identify gaps and work proactively to address them.

Best of luck in your journey to next level!

Show more