Microsoft is an American technology corporation which produces computer software, consumer electronics, and personal computers. It developed the Windows line of operating systems, the Microsoft Office suite, and the Internet Explorer and Edge web browsers. Microsoft is often credited for ushering in the modern PC era.
Based on Rahul's answer here, he mentions that you should move to a location where your team is based :
I am interested in moving to Seattle if I get an offer from one of the FAANG companies. I would like to know what are the teams in those companies that have a center of focus in the greater Seattle area?
@Alex Earlier you mentioned:
Big Tech open-source is obviously ideal (many engineers got hired at :meta: contributed to their OSS), but it's extremely hard to ramp up on the library and get a major PR landed. And it's not like 1 PR will do it - You'll probably need 5 to 10 to get the attention of hiring managers. However, like with most things, it will get much easier over time (the first one's the hardest).
And here: , you said:
These companies all have a large OSS footprint, and I know several people who got hired into these companies by submitting major PRs into them.
What are the parameters for determining whether something is a major PR in Big Tech Open Source according to you? Am currently working on Microsoft Windows Terminal.
Would you consider the below major PR candidates that would get the attention of hiring managers?
Btw they're both from this list as heroic tasks (7158 on completed tab since I've already completed that one):
To my understanding Major PR means lots of people want it and 7158 has around 100 upvotes so that's Major PR. But there are also some PR's where people make commits with 500 - 1000 lines of code
Does your experience with certain technologies matter during your interview or team selection process at FAANG companies?
Does your experience with certain programming languages affect your compensation?
I live in orange county, CA. I have about 30 years of tech experience where I was a software engineer for most of these 30 years. I also had couple of jobs as manager leading a team of software engineers. For last 5 years, I have been working as a senior software support engineer for a local company here in Orange County, CA.
So I would rather be software engineer than be in a support role where I just do mindless support of enterprise software. And its not very challenging either. So when I started working for this company, 5 years ago, I started to teach myself angular and typescript. Worked on a project and deployed it live on the website and learnt a lot. And really enjoyed programming.
But then 1 year ago, I started applying for actual jobs in angular programming and got zero response. Zero emails from the companies. Zero interviews from the companies. That was very scary. So a friend who works at Microsoft, advised to prepare and apply for SWE job at Microsoft. She mentioned that MS would not care about lack of my latest/greatest experience. If I pass the coding interview, I have a good chance event to get an entry level SWE job which is better than what I am doing these days.
Another reason I would like to work at MS, is that all my 30 years I have worked for midsize companies. I would like to work at MS because I will be surrounded by really smart engineers and people.
I am lucky to have a job, Pay the bills and have health insurance for me and my family. A year ago I started the interview prep, leet code, algoexpert etc. But then for some reason for last 4 months, its really hard for me to study. May be its my age. May be I get very tired after all day of work, and just watch mindless TV and eat sugary snacks and waste my time and health away.
When I used to work on my angular skill sets I was really energized. I had small tasks already in my queue. I could easily get in the flow when programming.
But My highest priority right now is to get a job at Microsoft as a SWE so that I have job part taken care of. Then after that I could work on side projects so that is why I am focused on interview prep but that is not dopaminergic for me. If I work on interview Prep and work on a side project, that could be distracting and not very focused effort (I think)
I feel depressed about my career. Some of my friends are directors, VPs, CIOs for medium to large companies. Here I am still angling for mediocre DEV jobs.
Any how, here at Taro, I would like to meet, interact with engineers, and really find my passion back.
I would really like to join a mastermind here at Taro, where I could hangout with engineers where we could have a conference all once or twice a month, motivate each other, etc.
Thanks for reading..
Sometimes we can’t make progress on our tasks due to situations outside our control. For example: waiting someone to review our code, waiting for a permission approval, a meeting that got pushed back, etc.
Are there ways I can continue to make progress and impact while waiting for these?
I considered having a side project and work on it when I can’t progress in my main task, or getting started on a future task to address it more quickly when I officially start it.
I'm currently considering a career transition and would appreciate your insights on the best path to take. I come from a non-developer background and I'm torn between pursuing a career as a software engineer or a product manager. My ultimate goal is to ensure a solid growth trajectory in terms of career advancement and opportunities.
Given my background as sysadmin/infra person, and now a senior cloud architect, I dealt with a lot of software engineers, including co-designing apps from functional and non-functional requirements. However, haven't had a chance to work as a software engineer myself.
I am hesitant in moving to software engineering, due to potential down-levelling so Product/Program managers might be a better fit, but at the same time, a lot of PMs I talked to have SWE background.
Is this the red pill that you have to swallow to be SWE first --> PM?
What's the best way to transition without being down-levelled too much?
At my current level, my skip level manager expects me to help my team members grow. I have couple of SDE 1s and SDE IIs in my team who are doing good. I am not sure if I can schedule one on one with them to understand their career goals and volunteer to be their technical & career mentor?
Will it look bad if I volunteer myself to be their career mentor? Or should I just mentor people who reach out to me?
Every time, when my manager asked me to do some changes to the repository that is totally new to me. I became scared.
I prefer to do research by myself first. But I got lost in the new repo by reading file by file, and don't get the clarity.
So I ask the repository owner to provide documentation, mostly they don't maintain documentation, and even if they do, it is not updated or it involves a lot of detailed feature-wise documentation, which is usually not relevant to my requirement.
Then, I call the POC of that repo, but I couldn't figure out what is the right question to ask in the first call. Over time, I ping him asking questions whenever I face hurdles while achieving the requirements.
Sometimes, I put a debugger or logs to understand the flow of code.
The above processes took a lot of my time.
What is your suggestion to get clarity in the new repo such that I can complete my requirements in less time?
I have been hearing from my friends about senior engineer's round table meetings happening in their company. I am wondering what is exactly Senior Engineer's round table. (Senior Engineers from the same team and peer teams working for same skip-level manager)
What kind of topics can be discussed at this round table session?
How to initiate such discussions?
Can you share resources for data-related interviews (applied data science, data analysis, sql, big data, etc). Also, any tips that a former software engineer can best prepare for switching roles to a data engineer.
Will interviews for data-related jobs at FAANG companies be different from general software jobs? Given my most recent experience is in software engineering, how can I best prepare for behavioral questions for a data related job?
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?
There are so many design patterns available. I read through all the design patterns and sometimes I feel like more than one design patterns work well for the logic I am coding. Example: I am trying to eliminate multiple if-else and switch statements as it is not scalable. I see the "Chain of responsibility pattern", and "strategy pattern". Both work well for my logic. How can I make a decision of choosing one of the designs for this?
During code review: People share their opinion on using a design pattern, and I sometimes struggle to convince my reviewers of the pattern that I have used in code.
I am open to getting feedback and analyzing different design patterns suggested by reviewers. However, in some situations, I feel more than one design pattern fits for the logic and there is no right or wrong approach.
How to handle this kind of situation?
I recently interned at Microsoft, and I was able to get a return offer for another internship for the same team. I'm back at school now, and my goal is to nail the return internship so I can get a return offer to work full-time. In my spare time while at school, how can I best prepare myself to hit the ground running for my return internship? For context, I worked with Azure APIs during my internship, being more of a back-end developer.
Some of my work involves coding in an old AngularJS codebase that has a lot of issues. Most files are 5-6k lines long, many of the functions are on v3() while v1 and v2 are left in there creating technical debt. We've already moved on to a rewrite of the application in React, leaving the AngularJS code a mess that no-one cares about.
How should I approach work that is assigned to me in this codebase? Get it done as fast as possible so I can get back to my "real meaningful work" in the React codebase, probably adding on more technical debt in the process? Take my time and try to make the most even if the code is worse and I might be learning anti-patterns? The AngularJS codebase will be deprecated and migrated away from in a year anyways so developers don't really care about refactoring or improving the code quality. I've been trying my best to essentially avoid work in the AngularJS codebase, but unfortunately I can't ignore it since 200 million+ users rely on it and oftentimes on-call issues crop up in it.
My team owns a really wide set of features spanning across multiple repos and programming languages (C++, React, Angular). On top of that, each person works on pretty different areas (telemetry/data, UI components, client side api, etc.). We have a v1 of the app being maintained and a v2 currently being developed with some people working on v1 and some working on v2. It's impossible to know all the context behind every pull request.
How can I give quality code reviews? At most I can only provide feedback to simple code logic and really well written PR descriptions. Should I be trying to private message the developer for each PR to understand more, or is this just something that comes with time?
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?
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 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? Because of this, I am finding it difficult to communicate my idea to principal engineers/ architects. How can I improve on this?