Mid-level engineers have very strong technical proficiency, able to execute on small to medium-sized projects with minimal hand-holding, leveling up from junior engineers.
How do I get better at technical design review and presentations? I go into these tech review meetings and get a ton of questions from senior engineers that aren’t directly related to the project and the raw volume of questions derails the whole thing. It always feels like something is missing. What should the preparation phase of a project look like?
Adding on to this, I do go into these meetings with a technical design document. Ideally people will comment on that well before the meeting, so we can get more of the discussion done async. However, people often don’t have time so they don't do this, making the tech review meeting the first time they see the tech planning materials, hence all the questions.
Hey John, I hope you are well. I am really passionate about CS (specifically Software Engineering) and I want to pursue a career in it. But I can't help but be a bit concerned about the future availability of coding jobs due to Al (chatgpt4 and stuff). I understand it's hard to predict how things will be in the next 10-15yrs, but my main concern is that I may be putting in all this hard work for nothing. I'm concerned Al will make my future job(s) obsolete before I even get it. Any thoughts on this?
If you build full "product skills" and use the best tools for the job, which today might be hand coding, but later may be Al guiding, you will probably be fine.
I see....by "product skills" do you mean hard and soft skills?
Software is just a tool to help accomplish something for people many programmers never understood that. Keep your eyes on the delivered value, and don't over focus on the specifics of the tools.
Saw the above discussion on twitter and it got me thinking with advent of ChatGpt4 and Github Copilot X, what can I do to not get negatively affected by this change.
What are the various skills referred to as "product skills" mentioned in the above discussion and how should we go about developing them?
As a mid-level (not senior yet) SDE, what are the core skills I should be consistently developing to grow my career, not only for promotion within the company, but also for personal growth, and to get ready for diverse opportunities years ahead?
I know we have covered lots of topics, like DS & Algo for interviews in case you suddenly get laid off and you are looking for opportunities, communicate well with colleagues to make impact, and manage up to avoid getting into PIP, System Design skills.... But is there a list of Soft AND Hard skills that are core to a engineer's career in long term?
Due to unforeseen circumstances from past 6 - 8 months, I've been the Senior most engineer in my team, (I've a total of just 2.7~ YOE). My team consists of 12~ SDE 1s (New Hires) and 2 SDE2s (The other SDE2 being promoted very recently). My manager does a great job filling the role of Senior Engineer which reduces bit of pressure off of me.
However, due to necessity in the team I've ended up being SME in all the services owned by our team. This leads to everyone reaching out to me to help them with their queries, I try to document some of these and add in the Wikis so that it can be easily accessible for others next time. However, when it comes to certain tickets and issues, I end up having to pick that task up myself (Manager does not ask me to, but at same time i know that for someone else the ramp up time required to fix the issue would be too high).
I recently tried to reduce this (2~ months ago), this led to our overall ticket health getting worse and I had to again start looking into them myself and guiding each on-call cycle with right action items for the tickets etc.
This involves me helping them to do the following :-
Due to which it ends up taking 6+ hours weekly to keep this running. I don't really mind doing this, however i don't feel this is a scalable solution and would eventually want to slowly scale down from doing this and have my team being able to be self-sufficient.
What's the best way to go about this without affecting my team's ticket health?
I’ve been in my team for over a year now and I’d like to change teams. In my previous companies it took a lot (of luck) to change teams (typically would only happen when orgs restructured). I’ve heard the process in google, and tech in general, is really straight forward and I’d like to get out of my org and try a different team. Would anyone be able to provide tips or guidance on how to change teams?
Unfortunately at a big company like Meta a lot of the stack is proprietary and are essentially black boxes, so I can't just search public documentation or use StackOverflow. Sometimes the documentation/wikis are outdated, so when the team maintaining it is unresponsive I have a hard time gaining traction with my projects. Ideally I'd try to go into the codebase to figure it out myself but it's hard to familiarize myself with another repo quickly especially if it requires special setup to get things running.
I also have a sample Workplace post that shows how I'm asking questions and looking for help: [REDACTED TO PRESERVE COMPANY CONFIDENTIALITY]
As part of my story or task, often times I have to understand and contribute to other codebases or solve bugs that involve understanding flow of other codebases. What is the best way to navigate this when you are suppose to solve an issue where you have to understand an external codebase in order to contribute or fix an issue?
I'm a mid-level engineer looking to grow to the senior level. I'm currently leading a team of 2 other engineers on a large migration project that's revamping a big part of our API architecture. This is a platform team so the biggest objective of this project is to make the lives of other engineers easier.
(1) How can I measure and demonstrate the business impact of this project, given that it is aimed at internal teams?
(2) What metrics could I be using to quantify the technical impact of this project?
I am a frontend focused full-stack engineer with 7 years of relevant experience in the frontend engineering space and a total of 12 years of experience. I am not able to decide where should I invest my time when working on side projects. Should I start picking up mobile(Android/iOS) or continue to sharpen my skills in the frontend development space? To put it another way, should I invest my time in going depth in my current domain or should I invest time learning mobile UI development as that has gained more traction and is viewed as more valuable skill?
I think I am unable to decide whether to go about developing my skills in breadth or depth.
I am a mid level engineer and I work for a manager who has micromanaging tendencies. Some of these tendencies include,
I have a few questions based on the above context.
I've been struggling with onboarding at my new job.
I'm part of a new team; my only other teammate recently joined. Many related docs are not in English & the translation is weird & confusing often. This makes revamping up independently super hard for me. I try to find that concept in an English doc from any other team, and that's my way of understanding something. But it puts a lot of overhead because I basically now try to understand the work of a lot of related teams too. And often it is much more time for me.
My manager has a lot of people report to her. I had a 1-on-1, and I explained the situation. She asked me to ping her for help. I often have stupid questions, and I feel weird asking her directly. So I asked her to assign me an onboarding buddy from the related team. But from her reply, it seemed like I should talk to everyone on the team & figure it out. I think she wants me to be more independent.
Now I ping people in my team or close teams to ask for help. I have found most or nearly all people to be super-helpful, and they relate to being in the same situation once. But I feel guilty about asking people for help. I feel it doesn't do much for them. As with most, I don't have a team meeting where I could thank them & their/our manager would notice it.
How should I better navigate this situation?
During our daily standup, whenever anyone on my team asks the lead/manager questions they don't know or calls them out on something the lead/manager understood incorrectly, the lead/manager always brings up old tasks.
Teammate: Did you mean x instead of y?
Lead: Oh, I'm not sure. It's been a long time since I've worked on that.
Lead: Btw, how is task x from 3 weeks ago doing?
Teammate: Some updates.
Lead: What about task y from 2 weeks ago?
It feels like a way to keep us in check i.e., I am more on top of things than you are, or a form of micromanaging, or a defense mechanism, but I can't pinpoint it.
The lead's reasoning behind bringing up old tasks is to "make sure they don't fall between the cracks."
Has anyone else experienced this? Am I reading into this too much? I tend to read into things too much...
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?
I just started working at a new company. I am still going over the general onboarding process for all employees.
How should I go about introducing myself to the team & manager? Should I ping them on chat to say Hi & asking them to add me to the meetings? My whole team has about 16 members.
Thanks in advance!
I'm trying to figure out the proper level of fidelity here: Should I have very granular estimates or something that's not super structured - Just a high-level idea of projects with some buffer built in.
I'm curious to know how to structure this plan to ensure that one doesn't take on too much and get overwhelmed, but is also full enough so that in case of blockers on core projects, there's a pipeline of projects to switch into. Would love to hear everyone's thoughts!
Often I read articles from different industry practitioners & company blogs. While reading, I usually highlight & take notes. But organizing them in a way that groups similar together & makes the article easily searchable for future reference is pretty hard.
I'm curious, what's a good practice you guys follow? What kind of tools do you use for it?
I joined Meta and my team in July of last year. I got an MA for this half. I am happy I at least got that, but it looks like a lot of people got exceeds expectations. The thief is making me less happy, and slightly worried. Should I feel good about this?
In the age of IDEs with autocomplete, chat gpt and copilot does it makes sense to learn it?
I have seen Devs who use Vim browse through files and make changes at tremendous speed and am curious if it's a good tool to improve my productivity.
I did do a bit of Vim during my bachelor's but mostly used IDEs in all my jobs. It will take me some time to learn and make the switch but I feel it's a good time to learn it.
Also what is the importance of setting up your tooling and IDEs in being able to code faster.
As the title says, I’m stuck as an entry level engineer in FAANG for almost 4 years now. I’ve been reflecting on what I’m doing wrong.
My first company I worked for 1 year and didn’t not like it because the lack of mentorship. I joined and my questions never got answered, the tech lead didn’t really care about giving mentorship, just gave me links and bug IDs. I was able to survive for 1 year but I left the company because I felt so lost. My manager mentioned that I was “on track” to getting promoted but I hated the culture.
Then worked for 1.9 years on another company, where I received awards for my projects and contributions. I did receive mentorship here, but I was not able to get promoted. At the end of the timeline my manager mentioned I was moving slower and slower. I was working as a full stack and I believe my error here was not playing my strengths, since every time I had to take another project it would be on a different area, such as server on a language I never used before. I had a few discussions with my tech lead and I felt I lost my team trust because they would give a lot of comments, and just get a lot feedback from other people. This kinda demoralized me and made it hard to keep working so I changed teams. My last team I worked for 8 months before getting laid off. Here I also received recognition for my projects. My first project I missed the deadline because the onboarding had nothing to do with my project. I integrated our tool with an external team, so most of the code base I worked was not even ours (the techlead and team didn’t have much knowledge). Then I was given another project where I was starting to get traction, onboarding and project matched, I had to ramp up again on the new tech stack and my manager was getting frustrated with me, my team was very helpful and I was slowly to become independent. I feel like people trusted me here and code reviews would go smooth this time, at the end I was finally getting positive feedback, but was affected by the layoffs. From reflecting, here is what I did wrong:
Not communicating well enough my work with my managers. Status updates I was blocked/learning and that would make me look slow.
Not very good mentorship, I feel like at the beginning I needed lots of 1:1 to be able to learn our teams codebase. Sometimes I got very good mentorship but not complete. So I learned well parts of the code base where the tech stack applied.
Switching projects too much, went from front end, full stack, server side with several languages. Every time I had to re learn a lot of new of the tech stack.
I did get several recognitions for my contribution with at least helps me think I’m not completely inadequate for the field.
I am looking for a new position, is there anything that could help me perform well as a mid engineer?
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?
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.
I work as an E4/L4 equivalent Software Engineer at a fairly big tech company (5k+ employees).
My org's Senior Director is interested in helping engineers in his team develop good soft skills which align with one's career aspirations.
I have my 1st recurring 1:1 with him soon where we'll be brainstorming over which skills I can work on one by one. I want to go in this meeting with some ideas.
Personally, at this stage of my career, I haven't thought about whether I would like to stay in IC role or get into management some years down the line. So for now, I want to work on the soft skills which would generically provide best returns in future in the tech industry.
The ones which come to my mind are -
- Presentation Skills
- Leadership Skills
- Conducting meetings well with a large audience
- Decision Making
Can you please share the right skills to work on from your side ?
Also any pointers on action items I can take for each skill you recommend (or for above mentioned skills) will be of great help too. Thanks.
I've been at this small startup (~100 engineers) for about 8 months.
I've worked on 2 different projects/teams (2 months + 6 months) for various reasons. This constant ramp up process is limiting my ability to make significant impact.
Now my manger is about to move me to another totally different project because my current project scope is transferred to another team.
The startup hasn't done a layoff yet, but the possibility is there this year.
I think I need to stop paying the ramp up cost and stick to my current area (meaning switching to the other team) so I can make bigger scope impact and avoid getting laid off.
How should I navigate this conversation with my manger?
I am in the very fortunate position to be choosing among some great offers. My question is how to properly choose between
If comp were equal going to company (1) would be a no-brainer, but how much of a premium should I place on the brand of a company? Put another way, how can I place a number on things like exit option value, social/engineering prestige and so on.
I have recently joined a team which works in Go (no frameworks). My team handles multiple backend services ( exposed through REST APIs ) which are like a platform for various other services.
I have picked up the language grammar and have enough understanding to write working code. However, I feel I don't "get" it. I don't understand how to organise the code into a well-defined folder structure and interfaces.
I would like to understand what are some of the good ways to learn a new language. It's been 2 months since I started learning it and feel like I am working with incomplete knowledge. Maybe at 50% level. I know there's no point in understanding all the features of a language but I would like to understand design patterns, best practices and how to write high-quality code.
I really need to be able to ramp up in another month's time.
Majorly need advice on
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 am not confident whenever I try to code a new library or a service. I simply copy-paste, look at other samples in the coding repo, and complete my tasks. How can I be better at coding, without copy-pasting? How can I gain confidence in this?
I had a career discussion with my new manager during my one-on-one meeting. I did ask him if he is ready to put me up for promotion to senior software engineer. He said he will gather feedback and get back to me next week. In the following one-on-one discussion, he brought up a few points as feedback.
I am actually upset and demotivated. How can I handle this situation? How to move forward with my new manager regarding career discussion?
In the previous cycle, I wanted to be promoted to senior, but my manager stepped in relatively late into the process to let me know that my promo packet had gaps. Because of this, I wasn't put up for promotion and I'm still at SW2.
This all caught me completely off-guard, and my goal is to make sure this doesn't happen again in the next performance review cycle. How can I make sure that my manager and I are completely aligned going into the next promotion process, and I'm not hit with any last minute surprises?
I was watching this recorded session . In that series, Alex mentioned picking a tech stack and sticking to it.
In that case, I work in C# and .net tech stack, however, if I switch companies, and the other company uses Java and its relevant framework, how can I gain expertise in that stack?
Should I look for jobs that use the tech stack that I am strong with?
Or learn and master the tech stack that companies use?
I've been debating this though for a while. Is it worth it to go for a principal role (61 -> 62 -> 63 -> 64) or just go and build something your own
My ideal plan was to reach E5 (Senior Engineer) on my current team and then leave. But I am nowhere near promo currently. I’ve been on my current team for about 1.5 years now. I have to get promoted in about a year from now, or else I’ll be fired.
I need help deciding whether I should roll the dice and switch to another team. I’ve built some strong relationships on my current team, worked with my manager for over a year now and am fully ramped up to my current team’s stack. I’m not sure how to make the decision of whether to leave or to stay.
An XFN stakeholder came up with a last minute requirement for a big project I'm working on, which will probably slow down the launch by at least a couple days. I already made promises to other XFN about the launch date.
What's the best way to mitigate the heat on failing to launch on time and zooming out, how do I deal with last minute launch blockers in general?
Hi Taro community,
Seeking your help in evaluating two offers that I received from two start-up companies.
Thanks in advance for any kind of suggestions/comments.
I will be moving to a new team soon. Is it recommended to ask for feedback from my old team before moving out.
I have good relationship with my team and I want to leverage them to know more about my overall contribution as a team player and engineer.
What is the best way to do that ? What type of questions I can ask ?
I want to avoid falling into same mistakes and grow faster in my new team.
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!
I don't know how to contribute to our team's monthly planning. How should I come up with ideas for things that the team should work on and contribute to our team's road-mapping meaningfully?
I’ve been on my current team for almost 1.5 years now. My hope is to get a promotion sometime this year which might require a higher performance review (Exceeds Expectations). But if I get an average performance review (Meets All), does it make sense for me to roll the dice and switch to a different team in the hopes of faster growth there?
I know there are significant costs to switching teams, and I want to make a well-informed decision if I do decide to switch teams internally.
Hi Taro folks,
I’d like to create a doc to track my deliverables across engineering axes to make my work easier to see for my manager. This should also help with arguing for promotions down the road… does anyone have a good format for such a doc? FYI: engineering axes include project impact, people, direction, engineering excellence, etc.
My resume is below and a review would be great!
*Note because my most recent experience is Team Lead and where I don't directly ship, I did break the rules and use bold to highlight earlier impact. I also put skills at the bottom for visual balance.
Team Lead for Software Engineering, Company X ⁓ $450M startup ⁓ 1M monthly active users
Android Engineer II, Company X ⁓ employee #18 of 150 ⁓ engineer #4 of 25
May 2021-Mar 2022
Android Engineer I, Company X
Nov 2019-April 2021
Internships: Zillow, Undergrad Research
Skills: Kotlin, Java, Room/SQLite, SOLID, MVVM, Git, Design patterns, OOP, TDD
I think I could get an L5 offer now if I pushed for it, but is it fine to level myself at L4 to make things easier on myself? Then I'll try to perform at L5 anyway but it will be a-ok to not quite make it.
I’m considering leaving a startup because of 2 things I’ve seen on Taro:
2019 Goal of Joining a Startup
Learn a lot about how to be a good software engineer
Be an early employee at a startup that makes it big
Quickly become an Engineering Manager because I like working with people, helping others
2023 Thoughts on Staying as an Eng Manager or Joining Big Tech
Dream of being an EM, is happening on small start up scale with a growing number of reports who like my management so far
The dream is to be early at a unicorn and that is close, but
The new standard should be 10B not 1B
Doing this with a first job is not necessary and high risk
In 2-4 years I’d likely still be a engineering manager from a no-name startup
L5+ engineer in big tech may fit well with my personality right away based on Taro, where I love collaboration, helping people, product and technical challenges
Getting a 2 FAANG+ badges on my resume over the next 4 years would be more way more worth it than even a million dollar payout from a startup
Could have many doors opened for high level roles at startups OR faang depending on what I feel like at the time
Big tech stock offer may also easily be worth 1M in 4 years
Supportiveness of team
Maximum outcome (Risk)
Supportiveness of team +0
Work-life balance +7
Company prestige -1
Growth opportunities -3
Company ethics -2
Remote work +6
Product space -5
Technical space -5
Maximum outcome (Risk) -10
Taro priorities video is
150 people, 25 engineers (doubled from a year ago)
Fall 2021 had 50% investment at 250M valuation
Dec 2022 450M valuation
Revenue has since doubled in last year to 125M
Profitable per years with 20% gross margin
Not venture backed, so not expecting 20x growth
Estimated in 2-4 years to sell for 1-2B
How to evaluate a startup video
Current job stats
Team lead for a year after 2.5 years as Software Engineer
0.1% equity, 100k cash
18th employee, 4th engineer
Dream of being an early employee at a unicorn, seems close
Would lose all stock if I leave before acquisition/ipo
Biggest point for discussion: ***2-4 years of being manager at a small startup may not qualify me to be an EM in big tech***
190k cash, 350k stock over 4 years, 60k sign on bonus
Work life balance is supposed to be great
Great food, big tech lifestyle that I’ve always heard/dreamed about
Would work to be promoted to L5 in 1-2 years, then manager a year after that.
Being a new person at a fresh company sounds very exciting now, I know the business fully and the tech stack of the current place to the point where many things Ive see before and feel stale/boring
Based on my write up about values, priorities, liking collaboration, would I like being an IC L4 coming from being a manager where I have solid tech skills but strong soft skills that I enjoy using.
If I stay at the start up would I be able to get a big tech EM offer with 3-4 years of management experience at the start up? Note this question shows what I’m learning now as a manager.
Should I down level myself from L5 to L4 if I think I could get the offer at L5 but am not sure about the certainty of success? (Question asked separately )
I am currently on a team where I am assigned to work on a different area of the product(s) in each quarter as per the priorities of the leadership for that quarter. This has resulted in me gaining a good full-stack overview but not much depth on any specific components/technologies. I've been on this team for around 18 months right out of college but 80% of the technical work I've delivered till now has just been pattern-matching based on the existing code and infrastructure, although the outcomes have been impactful for the business. I feel like I'm not learning anything technically significant beyond company/product-specific knowledge which are not transferable to other companies. When I check out job postings from other companies for my level of experience, there always seems to be a focus on having expertise in some technology, which I can't confidently claim. This brings me to the following questions:
1. Should I stay at my current company? My career growth prospects seem great here as I have a very good reputation in my team and sibling teams, and have gotten very good feedback and visibility from managers and seniors. I also work as the lead developer for a legacy product which is not that robust and has hard-to-reproduce customer bugs, but the leadership has taken a renewed interest in adding new features to it, resulting in more potential scope for me. The main downside is low technical-learning as mentioned above, and I've heard this same remark being mentioned by senior engineers who have joined from other companies as well.
2. If I decide to switch companies, how do I bridge the lack of technical expertise that's expected for my level? When a recruiter views my resume, the technologies that I've used at work and as part of side-projects are all over the place, without a clear specialization. Although I'm confident that I can pick up these stacks without trouble on the job if needed, I feel underconfident in them in an interview setting.
I find myself in this confusion as to how and when should I spend time in
How should one spend time in making sure they are doing deliberate practice for the interviews, but also are in "sync" with the market with all the new tools and technologies out there? Where does one stop? I know my priorities, but I also feel i might loose focus on my interview prep if I start multitasking.
How do senior engineers or mid-level engineers keep themselves uptodate? or do they only learn "whatever is required to get my job done"?
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.
I have a couple years of experience, so I'm thinking if it makes sense to go down the engineering manager path. I'm well-positioned to start this journey at my current company as well; I'm a very early engineer on my team, and I have the ability to build up the team and mentor those new people. However, I'm unsure if this is the right way for my career to go and how much of my job I want to be people management - How can I figure this out?
I'm trying to figure out how to have a better disconnect between work and outside of work. Sometimes I'll get carried away on a task and I'll work pretty late on it, which negatively affects my sleep schedule. It’s all been kind of blurred, I can’t even remember when I stopped working sometimes. I'm also working with people in different time zones, so I'll work later than the traditional 9 to 5.
Overall, it's not too bad though. I'm mostly not working weekends, and this is mainly a thing on me: I don't have external pressure/crazy deadlines to overwork.
I work for a very technical and niche start-up as a Frontend Developer. For context, we have 3 F.E. devs and 3 B.E. devs. I was hired as a vaguely-level intermediate developer, and after about nine months at this company, my F.E. lead is advocating for me to be a Senior developer. The only issue is that the company hasn't done internal promotions before, and they're a bit stalled whilst considering how to best handle the process. There's also some ambiguity in measuring a Front-end developer's skills - especially compared to a back-end developer; Our CEO is also a seasoned back-end developer, so he understands technical skills but is unclear on how it maps to Front-end skills.
What are some things I can bring up to my company's leadership on how to measure my skills and value? Such to help facilitate a conversation around my promotion.
I have a busy senior/manager. We used to have 1-1s twice a week, and now I'm lucky if I even get a single 1-1 every other week. I understand that it's because he has a lot of responsibilities (e.g., coding, managing, scrum'ing) and end-of-year deadlines.
Here are some things I've done to make up for the lack of 1-1's:
Does anyone else have a busy senior? Should I be doing anything else? Thanks!
Hello. For anonymity, my name is John, and my coworker is Bob.
Bob is relatively new, so I help Bob out when he's blocked on a JIRA ticket. I don't mind helping, but Bob only mentions my name during standup when he's unsure of something (e.g., John and I worked on this ticket, and we think this might be the issue).
During the times my name was mentioned, I probably did think that was the issue, but these are incomplete thoughts + theories that I'd rather not be publicized if I am wrong (I don't mind being wrong in public, but I'd rather be wrong on my terms).
I don't think Bob is doing the above on purpose, but it does bother me.
Here are some possible solutions I've considered:
I think (c) is too confrontational, and given that I don't think that Bob is doing it on purpose, I can probably skip this. I want to stick with only (b), but I want the option to share an incomplete theory as it may indirectly help Bob to a solution or teach them something new.
What do you all think?
How often does everyone pair program here? And how do you regard them?
I am at a startup and since I have started, first as a junior, my pairing frequency is about 1-2x per week. I do not consider myself a junior anymore (at least not at the company, but maybe on Leetcode >_<) and find these sessions more valuable as volleying ideas flow more. I was wondering what it’s like for others and if it is a day in the life thing at big(ger) tech; is it kind of seldom or frowned upon or do some of you use it as a measure of skill, etc.
Hope everyone is having a good start to the week!
I am an L4 engineer with decent knowledge of my team's stack.
What are some actions I can take to meet expectations in my current role for the next few years, while minimizing the amount of time I spend on work?
Given that I'm not shooting for a promotion, does that change how I should approach relationship building with senior folks on the team? There is a lot of advice on Taro about relationship building, but it appears to be aimed at folks who wish to promote quickly.
I came into my role with an advanced degree, so I started out as a mid-level engineer. However, I still need to be able to ask questions as I've never worked as an engineer before. I've seen all the Taro content around asking questions, but my manager has drilled in since a few months into this role that expectations are that I function independently, unblock myself, and don't take up much of others' time by asking questions. That it would count against me in performance reviews (versus for me if I help others with their questions).
Given the current job market, I don't know where else to go, but this environment leaves me pretty exasperated. Is it normal in other companies to go to more senior engineers with help getting unblocked? Are questions only really around code, or is it normal to ask for help debugging a feature/bug/test? I worry about becoming a senior with the expectation to be independent and help others when I myself have never received guidance to grow to that level properly.
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?
How to best answer this question in quarterly discussion with manager? Things are looking good on personal level. On team level also project plannings are seems to be aligned with team goal. How can I add value to this question?
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?
So, a new situation has come up at work. My lead let me know today that he/she is going on a parental leave around October last week. I did ask them to let me know if I need to step up and need to prepare anything before they leave.
Question is How do I handle this situation and work with my directors to get prepared for it. I don't feel prepared to replace them for the next 3 -4 months nor I think I'm expected to do that but the question here is how can I proactively reach out, prepare and help the team in this situation.
I'm mid level, new to the company.
I got assigned a chunk of a bigger project owned by a staff level engineer, let's call him X, who has worked on the product for a long time and has a lot of context.
Things that were new to me: the language, the tool chain, product context. The codebase is several years old.
My skip level manager (1 level above my direct manager) once encouraged that I should aim to finish my work in less than 2x the amount of time it would take X to do it (but besides this I received no pressure, or reminder to push for this target from managers).
This was overly ambitious. I worked longer hours and harder than anyone around, including weekends but still could not finish it in 3x the amount of time initially estimated.
The staff engineer overestimated what I can do too. He's very willing to explain but I had a hard time mapping his high level explanation to what happens at the code level.
I could not tell if the standard here is high or the task is too hard. So I leaned towards putting in more effort rather than voicing my concern.
I also did not have a good sense of "are these unknown parts of the code base grok-able with a little bit of time or do they require a lot of time?" to estimate time spent up front.
In the end I got some barebone thing out and he took over. Still took him a couple more weeks to get the thing finished. Along the way he solved some problems I'm sure I have no chance of solving in that timespan.
With this evidence I was sure the task was legitimately too hard for me and was comfortable letting my manager know my opinion.
Back up a little bit, when I started working on the project, my manager knew I could not stick to the original timeline set by the engineer and encouraged me to take my time to learn the codebase. What is puzzling is my manager did not tell the engineer about this unrealistic estimate. The engineer reports to a different manager and has been around way longer than my manager.
Maybe there is some politics going on that I'm not aware of.
Anyway this has been a very stressful experience.
What could I do better? What should I do to mitigate any harm done through this experience?
Hi everyone, I have about 0 experience with machine learning and I'm thinking of ways to significantly increase my value in the future. My ideal plan is to get promoted to E5 in < 1 year and then change domains to ML (or ML Infra and work closely with ML engineers). I have almost 0 experience with ML directly, but I think they make much more money in the long run? I'm currently a backend software engineer.
Basically I want to know if it's worth investing my time & effort this or if it would be better to just eventually go for engineering management in the domain that I am already familiar with.
I recently passed 5 years of work experience as a software developer, mostly working at small companies/startups. I’ve been at my current position for almost 2 years and the startup is around 100 employees.
The company is doing great, we just raised another round of funding. I’m preforming well and I’m up for promotion to senior software developer next performance review.
With all that being said. My goal has always been to get into a big tech company and I think the earlier I do the better.
Overall I really enjoy working at this startup but I have always been career driven and I think going to a big tech company would be the right career move. Am I correct on this being the right career move or is this just the pressure developers feel to work at a big tech company?
Hello! Just joined this community yesterday and the information I've seen so far is invaluable! This platform truly is unique!
My question is about the overwhelming and sometimes contradicting information for front-end engineering. I was a backend engineer for 1 year and then switched to a frontend engineer within Mastercard since I love the design and visual aspect of it. It is much more gratifying. We work with Angular in mastercard but I feel like my skillset is very specific to our codebase. I am good at debugging (cause that's what most of my work is recently) but I don't know how that can transfer to other jobs. I also feel like Angular is an older framework. I want to join a proper tech company next year (outside fin-tech) as a senior front-end engineer. What do I need to do to get there?
Should I dive deep into Angular and make tons of projects with Angular? Should I learn React or some other frameworks and make projects with those? Should I look into full-stack roles and brush up on backend (Java)? All of the above??
I am a bit lost and any guidance would be appreciated!
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?
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?
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 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 -
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:
Something I want to get more efficient at is promotion trajectory, and team selection is a big part of that. If I were to switch teams, how can I find one that's important for the business and has a good amount of L5 scope? My goal is to move up to L5 soon and have scope to start making progress to L6 as well afterwards.
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?
Given this industry, switching is always somewhere in my mind. How can I figure out if it makes sense to pursue that or stay? When it comes to staying, how do I know if my current team is conducive to my overall growth and goals going forward?
I'm looking into a team switch, and I was wondering what I could ask to figure out if the team works for me. My priority is to find a team with good growth opportunities, so I can make the jump to L5 (senior). I know in Taro that it's suggested that you talk to engineers, but talking to engineers has been tricky from my experience with Target's team-switching culture. Questions that I can ask to just the engineering manager would be great!
One thing that I learnt in one of the taro videos is to choose the right project for the career growth. However, I lacked this kind of vision/ability to evaluate. What I can do to improve this weakness? Should I grow more engineering domain knowledge or should I take some business courses to further improve myself?
Currently, I have interviewed many companies and got many offers. However, I am struggling on what company/team to choose to maximize my potential impact and career growth in the future? What questions do I need to ask so that I will know better which team/company is best fit for me?
I'm aiming for a promotion in 5 months and to do that I've been told that I need to evidence execution on a few complex projects. As a team we're working on some big projects but I'm not sure how to approach identifying a sub-project, isolating and owning it.
Does anyone have any tips on this?
The product I support breaks often and I've been the go to individual to resolve internal fires. Addressing them takes time away from tackling more impactful tasks, and it's beginning to affect my output. My team doesn't find such infra issues as priorities so fixing them gets little visibility and I'm concerned this will have a negative impact on my PSC. How do I balance this properly?
I have a 1:1 with the director of my engineering org in the next couple of weeks and it's a rare opportunity. I'd love to make a great impression and learn about insights that I wouldn't be able to get from just talking to my manager or teammates. I'm relatively junior and new to his org. Any advice on what to talk about?
At my last job, I was working on machine learning infrastructure and moving towards becoming a machine learning engineer. I switched jobs because I was miserable for other reasons besides the work, but I'm now at my new job working on a completely new domain in distributed systems. I'm not sure if I like this domain compared to what I was working on before. I'm going to give it a year, but if I figure that I don't like it, how difficult would it be to move back to my previous work?
I've developed an interest in robotics and perception, localization, etc. I'd love to build software that handles these problems. But as I do more research, I get the impression I need to go to grad school to qualify for such positions.
Also, a side follow-up, if I do have to attend grad school, does anyone have any experience going back to grad school after industry? Especially if you don't have a competitive GPA or any research experience beforehand (my situation).
One thing I'd love to ask about is effective pressure management. Coming from small cos to a big company like Meta; despite startups having a reputation for chaos, I personally find there's a larger number of failure modes at big companies - a review taking too long, lack of good logging, misalignment, which can lead to either a project being derailed or just flat out failing. I've personally gotten better myself at pressure management (trial by fire); but would love to have thoughts from folks on how they work on this skill!
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:
I spend a lot of time on oncall. There's just 3 engineers on the oncall schedule (2 other back-end engineers and myself), so we're all oncall once every 3 weeks. We hired 2 people and are looking to onboard them into the rotation later in the summer, so it will become once every 5 weeks for oncall soon-ish.
Psychologically, the oncall is very draining as I'm constantly fearing what’s going to happen. For example, I can't work out at the gym in peace as I'm constantly on high-alert in case an issue pops up. How can I have better work-life balance and less stress with this situation?
I work overtime a lot, and it's pretty stressful. I'm also worried that amidst all this effort working for Meta, I'll lose track of who I am overall and what I can do for other companies. What can I do to strike a better balance here?
I'm in bootcamp right now, and many teams are telling me that they have all 3 of these things. My bootcamp mentor says that's not really feasible - There are trade-offs. Am I gullible if I believe these teams at face value?
There's a lot said about asking great questions, but I'm wondering what guidelines apply to the other side: Providing great answers. How can it be done in a way where the answer resonates the most with the asker and the relationship is built up?
I'm trying to get promoted to E5, and my progress so far has been decent. I'm doing well on all 4 axes, but I currently have a gap on the people axis (it's not Exceeds Expectations yet). I know that people/direction are very important for E5s, so I really want to get better here. I do things like give tech talks and mentor some rotational engineers, but it doesn't seem to be enough for an E5-level people contribution. What can I do to shore up this aspect of my performance?
Whether it's mentoring a junior or writing documentation, I'm not sure how to best balance the level of information sharing with the speed of development - especially regarding new features or projects. At the moment, I share information as it's required or wanted, but I feel like it's easy for people to dismiss learning anything new, which leaves me uncertain as to whether or not I should push for others to learn about work or handle it on an as-needed basis. If this is related to a team's culture, then what kind of practices should I be advocating for?
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 am a little worried about the potential of layoffs at Meta. I am not sure if I will get a needs support. I have been working on doing a design doc for the past month, and my manager has generally been very positive towards me. But I feel like I might get a NS due to my not submitting as many diffs and accepting as many diffs. I joined my team less than three months ago, and still technically ramping up. I would be sad if I got a NS or a pip, but it wouldn't destroy me.I guess my question would be how can I best buffer myself during these next few months, and how can I avoid situations like this in the future? What should I do if I do get put on PIP/NS?
One of my direct teammates is unfortunately notably under performing since joining the team - without going on too long, their output overall is very low impact, and they often need to be hand held for even simple tasks. For some context, they've been with the team less than 6 months, which does excuse some of their issues, however by this point we'd be expecting them to be far more comfortable and productive in the role, especially considering they have several YOE doing similar work.
Recently, a senior engineer on the team has brought up and discussed this issue with me in a personal discussion, and ultimately feels as though the engineer in question has been given chances/assistance, but you that it's a case of "You can bring a horse to water but can't make them drink".
Besides obviously discussing/raising this issue with our manager (which I fully plan on doing), what else can I do to help this engineer? I'm not interested in seeing them leave the team, but I also don't want to see them stay at this level of impact, and I'm not quite sure how to broach this topic with them (if I even should).
Is this a case of just getting them on board with what you have found or just trying to find time to take the initiative? The PM will generally be the one in charge of what we develop over the upcoming period (in my experience anyway).
In quarterly conversation with my manager, for questions like how I’ve contributed to Quality or any other sub dimension I got response that I should talk about team and not only how I (as an IC) contributed. And I honestly struggle here. Any tips? How I upgrade myself to talk about impact at team/bigger level and not only at personal level?
I'm thinking to glance over some materials about the tech stack that the new team uses before joining them. What are some other ways to best prepare for the new team so that my onboarding process can be as smooth as possible and start performing at my level or higher?
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.
The product managers in my org are pretty ambitious, and that, combined with the fact that we're a startup, leads to a lot of feature work. However, I wish we had more time to do engineering-oriented efforts like refactoring, adding automated tests, and others. The PMs say they want to do it, but this work never seems to be added to the sprint - Any ideas on how I can close this gap and get these types of projects added?
I'm a product generalist at Meta and I've been offered to opportunity to ramp up to Android and possibly specialize in Android dev. What are the considerations I should be thinking about when 'switching tracks' like this. E.g. will this reset my progress towards promotion as a prodgen or will it enhance my skillset for future opportunities?
I have only been working at North American tech company for 9 months now. And for most of projects I have worked on till now, I have been super fast and finished my work mostly before deadline/estimate. My question is can this fast work backfire on me? My manager has always praised me but can it be bad like me being disliked by team mates or having problems in future? Should I slow down and finish it slowly (In that case, I am not sure what do I update in project syncs if I have been lazying around and not doing much)? Or continuing at speed will be beneficial for me?
When it comes to describing your projects, what are the things you should emphasize vs. not? I want to be able to paint myself in the best light when talking about projects at work and during behavioral interviews, particularly those of Big Tech.
I'm wondering how companies think about employee compensation for those already in the company. Is it possible to have strong upwards mobility on the compensation side by just staying in your current company and doing great? Or is it better to change jobs?
I'm mainly working remotely due to covid and a team distributed across time zones, but I feel like earlier-in-career engineers like myself should have more in-person work. How can I overcome the barriers of remote work?
One of my core goals is to get to L5, which is senior at Target. However, I'm not entirely sure what is necessary to get to that next level - I've tried to get specifics from my manager, but their answers have been relatively vague. I was wondering if anyone could share more concrete attributes of what a strong senior engineer looks like.
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.
My goal is get promoted to senior [5A], and I'm currently working remotely. My manager is okay with me working remote only, but the promo committee might not be as Uber leadership overall is investing into RTO, and my team has gone back to the office for the most part. Do you think this will hurt my chances, and if so, any tips on how to navigate the situation?
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?
I think I'm a good generalist with technical breadth and got I ask appropriate questions to learn a new stack. I think I lack in technical depth. Either I haven't had opportunities to develop meaningful technical depth or I haven't known how to leverage those opportunities.
A perceived limitation is I tend to associate these opportunities only with refactoring, which needs buy-in from business, but maybe there's more I don't see. My experience has been business only wants to spend the type of work that applies to covering 80% of the needs and the rest tend to be edge cases that don't get much review during initial design & implementation.
An idea I've considered is deliberately practicing DSA interview questions with the intent to identify concepts that may carry over to other implementations. How feasible does this seem?
I know that moving companies is very powerful in terms of compensation and learning new things. However, I'm wondering if it's still effective in the context of trying to get to the highest engineering execution levels like director or VP?
I feel the quality and quantity of my contributions greatly exceeds the expectations of my level, so I'd like to ask for a raise. I'm basing this self-assessment based off raw diff count + SEV participation + project count + good peer feedback.
Typically raises are given out once a year at Robinhood, and I've only heard of employees get an off-cycle pay increase if they threaten to quit. How should I ask for a raise?
I finished my first JIRA ticket today and I was assigned another ticket, but this ticket feels different…its requirements are significantly more vague.
I understand at a high-level what the requirements for this task are:
These are examples of some the questions I had, however they feel too low-level for the analysis stage.
So, my question is this: what high-level questions can I ask to further demystify these vague requirements and future requirements?
I joined Meta as an E4. I'm coming from a company which doesn’t have as much structure around performance review.
I feel good about my coding ability and project impact, but I’m not entirely sure what are the ways to think about the people dimension as someone relatively new.
Meta is my first large tech company, so I don't know much about the other big players (Amazon, Google, etc). I was curious as to what makes Meta unique compared to other giant tech companies, so I could get a better understanding of the industry overall.
As a self-taught developer, I don't have a systematic knowledge base as those who were trained by college degrees or bootcamps. How can I built up a knowledge system as a Software Engineer over work?
For example, after I get a bird-eye understand of the industry, I can fit the pieces that I'm dealing with at work into this system and build up my knowledge with a more systematical way. Can I get some suggestions/approaches for this, or get to know your experience building your own knowledge system?
I'm in the onboarding phase. I was assigned a starter task and have been working on it. I haven’t done the work of asking questions on design choices (that part is pending).
I want to be ramped up after a week and am wondering how to spend the time. Should I go in-depth on overall architecture? Or spend time working on the codebase? Or is there something else I should do?
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 work will often times span across multiple services within Uber, which means that I need to write code in codebases outside of my team's. Sometimes when I do this, it takes a long time for my commit to land as there's many rounds of follow-up questions, leading to a lot of rebases, revisions, and time spent on my end. I understand that they're trying to be the best stewards of their codebase, but this can be a bit frustrating sometimes. How can I make this process smoother and land these kinds of changes more quickly?
So within my own area of the codebase and tech stack I own, I'm very comfortable and confident leaving feedback and sharing thoughts. However, I know that in order to grow to senior, I need to expand past my immediate area into other spaces like the components and services built by other teams in my org like sister teams. For those areas, I'm unsure how to share my thoughts since I'm not an expert in those codebases. So let's say I come across a code review from one of these more "separate" areas from my own and the engineer behind the diff is more senior than me - How can I leave my feedback in a way that respects the situation?
I was assigned my first JIRA ticket at my first official dev job, which I started about two weeks ago. Given my situation, I want to know how long my manager expects me to work on the ticket, so I don't end up underperforming or not meeting expectations.
Some background: before this job, I worked at a very early-stage startup (one other person and myself for about a year), so I don't consider myself a complete junior. Additionally, I don't know my official title since I came in as a contractor and the contractor title does not match the FTE title, so I'm not sure what is expected of me.
Some of my thoughts: I've considered asking my manager directly how long he expects me to work on this JIRA ticket, but I wasn't sure if the question was too noob-like or too forward. I've also considered that so long as I'm making progress (which I am), I should be okay (until it's not).
So, all this to ask, should I ask my manager how long he expects me to work on my first JIRA ticket?
I'm a new E4, so I obviously have promotion on my mind. I have a good amount of experience coming into Meta (~5 YOE), so I want to move more aggressively with this promotion. If I work 40-45 hours per work with very good work ethic, what's a reasonable target to hit for the E5 promo?
I'm currently an IC4, which is mid-level at Coinbase, and my goal now is to grow to IC5, which is Senior Software Engineer. I know on Taro that creating a growth plan is important, so I was wondering how exactly I could do that. Does it make sense to have a 2-year plan since that's a fast but still reasonable amount of time to make this jump?
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 just started at Meta in the business engineering org (formerly solutions eng). We have a lot of XFN work with sales and SWE teams, so lots of opportunity to coordinate projects and be customer-focused. I was a SWE at my past company but I'm hoping to eventually transition to PM as I believe it is better for upward mobility within a company?
It seems to me that Meta has SWEs drive a lot of product decisions but I've always heard Product is better for high growth and the famous examples of Sundar and Satya
I recently made a string of silly mistakes related to a particular project that led to a few bugs being deployed to production. I think I incrementally got more and more overwhelmed and stressed by the project because my initial fix caused a bug and from there I fixed that bug and inadvertently caused others.
I'm concerned about how this might play out with my EM. How I can best approach owning this set of silly mistakes without it having a negative impact on my reputation due to my low code quality mistakes partly caused by the stress of the situation?
My tech lead asked me to write up a mini bug report for our our engineering retro and this morning my EM was asking about what the report was for because I had written it down as part of my weekly goals in our stand ups. My EM has low context on the complexity of the work we do and is far from the code - tending to over index on any signal he come across.
I just went through my performance review and I'm meeting expectations so I don't have a formal review for a while. I'm about to go on vacation for a while so I'm hoping this fades into the past but still I'm not sure exactly how to play this now so it comes out in my favour before I go away.
Came across on CSCQ where the original poster asks about what these missing essential skills. One reply had me wondering, how I can actually learn these points:
I'm going to be joining Google soon, and my current approach is just to come in and stabilize as a solid L4. Over time, I’ll assess my situation and see how I should pursue leveling up. I would like to grow (i.e. eventually make it to L5), but I’m not in a huge rush - I don’t think I want to set a very concrete goal like “I want to get promoted from L4 to L5 in 1.5 years”. Thoughts?
My manager said to me in 1:1 that I take too much time to context switch from one task to the other. He said I can do a better job on my whole multi-tasking approach toward work.
Any tips on how to improve?
Comparing Meta to other companies, splitting between a PM and an engineer is very awkward. PMs end up doing a lot of strategy work, but when it comes to what tactics you pick, it seems like engineers have to pick there.
My PM is very senior at PM6 and their guidance is extremely high-level to the point where the concrete projects we need to work on aren't entirely clear. How do I fill in these details, so I know what to work on?
I am good at coding, and I am able to deliver features to prod. However, when it comes to technical writing, like writing software design document, coming up with state transition diagram, block diagram, I am struggling with it a lot. I am not from computer science background, so I am not well versed in coming up flow chart, sequence diagram and state transition diagram. How to improve on these areas? Becuase of this, I am finding it difficult to communicate my idea to principal engineers/ architects. How can I improve on this?
I've gotten feedback that I'm more on the quiet side and that I could be more active in meetings. However, I feel like I don't have much to add when it comes to meetings. I want to say something that's insightful and adds value to the conversation, but I'm unsure how to come up with that level of material, especially on-the-spot during the meeting. How do I figure out what to say?
I'm a new engineer at Snap, and my first month here is for onboarding. My team does internal tooling, and I have my first major project already lined up.
My manager said this should take an L4 engineer 1-2 months with a lot of help from the tech lead. This tech lead is a senior engineer pushing for promo.
The stack is a mix of Java, Go, and Python - I'm a back-end engineer on the team. However, I'm transitioning from a field that's pretty far from back-end. I'm wondering how I can make this transition as soon as possible and make sure I onboard well into the team?
I've hit a lot of issues pretty deep into the project's execution that hold it up. It can come as late as running the A/B test where we find a big problem that delays everything and takes weeks to solve. This messes up the initial estimates I set up.
Part of this is because I transitioned between teams recently: On my previous team, it was easier to set up components and test them early, but in this current team, it's hard to get real signal until everything is set-up and we run a full end-to-end test.
Lastly, if I hit an issue like this, how can I minimize its effect on my performance and restructure the timeline in an acceptable way?
I'm slated to work on a pretty big project, and because of this, there are 2 other engineers to help out on it, both of them more senior than me. I've broken up the project, and at a very high-level, there's 2 types of work:
This leaves me with the following crossroads as a lead on this project:
Any thoughts on which of the 2 paths I should take?
When people talk to me, I have a tendency to pause. This has led to feedback that colleagues wish I could answer their questions faster. The problem is that I need to pause for some questions as I need the time to think and formulate a good response. Is there a way I can incorporate this feedback without sacrificing my answer quality?
I've been behind a couple times shipping tasks and projects, and I've gotten feedback that this is something I really need to get better at. One aspect to this is that I take a lot of iterations before I fully understand something - This extra time slows down the planning and overall execution of my work. How can I improve in that regard, and is there anything else I can do to get better at setting targets for my work?
I had a feedback session with my manager, and they gave me feedback that I was doing well overall but they would like to see me become more familiar with Meta's experimentation tools. They mentioned that this wasn't bad feedback as this unfamiliarity is expected with relatively new Meta engineers like myself. That being said, I'm unsure how to process it: Should I process it urgently and if so, how do I become familiar with Meta's gigantic experimentation infrastructure?
I'm relatively new to Meta, so I'm having trouble processing things in meetings as they happen, making them a substantial waste of time for me overall. I don't want to seem dumb, so I would to avoid asking a bunch of questions during meetings to make people explain what they just said. What can I do to make meetings more productive for me?
I'm a mid-level engineer who's struggling with some performance issues at work. A staff engineer on my team has taken notice and has been very generous with offering help and advice, to the extent of basically handholding me through my projects. While I truly appreciate the help, I'm wondering if this will be seen as a negative signal during performance evaluation since I'm supposed to be operating 'independently' at this level.
Recently, I have found myself just working on the tasks and investigating the bugs that my manager tells me to. However, from a performance perspective this would be considered "meeting expectations" at best. How do I develop a nose for impact and introduce new, innovative ideas to my team that really improve our product or development workflow?
There's so many teams to choose from - It can be overwhelming. However, in a company as large as Meta, I'm sure there's huge variance among teams. How can I find one that works for me, particularly when it comes to find E5 scope for promotion?
Part 1: Before Joining an organisation
Part 2: After joining an organisation
I'm currently SE2 in my company, which is the earlier side of mid-level and am trying to make progress to SE3 and then senior engineer. Knowing that, how can I start making headway towards that SE3 promo? Do I need to be able to draw the line between my work and business impact?
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 recently accepted an offer as a full-stack developer for Atlassian (P4). I have about 2 years of experience.
My first company was about 12 people (all engineers, no teams) and my current company is about 400 people (about 20 engineers, with my team size being 5 people). The team I'm moving to at Atlassian has about 100 engineers in total, and the team I will be on should have around 10 engineers I have been told. The hiring manager said that the teams are made up mostly of mid-level and senior engineers.
What can I do to make sure I get up to speed in ample time and be able to make an impact? I would like to become very career focused starting with this job and focus on advancement. My main concern is that maybe my experience in only smaller teams at smaller companies will cause friction for me as it will be a big adjustment.
It's hard to figure out what's going on right now; there's just a lot being said like that some Meta employees "don't belong here", it's time to "turn up the heat", and "low performers" need to be weeded out (I would have thought this was already the case at Meta?).
At the end of the day, I just want to figure out what this means when it comes to employee performance and PSC in particular. I've heard from some managers and engineers that the ratings will be upshifted (e.g. you need old EE to get MA), but I've talked to my manager and they said that this won't happen. But if that's the case, how will the performance review system change?
Any tips on what concretely could be happening and what we can do here to adjust to these changes?
I was working with a team during bootcamp, and they mentioned that they intentionally have very low test coverage (both unit and integration). This team is more on the back-end side. Is this a bad sign or is there something specific about Meta's culture that I'm missing here?
I've gotten feedback that I could be more of an expert and provide insights more smoothly on past projects I've delivered. However, I've been at the company for many years, so there's a lot of stuff attributed to me. How can I be an expert on all these things without being overwhelmed?
I feel like the projects I get are more generic and straightforward. I want to start making progress towards senior, but the more complex, larger scope projects are going to the engineers on my team that are more senior. What can I do to start getting those projects?
My main goal right now is to level up, and that next level for me is making the jump from junior to mid-level, hopefully within 2-3 years. To better understand the evolutions I need to make, what are the main differences between junior and mid-level when it comes to SWE?
At Microsoft, basic criteria for promotion is to deliver at next level consistently. Example: At L62, i need to work and deliver at L63s work level standards.
Every quarter, manager asks few question like what are things that went well for team? what are things that didn't went well? what are your top priorities as a team member? What is best way to answer these questions (as someone who's been in company for less than a year)?
My manager is relatively inexperienced (<1 year as a manager, and only a few more years of overall work experience than me). While they have a lot of expertise as a developer in the domain that we work on, when coming them to my previous manager, I don’t think that they have a ton of experience in growing and promoting people, esp. in a deliberate or structured way. How do I make sure that I continue growing, and receive the right growth opportunities and constructive feedback?
I've been at mid-level for a while, so I want to level up to senior quickly. However, I'm not really sure what I need to do to make this jump - The feedback across my manager and engineering mentors has been good.
My goal is to level up to senior, but it's tricky as I'm not getting the feedback on how to bridge the gap. I have other engineers in the org as mentors, but I haven't been able to get areas of improvement from them. I don't get a lot of comments on code review anymore either - It seems to be going fine there alongside everything else.
I’m currently working on a 0 to 1 project that’s outside of the team’s scope, so I have no senior engineer on the team to support me and tell me what to do. I have to spend a lot of time piecing things together and it's been rough - I've missed on the team's ship goals as it's hard to move fast enough on this project. How can I make this situation better?
I’m okay at planning out short-term projects, but I have trouble with longer time horizons. As a new engineer here at Mercari, I'm currently working on a 90 day plan and I've been thinking about how to estimate projects. I want to figure out timelines in particular, so I can properly manage expectations. A lot of the time, I’m over-optimistic about what I can achieve, so I want to build a better muscle there.
For reference, I consider <1 month to be short-term and 2+ months to be long-term.
I'm primarily on the back-end, but I've been put on a lot of other stacks. I've worked with www and Bloks and now I need to pick up native Android to debug a deep link issue.
I'm having a hard time with the Android issue. I took a long time just setting up the environment, choosing between VSCode, Android Studio, and OnDemand. I'm now working with adb, which I don't really understand as it's completely new to me. There's not a lot of documentation for my problem area, and it's been rough.
More broadly speaking, how can I do better in these situations and pick up new stacks faster?
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.”
As a mid-level engineer, my goal is to advance to senior in the next year or so. I’ve been looking at the career ladder defined by my company, but I still want something a big more concrete.
I read , and I like the advice about doing homework so you can be more effective once the meeting comes.
However, I imagine there's a potential negative extreme here in spending too much time preparing for the meeting. What's a reasonable amount of time here?
I'm joining Meta as a Machine Learning engineer. I've found content on Taro (and other platforms) to be helpful, but sometimes I'm not sure how applicable the advice is for my domain. For example, I won't be working with any designers, and I probably won't touch any UI components in the way a mobile developer might.
I'm an Android engineer working on an infra team, and like every other Meta E4, I am working towards the E5 promotion. Because of this, I'm spending a good amount of time building up the non-coding skills needed for the people/direction axis, doing things like XFN alignment and project management.
My question is how "all-in" should I go developing these behaviors: How much of an engineering excellence commitment do I still need to maintain? How often should I still be landing diffs?
I work on a very small engineering team, and I'm trying to build up a more impressive suite of projects and business impact. Given that, I'm having trouble figuring out how I can "level up" what I'm doing.
Some additional context:
I feel like everyone's talking about getting into FAANG all the time, and I've been thinking about it as well since I haven't worked at a FAANG company yet. I see people with really short stints on their resume - Is that really okay? Overall, it's all a lot to take in and I'm just wondering how to best think about my career and get away from all this job switching noise.
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?
For the core workstream I got put on, there are a lot of potential angles to really move metrics, which I'm excited about. However, they mainly seem to be non-code solutions.
I've gotten earlier feedback that I need more coding signal, which has me apprehensive about this current workstream. I know that an E4 needs a lot of coding contribution for Engineering Excellence, but I am pushing for E5 which is more people/direction driven. Is it okay for me to take on this project or should I find something with more coding work?
I'm a new engineer at Mercari, and I want to make a big impact. So in terms of OKRs and the overall team roadmap, how do you think about how you can integrate that into your work as an engineer? More specifically, I want to influence the team's product direction instead of only doing the work that I'm given. Do you just need to have a good product sense in order to work in this style?
I came in as an E4, but I feel like I'm over-leveled. I only had ~1.5 YOE before Meta, and I was doing relatively straightforward coding work at startups. However, when I joined my team, my manager's goal was to get me at E5 ASAP.
This has led to them giving me a lot of very complex scope. Here are some of the things I've gotten/am expected to do:
I haven't been able to handle all of this - I'm falling behind and feeling pretty stressed out. I would much rather just take the time to build up the E4 fundamentals and stabilize at an MA initially vs. chasing E5 promo right out the gate.
My team is kind of crazy - My manager has 30 direct reports and this craziness reflects in my oncall as well. Here's how my oncall is currently:
I came into Meta with ~1.5 years of startup experience. I'm very good at Leetcode-type problems, so I was able to land an E4 offer. However, my prior experience mainly consisted of raw coding (E3-scope), meaning that I didn't have much experience developing E4 behaviors coming into Meta. This has led to me struggling on my current team where my manager let me know that I'm currently trending around MM. My team and manager have compounded this by being quite ambitious - I've gotten a lot of E4 EE+ scope with things like complex 0 to 1 projects (my manager is trying to get me to E5 ASAP). This is all hard to handle and has been a huge source of stress for me, so I'm currently considering other options.
Here's what's on the table:
Which of these is best for my career?
What are the common failure modes you’ve seen for new engineers at Big Tech cos, where they had to quickly exit the company due to bad performance?
I’ve only worked at startups and non-tech companies, but I’m joining Google next month. How can I make sure that I meet all expectations as an L4? When it comes to talking to my manager, how should I frame the conversation?
In order to get to senior engineer, I need projects that show creativity and innovation. But I'm not able to get my manager to give me those projects. How do I find projects I can drive that are also impactful?
I haven't gotten a promotion for several years now. I'm still 2 levels away from senior engineer. My manager says that it's because we're not on a revenue generating team so projects are harder to come by. The projects he suggests don't succeed. How can I better understand why I'm not getting promoted?