Amazon.com, Inc. is an American multinational technology company which focuses on e-commerce, cloud computing, and much more. Headquartered in Seattle, Washington, it has been referred to as "one of the most influential economic and cultural forces in the world".
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?
I have a new grad offer from Amazon, which was forcefully deferred earlier this year.
I currently work as an SRE (which I don't want long-term), and my offer is for an SDE role in the same team I interned at when I was there pre-layoffs. Plus despite me working for >6 months elsewhere, they're not increasing my comp in any way.
I'm attracted to the Amazon job since it's a SWE role and that's something I want career-wise, but given that the company and current economic situation have been kind of unstable, I'm hesitant to join. Does anyone have any advice for me on how to navigate this? I'm on a student Visa so I guess that's why the threat of layoffs is a bit higher in my eyes.
I’ve been a senior FEE at Amazon for almost a year now, and I’m still figuring out time management.
Sometimes I get overly involved in others’ tasks, or have too many meetings, or get overwhelmed by all the new campaigns and estimation requests constantly coming through the door while we’re in the middle of meeting deadlines.
How do senior FAANG engineers balance their priorities without overworking or burning out?
P.S. it’d be amazing if Taro can get Steve Huynh (PE at Amazon) to talk about this topic in detail.
How do you respond to an email or over a phone conversation from recruiter asking:
Could you please tell how to handle such questions?
This is a really well funded company (Bank) that underwent a large scale leadership change. The company's primary source of revenue was never it's tech capabilities, however with the new leadership change they're looking for a large scale revamp on how the existing systems work and are working on setting upto a FAANG equivalent engineering environment. This is vision is consistent across the leadership upto the CEO. This org currently consists of multiple Staff engineers from Twitter, Meta, Amzn and Google leading big initiatives.
I'll be soon taking up an offer in this company and will be joining this freshly created Org, where I've opportunity to be among the first 10-15 engineers to join with potential of the org to grow over 100+ engineers. There are lot of existing tech that have been already deemed unscalable due to previous decisions and have been a known business blockers, these tech require either re-write or a large refactor or a completely different viewpoint on tackling this problem. This will involve me working with Engineers who've built this system (Not part of this new Tech Org, rather the old existing infra), I've been already given a heads up from my potential manager that there can be potential hesitancy that the existing engineers may feel and wouldn't be too open to provide all information necessary as our systems will be replacing their soon (Have been reported that this has happened). There isn't a concept of internal wiki similar to Amazon or other Big Tech, hence lot of this is just domain knowledge etc. Fortunately the leadership is aware of this and is taking steps to answer this, and takes into consideration when scoping for projects and setting up right expectations.
The following are certain concerns that I've, and wanted to understand what is the best course of action I can take up to make my onboarding successful.
This is my Current plan, given i'll be among first engineers to join this team.
Understand domain, reach out to multiple PMs and document all pain points, problems we are solving in long term & Short term.
Go through code base of relevant packages and start adding their UMLs, HLD etc to best of my abilities to a document to move towards creating a Knowledge base.
Socialize with engineers from the related org and try to gain their confidence, and potentially get few KT sessions (Not sure how i'll go about this as the team is situated in different city).
Work with manager to setup boy-scout rule, such that everyone onboarding will incrementally add more to the existing knowledge base.
Follow Up Questions :
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.
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 :)
Backend: Distributed Systems, scalable applications, fault tolerant systems, control plane applications, API development, uses higher-level languages like Java/Python.
Low-Level: Database Internals (Query Optimization, Transaction processing, Data/Storage engines), Compilers, GPUs, latency sensitive software, accelerators. Usually C/C++.
Which is better for long-term career growth and compensation?
My manager made it clear that my org is not offering return FT offers, but that he would put "incline return" for an internship position if I stayed another year in school (or somehow delayed graduation until 2025).
I could just take random classes or another major to extend my time in school. I also could do a 1-year Masters program which I have already been admitted into. But I am an older student and would rather not stay another year in school. I also feel like I am learning very little in school (I go to a small state school). Compared to the ridiculous amount I learned this summer in the industry, I feel like staying in school for another year would be a huge waste of money and time.
I could potentially work Fall/Spring internships for the next year (so basically a gap year) to artifically delay graduation by a year as well.
Becuase I go to a small state school, getting interviews from Big Tech is extremely hard. We send about 1-3 kids to each FAANG+ company each year and I was only able to get 2 FAANG+ interviews even with refferals to every top company, a 4.0 GPA and relevent experience. Even getting actual SWE engineering jobs is really hard with most CS grads getting jobs labeled "SWE" but that involve very little coding.
Because of that, my worry is this might be my only chance to break into Big Tech for a long time (if ever).
So is it worth delaying my graduation for a shot at big tech? Or should I just graduate and start my career, even if its at a non-tech company (with potentially very little actual engineering work)?
I like my team and management. I would like to stay here and yet address the comp concerns. Promos are too difficult.
So I would like to learn from Alex, Rahul and community members here on how I should go about the retention offer.
What are the things I should do in order to increase my chances. I want to plan it thoroughly and execute it without getting burnt out.
Hi Taro. When choosing a team, we also have to choose their specialization and tools. If the specialization is niche and the team uses exclusively internal tools I won't gain any transferable skills. I got laid off from AWS and I am realizing that I have little transferable skills. I used mostly internal tools. Believe it or not, many AWS teams do not use AWS extensively.
How can I choose a team or focus area for transferable skills? I was considering pivoting into Android and IOS development because I see many job openings for these.
Hey folks, I recently got promoted to L5 (Mid Level). Looking for any advice in general on how should I approach my work, what to look for etc. Any words of wisdom that people would like to share?
PS: Apologies if this sounds too generic. My intention is just to learn from other people's experiences. Any advice is welcomed.
Hi all. I joined AWS after university and recently got laid off. I have 2YOE at AWS and a 1 year internship at NASA.
During undergrad the only thing I stood out for was having multiple publications. I suspect really talented undergrads in CS programs where targetting FAANG so there wasn't much competition. Maybe I was good at research though.
I am a US Citizen and I went to a medium tier university for undergrad. The name is recognizable but it's not impressive. What kinds of doors does attending a top university for MS CS open for me? I might be able to get into a top school like PHYMS.
Most people tell me that top schools are not useful after getting a couple YOE. I remember I was talking with someone that went to MIT for undergrad and they told me that there is a company that will basically give students $100,000 to do a startup and all they needed was an idea. They told me that it was pretty easy to get and many people got that at MIT. That's not something that would ever happen at my university.
I have some concerns:
I'm a support engineer in big data profile working in Amazon web services, and I'm looking to transition into a SDE role within the teams like Spark, Hadoop, Yarn EMR infrastructure, etc
At the same time I have been working hard on my promotion from L4 support engineer to L5 support engineer.
Given a scenario if I get promoted to L5 support engineer and later, down the line I also get L4 software engineer role within Amazon, should I take the SDE role at a downgraded level, should I look outside or what should be the best route?
Somebody I know has been working in Amazon BA and related positions for seven years, however they switched to SDE intern positions within Amazon. Do you think it is a wise move?
I have just joined a new team, and have my first coding task. I am currently terrified about taking the first step and writing some code and testing it.
I have spent a lot of time researching solutions, but have found myself bit in the past because of a lack of testing and research, and also am just terrified of breaking things.
What are some suggestions for getting over this fear, and how can I be more confident that the testing and implementation cover all edge cases and won't have bugs?
When working on a new task, I often find myself asked to estimate how long a task may take. Luckily, my team is pretty forgiving, but a critical step will be to start more accurately estimating tasks.
How do you get better at breaking down tasks to understand what needs to get done, and then giving proper estimations for how long those tasks will take?
My team has a really great manager who I've been working under for past 3~ years who has aided me in fast tracking my career growth, however there will be change in structure, and our team will be led by a new Manager. As a result, I'll be required to relationship with the new manager, earn trust, etc. However, at the same time I'm worried that all the progress I've put forwards to build a good case for my promotion might get lost as I've been doing a lot of work that doesn't directly reflect in overall Team's Yearly planning such as drastic improvements in OE (Saving multiple SDE weeks yearly), Many architectural upgrades to existing systems (As a clean up activity while working on my main project) etc. I feel these data points might get lost, how can I ensure that the transition between managers will not end up affecting my long term growth plan? I still have 3-4 weeks till the transition is compelte.
Not a manager here but I strongly feel like understanding my manager's perspective is essential for me to successfully navigate my tech career.
I understand that if a software engineer wants to become promoted, they need to complete projects with increasing scope involving increased technical depth, ambiguity, impact, etc in addition to many other things.
I entered the company as an L4 Frontend Engineer and it is my first tech job, so I started with 0 experience. Our team has a lot of frontend tasks, but also has a lot of backend work as well. As a result, I have been doing a lot of backend work when it is necessary and there isn't much difference betwee an SDE and FEE in our team in terms of the work we do.
My manager knows that I had 0 experience prior to coming here and recognizes that that I'm able to do both backend and frontend work. He mentions that I could always transition into the SDE role if I wanted to.
My question is, would there be any huge benefits of changing my role to be an SDE for my career? At this point, I wouldn't say that my skillset is more geared towards Frontend since I'm doing both and this is my first job.
My original intention was to stay a Frontend Engineer as I find frontend work more fun and it was what I studied the most for when preparing for interviews. But my friends were telling me that SDE would probably give me more opportunities in the future, so I've been thinking about this lately.
I'm an incoming SDE intern and will be joining the team at the end of this month. I'm eager to get started and make the most of this opportunity. Last summer, I feel like I didn't perform up to my own expectations and left some room for improvement. I was fortunately to have a return offer but I think I don't really deserve it. This summer, I am committed to learning from my past experiences and striving to do my best. As part of my preparation, I'm planning to have a meeting with our manager to discuss my goals for this summer.
I was recently laid off from AWS. I see few open roles for SDE-1s but descent number for SDE-2 roles.
Should I study system design and apply for SDE-2 roles or focus on SDE-1 roles?
I have not studied for system design interviews. I estimate that I will need 2-3 months of studying before I can pass the interviews. My YOE is low for SDE2 and I might be wasting my time applying for SDE2.
Here is a breakdown of my experience:
My manager at AWS was telling me that I should apply for promo in the next few months (after finishing a project). I got laid off before I could apply.
Is there anything I can do now to make me stand out as an SDE2? For example, contributing to open source. I want to try being an entreprenuer but I know few ventures make more money than working at FAANG so maybe it's not a good idea.
I am an SDE1 that was recently laid off from AWS (~2 YOE total). Lately, I have been reflecting on what I wanted to do/what really excites me. I really enjoy software development and while I do want to get another job one day, I wanted to use this opportunity to scratch my entrepreneurial itch and create apps/websites/side-projects for fun or for many small business owners I know that need someone to create software for their business. I'm not sure how long this "break" will be but I would say ~2 to 3 months time. Part of this is inspired by Alex Chiou's love for side projects.
I understand that finding a job will take some time as well, so the total gap on my resume that will be filled by this freelance work/applying might be ~6 months total. I understand that there are other posts on Taro that talk about the impact of a career break but this won't necessarily be a break per se. On my resume I will put this down as freelance work I completed for clients and will be prepared to show potential employers a portfolio of what I did.
I was wondering if this would negatively reflect on my application when applying for SDE jobs again/will make it harder for me to land a job. Alternatively, I could begin applying and interview prep now and only work on these projects on the side. Thanks.
I had an internship with Amazon last summer and was lucky enough to have the return internship offer for this summer. I am quite nervous because my tech stack skills are so weak. I am just good at technical interview because I do competitive programming and leetcode a lot, thats why I land my internship offer with Amz.
I forgot almost everything from my last internship. I have to admit that I was a very bad intern, not to say the worst intern. My mentor and the senior engineer of my team did the most of my last project so I got the return offer.
Please suggest me any sources to improve my tech stack skills, projects, open sources, ... so I can perform well at this summer. My team last year used Kotlin for backend codebase.
I see many experienced developers finding flaws in the existing architecture and also refactoring them to make it much better. I don't think I have yet gained the ability to identify loop holes in complex projects. However, I am able to fix issues if someone else calls them out pretty quickly.
How can I improve on this? What are some good resources to develop this skill?
I have a SDE 3 mentor who is very nice and helpful. I started working with them a while ago because I am trying to get promoted to SDE 3 but I don't always have great questions to ask. I also want to be respectful of their time.
What are some questions that will be most beneficial to ask? How can I make the most of this mentorship?
I'm pretty good at leetcode (was able to pass some 3 to 5 rounds of interviews), I got good at by practicing and continuous learning. Now I want to be good at software engineering in general like debugging, building components, understanding complex things/systems, etc. I see one of the suggestions is to improve on fundamentals of software engineering, how do I do that? and What action items can I follow consistently? Any concrete suggested steps will be great instead of just some general bullet points. Thank you all.
Sometimes I sit in meetings that I feel aren't really necessary. How can I better identify whether these meetings are necessary and propose a better asynchronous form of communication (slack post, quip doc, etc) if they aren't?
Some of these meetings include status update meetings (besides standup), and meetings where people are there just to absorb knowledge. Is it a general rule of thumb to have meetings primarily to get alignment on decisions? Are there cases where we can get alignment asynchronously as well via commenting on a slack post/quip doc, etc.
For context - I have recently left Amazon and I'm actively looking for another role that suits my lifestyle in terms of work/life balance as well as the interest during the job role. Given how the market is right now - I was wondering if it is better to get a contract role until you can get the opportunity that you find interesting or go for a full-time opportunity regardless?
I've always been the one to dive into problems and solve them without thinking about how difficult they are but recently I've been running into this failure mode where many of the problems I work on involve using old tools that are cumbersome to work with. The result is that it takes much longer to deliver my work compared to those that work on packages with newer tools (I'm talking about native AWS lambda, s3, dynamo, etc) and sometimes I wonder if I'm doing what's best for my career.
Some cumbersome tool examples include
My company has at least acknowledged the issues with the above first two bullets and has slowly started deprecating those tools. Oftentimes the senior and mid-level engineers work with newer tools and therefore aren't as familiar with the older ones, which is fine. I could just avoid working with these packages altogether and only work on the packages that involve the shiny new aws tools but I'm not sure if that mentality is what's best for my career.
Amazon is well-known for its design doc reviews, which appear to be small-scale system design reviews. However, I'm having trouble understanding them, let alone recommending modifications.
I'm aware of Alex Xu's Byte by Byte go course, but I'm skeptical using it as it's specifically for interview preparation. I want to learn for the workplace. I can definitely look at blog posts and current design documentation, but I'd prefer something more structured. How can a novice learn system design and grow to the advanced/intermediate level? What books or resources would you suggest?
I was recently laid off but finding getting interviews to be quite difficult. If I cannot get a position in the next 6 months but spend that time focusing on interview prep, will employers view the gap as a red flag?
As a senior IC, I am included as part of leadership meetings (Director+). I gain a lot of early insights into business direction, which is great. However I would like to see how i can take part in the discussions and have effective conversations?
I am looking for a book suggestion and/or framework to use on how to go about improving on this?
Few dimensions which could impact this -
My manager told me in my 1:1 that he would like to see me working more independently. He had few points for me like utilize other engineers to unblock and have more discussions on team channel. I feel like I already work quite independently. I drive discussions on my own and involve stakeholders as needed. I speak out whenever I see any issue or I've something to contribute.
I'm trying to understand what can I do more here and show my manager I'm already doing what he's suggesting.
I'm in process for L5 promotion and I feel this feedback can negatively impact my chances.
What are common limiting beliefs that you all believe software engineers have that aren't true that typically cause them to hold themselves back or causes them to not progress as quickly as they'd like?
I would assume that at each stage there are some beliefs that we have that cause us to not progress, I am currently most interested in SDE2->Senior, but would also be interested in hearing other common limiting beliefs to progress past senior as well!
One thing I have noticed about competent engineers is that they have a very strong understanding of upstream and downstream dependencies in terms of what are the typical parameters being passed into our API's and what we return and what are the things we pass into our dependencies API's and what they return,
How can I learn the context behind what data is typically being passed quickly? I understand that one of the best ways to learn is to start tinkering, and call the API's myself and see what they return. I was wondering if there is any faster way because surely a staff/principal/TL doesn't have the time to tinker with all of the different dependency services and understand what they take in and return. Is it just a matter of reading documentation and asking around?
Say a recruiter from Series C reaches out to you for a SWE role.
What all are the questions that one should ask in order to do the understand the potential of the startup so that there is less risk of layoffs when joining there, given the uncertain times.
I am aware of crunchbase website and looking at the news article that are linked there. What other homework one should during/before/after the interview process in terms of questions to ask, information to collect?
The limitation that is usually is the startups have very few employees so it is difficult to get concrete answers about the culture, WLB, actual work unless you are in their network.
Since Dec 2021 to Aug 2022, My managers changed 4 times after and I got promoted from sde1 to 2. Due to multiple projects and managers, I could not take ownership as I was still in ramp up phase but manager was expecting more at the SDE2 level, pointing issues, demotivating. So I took internal transfer to a different team. I am in this new team for 3 months. 1 month - I took to even understand the basics. Manager left and new manager joined. I had to go on vacation for 15 days. I don't have metrics to show that I am performing at the SDE2 level because
Worried about Q1 performance cycle in 2023. 2022 was difficult for me to show any impact. Is there anything I can do now to not get low rating in Q1?
At this point, I am no more interested in work and just want to leave due to lack of mentorship. I have a buddy who answers questions if I ask in this team but I don't have anyone to mentor me to guide me to see what kind of projects I can work, coming up with the initiatives. I feel stuck. There are no hirings happening outside and inside the company. What can I do to proceed further?
I'm about to be officially promoted to Senior Engineer in a couple of days. At the same time, I've also been been presented with an opportunity to move to a different organization in Amazon that's doing some rather exciting work. This is an opportunity I'm likely to accept.
I deeply value my current manager's support, because he was critical in helping me secure my promotion despite some very tricky circumstances. I'm aware that promotions are just meant to recognize past work, but leaving virtually immediately after a promotion still feels rather unpleasant. Leaving now will also have a bigger impact on my team since we've shrunk quite a bit recently.
What are some tips for structuring and framing the inevitable conversations I will be having with my manager(s)?
Manager and I have a disagreement on creating a promo doc as per the approach suggested by Rahul and Alex .
So to avoid losing the time I went ahead with working on a XFN project, say Project XFNA , as it has high visibility and chance of impact. Due to the complexity I had to spend lot more time on it than I initially estimated.
It meant putting 1 week time learning/testing a frontend framework , Angular and I am a backend developer and never done Frontend coding earlier.
What happened was.. my main project's progress ( say Projects B , which doesn't have impact opportunities in the short term) got delayed by a week , due to my focused attention on Project XFNA. I am Mid-Level Software Engineer [SDE 2] at Amazon.
I will need to defend my time on this project XFNA as I focused on it purely for delivering quick impacts. So can I say to my Mgr that I "I took this initiative to work on Project XFNA for showing impact in the short term". If not, how should I rephrase it?
English is not my first language. I don't know what to write or talk in all kinds of situations. I don't know if I lack critical thinking to think about points or is it because of lack of English proficiency. I have joined Toastmasters but its not helping that much. I am looking for 1-1 coaching in English speaking, writing, public speaking. Group discussions, driving meetings especially getting alignment, breaking down points, story telling are my biggest problems. Any recommendations to fix these issues?
I used to describe project in three sections:
Not every project is straight line. Some projects have lot of ambiguities and need lot of discussion to clear those ambiguities, certain features where we spend are de prioritized/removed, process challenges, changing direction/vision. How to explain all these as a story to express the complexity of the project by showing the challenges faced?
During design meetings, when there are questions that causes circling around a topic that is marked as out of topic. Even though I tell people that it is out of topic as we don't have time to build it and no plan to build it in future and people are still ask questions about same topic. When I personally feel its a nice to have feature but the scope has already been defined, what to tell and move forward to continue with the rest of the design?
I have communication issues. Especially in a new team, it takes lot of time to grasp what others are saying. During design discussions and post scrums -
There were some great tips on this question, that was previously asked. Our team is pretty good at steps 1 & 2 that Alex mentions regarding setting an agenda and sending the invite beforehand. However, the team really struggles to make sure the meeting agenda is achieved. We have a lot of great discussions but they are not related to the objective of the meeting. How can we bring the discussion back to the main agenda without being rude and cutting potentially important tangents?
My team is quite small but we own a handful of critical services. Because of the small size, our on-call rotation is around 6 weeks or less but the actual load is somewhat manageable. We do not get an intolerable amount of high severity pages but get a lot of low severity tickets. We constantly work on projects that support goals for other teams that always seem to be higher priority while our tech debt grows. We have identified longer term fixes for some of recurring issues but never have the time to implement them. Most of our planned work for the upcoming year involve modernizing infrastructure or migrating existing services. I'm concerned about whether staying on this team would be conducive to my career growth.
I am working in 3 XFN projects (Say Projects A, B ,C) at the same time. Manager wants success in Project A for sure . But he doesn't allow me to be fully dedicated to Project A. He also wants me to come with suggestions to make project A successful. The thing is Projects B & C are huge time consumers and I am left with very little time for Project A. How should I approach my manager to assign me fully to Project A. I have successfully deliver projects in past when I was assigned to a single project only . I am bad at multi-tasking. Project A's success will definitely increase chances of my promo.
I have been at SDE 2 for a couple years now, and I feel like getting to SDE 3 is unnecessarily complicated. I've gone through multiple teams, and the recurring theme is that there isn't enough SDE 3 scope for me. You also need a lot of documentation (think 5+ pages) to show that you have the sufficient impact to deserve the promo, and that's really daunting as well. Any tips on how I can find that SDE 3 scope and navigate this senior promotion in general?
During my first 1 on 1 with a manager, I asked him if he could help me find a mentor and he said he would find one within our overall organization. He also said he could find me a manager within overall Amazon if I want. This would for overall mentorship in Amazon vs being limited to the scope of just my organization.
What are some advantages/disadvantages of having 2+ mentors? Also are there any qualities I should be(or probably more likely asking him to be) on the lookout for those 2 mentors?
These are Google levels for discussions/comparison sake and that I came in under-leveled.
I can do work in below capacities:
If I work in the L5 scope ..will the calibration meetings/equivalent give me sufficient credit for that or will I still be viewed as a L3 ( my actual level. If so then my raw code output will be primary metric)? Code output is something I won't be able to do if I focus on delegating work ( scope of L5). So will my L5 work lead to penalties if I am viewed as L3?
Lines are bit blurred in terms of R&R as I have to do product management work as well in order to get the project to succeed. I have regular meetings with many L5/L6s in order to drive the ideas and occasional ones with Directors and Senior Directors to get their buy-ins.
Starting my first day and I was assigned an onboarding buddy. I was wondering what are some of the main questions I should ask.
Some questions I have asked:
I'm wondering if there are any other main ones I should be asking or is it just ask as they come along?
I am going to join as an SDE2 at amazon in couple of weeks. This is my first FAANG. I work on an oracle ECom platform.I don’t use design patterns often. Please recommend how important design patterns are in FAANG. What are the main ones ?
I've heard Alex, Rahul, and other engineers within Taro talk about handholding when joining a new company for all engineers and for newer engineers in general.
What does it mean that an engineer doesn't require handholding anymore? Does this mean the frequency of the questions gets diminished or is it more about needing as much initial help to start tasks or something else entirely?
As I'm starting to join a team soon(and knowing this answer varies by team, level, and company), I'm wondering how long does onboarding take and what does it mean to be fully onboarded within your team
I'm going to be joining Amazon soon and the team I'm on is going from 4/5 people a month ago to I believe 9/10 people (counting me). Our team is going to be comprised of SDE 2's and 1's (I'm an SDE 1).
I'm wondering what's the best way to have the best onboarding experience during this time.
While it will be nice that I will have a decent amount of people who will be in the same boat as me in terms of onboarding, I'm also worried that my manager and more senior teammates won't have as much time for things like 1 on 1s, answering questions, helping me onboard, etc. if they're also helping other people on our team in addition to their own work.
I'm a pretty new SDE 2, and I know that the SDE 2 -> SDE 3 promotion is really difficult at Amazon. Given that, I would like to start working on this promotion as soon as possible. However, I'm new, so I don't want to make things weird for my manager and I. When does it make sense for me to bring up this topic of promotion and start working on a growth plan with my manager?
I was working on a P1 - High priority bug today which needed to be done within a day. This bug was assigned to me by a Senior Engineer who was supposed to pick up this task but was delegated to me. This engineer has been pretty helpful to me when I was ramping up on things. He explained me the context of the bug in a short call. I figured out the fix and sent him the method which was responsible for the issue and the stack-trace from the log and how I am going to fix it.
I was then told by the same engineer to not 'swing by small small things by me and that I take the entire ownership of the task I am doing and bring it to closure'. I do agree with this and understand that they have other priority meetings and features to work upon but my entire purpose of sending him updates was then I was not going off track and that the CR which I am going to raise does not have a lot of revision / reviews.
I just need to know when exactly are we supposed to let the other team member know how much we have progressed and also at the same time not let them feel that I am not taking ownership of my tasks?
Lately, I have been finding myself with a lot of free time and am unable to shake this feeling that I am not "doing enough." After finishing my school work, I usually just go to the gym, hang out with friends, or play video games.
Is there anything else I can do to further improve myself as an engineer and set myself up for success later on? Perhaps some books or resources to read.
I've tried working on some side projects, but honestly find it hard to follow through with them due to lack of urgency with no deadlines and prior fatigue from working on school assignments.
With a recent, completely unexpected reorg, the product my team owns has effectively been cancelled and will be sunsetted. The company is trying to figure out new scope for my team, but in the meantime, I don't really have stuff to work on. Here are my questions:
I'm a native Android developer, and I really enjoy doing the work. However, I want to make sure that I'm well setup across my career overall - Does Android have good prospects in tech going forward? On a related note, how does it correlate to future opportunities and growth within Amazon?
I am joining Amazon soon as SDE 2. At my previous job, I was a higher end SDE1. I have owned small internal services at my previous job. I would like to know what are some of the things that can be expected from me as SDE 2 @ Amazon ? I am expecting more ownership, but is that the only thing? I did ask the same question to my manager but he seemed very chill about it and said that he cannot say anything at the moment, maybe in our 1:1s we can discuss more clearly. Also, if you can let me know how the expectations vary across levels for Junior and Mid level and what can I do to hit the ground running and create a good impression from the very start, that'd be great. I am sure that you must have seen various E3 / E4s at Meta. If you can relate to what exactly was the difference that you saw, that'll be super helpful.
My team is responsible for an ambitious product that we're looking to have a multi-year time horizon for. I know that it's important for senior engineers and especially staff engineers to be able to think proactively, so I was wondering what can concretely be done to get better at creating that long-term vision spanning across many years?
I've had teammates do this in the past, and it's frustrating. How can I prevent it from happening again, and should I approach my manager about it? How do I frame that conversation if so?
In particular, what are the upsides of living in the SF Bay Area? Is it worth the high cost of living?
For my situation in particular, I would like to end up at Amazon working full-time after school, but I don't live in Seattle or the Bay Area (I live somewhat close to another major metro area). Does moving make sense?
I have my 1:1 catch up call scheduled with my manager soon, this is the first 1:1 / call I'll be having with him since I met him in the interview. What are some of the good questions I can ask w.r.t to the team and the work that I'll be doing? He had taken my System Design interview and there he went on to talk about the team for 15 mins where we discussed about the team work, team size, on call structure, wlb etc. One important point which I feel is that I won't be joining the team immediately, there's still 3 months time.
Would you recommend software engineers try a rotation as an SDM (software development manager)? What benefits or drawbacks would you say would come from making that switch to SDM?
As I think about my career a few years from now, I wonder if I will continue to learn and grow at Amazon or if it would make sense for me to switch to a startup. I do care about compensation as well so that may be a limiting factor in jumping to a startup. What advice do you have for someone who may be interested in working at a startup vs. Big Tech? How many years of experience should I rack up at Amazon / in Big Tech before moving to a startup?
The leadership principle is as follows:
Leaders are obligated to respectfully challenge decisions when they disagree, even when doing so is uncomfortable or exhausting. Leaders have conviction and are tenacious. They do not compromise for the sake of social cohesion. Once a decision is determined, they commit wholly.
I'll be going into Amazon as a senior engineer leading a team of 6-7 engineers. I have some anxiety as I have never worked in a FAANG company before, and I imagine the bar is high. Things are also trickier as I'll be in a different time zone from the rest of the team.
How can I make a stellar first impression after I start?
I'm on a team with many new SDE 1s, and I'm trying to get them up to speed. However talking with all of them takes a lot of time, and it's affecting my velocity with project execution. My manager suggested that I set up office hours. Does that idea make sense and are there any other ways to make this all more efficient?
How do you build up technical skills for a senior engineer? I want to develop that intuition to understand how to choose the proper technical approach and break down the trade-offs. Are there any resources I can read to accelerate this process?
Through a series of unpredictable events, my team has boiled down to just my manager, myself, and many entry-level engineers (SDE 1s). Some of the SDE 1s have some experience (e.g. a somewhat tenured internal transfer) but many are new grads.
My manager is being more hands-on with this gap (and I like my manager overall), working through technical reviews and whatnot, and has other plans to shore up the seniority of the team. However, it looks like a lot of responsibility will fall on me to upscale this team and help deliver. This is nice as there's a pretty clear path to SDE 3 for me, but I'm also a relatively new SDE 2, so I'm unsure if I have what it takes.
All that being said, is this overall situation good or bad? The growth potential is there, but I'm also afraid of being overwhelmed.
Across my career, I've felt bad about my skills sometimes because I'll have teammates, who are also at my level, doing as much as 2x more than me. This has led to me feeling like an imposter many times - Any thoughts on how to process all this?
I'm new to the team, and I want to make an impact quickly. How can I quickly gain respect of people on the team? Are there certain things I should do as I act/react to other people?
I'm currently working at Amazon as a contractor. There's 2 questions on my mind:
I'm currently working pretty long hours on the weekdays to boost my learning speed, but I know that this isn't sustainable. I feel like my micro-routines can be improved: How can I get the most out of each day? I'm also fairly new to the company, and I want to set myself up for a senior level promotion ASAP - These are 2 big reasons why this is very important to me right now.
I've done various presentations throughout my career, and I always get stressed out doing them. I'll make slides/a script beforehand and pull all-nighters the day before. I'm okay presenting in front of smaller groups, but it's hard in front of larger groups.
How can I get more comfortable with this, especially with higher stakes presentations like those trying to get buy-in from a large group of senior+ engineers and tech leads?
I’m an electronics and communications engineer, I’ve been working in low-level software and hardware. I want to understand other domains – other technical teams and also dipping into PM strategy. I think this is limiting my growth in Amazon.
As a team switcher, I'm worried that I could join a team that is rapidly expanding in headcount but isn’t having a clear business impact so the execs don’t care:
I'm currently a mid-level engineer, and I've already made a good amount of progress towards senior. However, I'm looking to change teams as I don't like the work too much on my current team, and I want to minimize the progress "loss" as much as possible in my new team by finding one that sets me up well for the mid-level -> senior promotion.
What’s a good team composition for this? Do you just want a good mix of all levels? What other factors besides team composition should I look for when it comes to evaluating a team on this axis?
Does it make more sense to specialize in something? I feel like senior engineers focus more on a specific area, while mid-level engineers work on something that’s more generic.
If I were to specialize, how do I pick something that’s going to be on the cutting edge in 5-10 years? I want to work on something that stays relevant long into the future - Are there any specific technical spaces that you're excited about that fit this description?
I'm looking to leave my current team, as I don't find the work to be interesting: I spend ~50% of my time on ops work.
I want to choose the right team that’s interesting to me, but it's tricky as I don’t exactly know what I want to work on. I just know that I want to work on the back-end and on a team where learning opportunities are flexible. During team matching, what kind of things would you look for in a team?
My priorities are as follows:
My starter project was to migrate a web service to a new API which offers similar functionality. This was intended to be a pretty straightforward migration, mostly renaming + replacing some strings. However, this project took much longer than my manager or I anticipated. How could I have predicted and prevented this?
I work with several senior engineers who split their time between teams. This leads to odd stand up updates such as “I have no updates for this team”. As a result, I feel like I’m not getting value from their updates, and I also don’t know how to structure my updates to make it relevant for them.
I was inspired by the gamification on Duolingo, which is a language learning app with a "daily streak" mechanic. The incentive to do something in the app every day has been very powerful for me - I have a streak of 200+ days!
I want to bring this idea over to an engineering context, creating an app called "Leetfriends". The purpose of the app is to have friends share with one another their Leetcode streaks, using social pressure to encourage consistency for everyone. I’m hoping that the app does well, so I could include it in my portfolio and boost my job prospects. How do I best go about this app?
Here's the experience I have so far with leadership:
And here's more details about my current team:
Asking because I have some experience with it, which you can find below:
I want to know if I'm ready to start interviewing. Here's some additional context:
I have ~3 years of work experience, but it was spent working a non-SWE role within Amazon. Because of this, companies consider me between SWE 1 and SWE 2 when I'm interviewing.
What’s the difference between SWE 1 and SWE 2 on the job, and how can I show that I'm in the latter camp in interviews so I can get a SWE 2 offer instead of being set back with a SWE 1 offer?
I’ve seen this a lot with smaller companies like startups. It’s just not likely that I’ve worked with the particular tech stack of whatever the question is about, so I can’t really answer them a lot of the time. How can I respond gracefully to these types of questions?
I came out of school wanting a traditional SWE role but ended up taking a non-SWE role with Amazon due to its name brand and strong TC. This role doesn't have too much coding, so I want to switch to the SDE track within Amazon.
I'm wondering if it makes sense to pursue avenues outside of Amazon as well. My concern is that after losing the reputation I have within Amazon, I won’t be able to get a SW2 role, getting a SW1 role instead.
I interviewed internally for SDE2 in Q1 2022, but didn’t pass the Leetcode portion. However, I was told that I was pretty close to meeting the SDE 2 bar, which is why I am optimistic about this path.