Insights into Software Engineering Preparation and Hiring Process

Notes from AMA (Ask Me Anything) session

Posted by SDE Skills on April 03, 2020 · 13 mins read

For any of you who are either exploring job opportunities or considering a move, questions around the hiring process, preparation strategies, and currently the newly added concerns around coronavirus, are common and often asked across multiple forums on the web. This post addresses some of them.

The list is compiled based on a Q/A session conducted on April 3rd, 2020 online on SDE skills forum. The session was led by Vivekanand Kirubanandan, who comes with 15+ years of software development, and has been a former Amazon Bar Raiser with ~600+ interviews.

I am preparing for Amazon as a fresher and I still have 3 months before my graduation. I am from a non-CS background, is this a disadvantage? Are DS and Algos enough for a fresher or do they consider system design too? Any specific tip you would like to give me, specific to my preparation for Amazon?

If it is of any consolation, I am also from a non-CS background (Civil Engineering) to be precise. Amazon will probe you on leadership principles, so make sure you read up on what they are and try to remember incidents where you have embodied these principles in your life so far.

Is there a minimum year of experience that Facebook looks for when hiring senior software engineers (L5) role?

Facebook (or FB) levels are E3 (new grad, learning to be independent, solves tech problems where business ambiguity is already resolved, and most technical ambiguity is resolved), E4 (fully independent execution, business ambiguity is mostly resolved, and tech ambiguity is not resolved), E5 is seen as a domain leader ( solves complex business problems by resolving business ambiguity). E5s are pseudo Team leads, E6s are more like Principal Engineers at Amazon, where they identify the business problems, and identify trends / patterns. So, experience years generally does not mean much. E5s can be as few years of experience as 4y or as much as 20+y. E5 is considered a terminal level (you do not have to move to E6, can stay E5 forever).

Another question about Facebook hiring process. How do we get to know details about the number of parallel interviews we can take? Like product managers can interview for TPM role and PM role in parallel. Some recruiters do not seem to tell this information. Is there a place it is documented?

I do not know at FB, at Amazon, they generally try not to run parallel interviews.

Looking at the current situation and circumstances due to coronavirus, how are the companies approaching their recruitment process and what will be your advice to 2020 graduates, will they face a tough time to get into the IT sector?

Good question! While this is not the best of times, we have had this sort of a thing happen multiple times. 2000 dot com bust shook the world, and then the 2008 financial crisis did the same. Anytime there is a shake down, it makes things hard.

My advice is to focus on the basics. Have your programming skills sharp. Know your basics. Build your portfolio. If you are actively job-hunting, then do that as a full-time job. Keep at it. And once you get a job, do not let that make you complacent. A job is not guaranteed. Many folks who have been top performers have been let go due to constraints beyond their control. These are tough times! Remember, this too shall pass!

What is the Bar Raiser? Does it mean that it is more important than other rounds?

Bar Raiser (or BR) is a role that is sort of an Amazon Peculiarity. The idea is that a BR will counterbalance a hiring manager’s pressure to focus on short term. A BR runs the interview process, facilitates the discussion, and helps arrive at the right decision for Amazon. Most BR interviews should be indistinguishable from other interviews, their utility value is - before the interviews, setting up the game plan for the Interview and after the interview, extracting the data points to arrive at a high confidence decision.

Do you have any idea for google interview for one year experience candidates? Practicing Leetcode problems is enough?

I do not think there is anything magical about Google’s interviews. 1y experience puts you in the junior end of the spectrum. This means that there is no expectation from you in terms of any real world experience. This is what Google says they are looking for (

  1. General cognitive ability
  2. Leadership
  3. “Googleyness”
  4. Role-related knowledge I recommend the 4 step process for any interview “arc”. Requirements Clarification, Problem Solving, Execution and Verification.
Please let us know about Facebook’s hiring process as well, I have heard that it is very heavy on design skills. Thanks in advance.

I have not yet experienced the Facebook interview process (as an interviewer). One thing that is evident in what they do daily is that they embody the “move fast” principle. This shows up in the expectation that you will need to solve 2 coding questions during the coding round. The emphasis on design, etc. - seems to be on par with what I see at Amazon or Google. I did not feel, during my interviews as a candidate, that there was anything overly design heavy. I suspect it varies by role / and experience levels.

Do you have mentor/tech career coach that you work with? Do you consider having them useful if in case you have?

I have had ad-hoc mentors and had a few regular ones when I was in my growth-hacking phase (8y-16y experience). Mentor/Mentee relationships are very valuable and strongly recommend getting one. At the moment I am not working with any specific mentor. The way to think about it, is to identify areas where you are looking to grow and identify someone whom you admire and has transcended that specific challenge. Work with them to explain what you are facing, and how are you planning to solve “it”, what is your approach etc. Seek guidance, rinse repeat. Once you have conquered it, move on to the next growth area, and possibly a new mentor as well. You need someone who needs to take you from conscious incompetence to unconscious competence (in the growth model). You have to make the first move from unconscious incompetence to conscious incompetence yourself.

Do you still get chance to code? I mean do you get time to solve a question and submit to online judge (such as Leetcode, etc.)? I heard that many companies have their own pool of questions, so it is possible to just select a few of those. Since you are the one who is driving “sdeskills” for so long, I am not surprised that you have always may have been in touch with different questions/approaches.

No! Time is a bit of a crunch. Many folks do not know this but, I just added a 4th member to my family. My son is 9 weeks old. We have a busy life, and Facebook + Sanjay + SDE Skills keeps my hands full. That said, I am making time to participate in the online sessions, and also trying to submit questions each day for the LC30 challenge.

On the question bank for each company, Amazon did not have anything like that, it was just whatever you ended up asking. Facebook/Google seem to have their own question bank and they keep cycling the questions as they get exposed/posted publicly. Instead of chasing the questions, I encourage folks to focus on concepts, and think about the “why behind it”. For example, in Leetcode challenge 30 question, for Happy Number, why does it work for 1 & 7? Rather than memorize that concept, see how you can derive it.

To be fully transparent, now SDE Skills is run by many leaders and many volunteers across the globe and it is attaining new height with their regular commitments and participation. This was the dream that I had for SDE Skills.

Have you seen Amazon interviewing a candidate before the 6 months cool off period? Do they look at detailed feedback? Do they include the questions asked as well? If so, would it be considered if the question is really tough? I was asked to design and implement a game after 25 mins of leadership principles. So, it was difficult to do in 35 minutes.

Have you seen Amazon interviewing a candidate before the 6 months cool off period?
  • All the time. Think of it like this, Amazon does not want to waste your time or their time by repeatedly interviewing you. There is nothing magical about the 6 month number. This is not just for Amazon but for most companies. At Amazon, a Hiring Manager can override this (and even bring you onsite the next day after a failed interview). If you succeed, then no harm/no foul. But if you fail, then the HM loses their street-creds. This is a pretty bad thing for them.
Do they look at detailed feedback
  • All feedback is available, so if you did poorly in one area, expect to be “probed” on that one in your subsequent interview 1 year later even.
Do they include the questions asked as well?
  • Yes, it is mostly like a transcript + comments. In QRFRA format Question, Response, Follow up, Response, Analysis.
If so, would it be considered if the question is really tough?
  • Not really, it depends on the analysis. If it says, the candidate did not ask any good quality to follow up questions, ability to deal with ambiguity is poor. There is really nothing that is time-bound here.
What are your 3 favorite topics?

From an interview programming perspective, I like

  1. Dynamic Programming (used to be Mathematical Induction and Recursion before CS).
  2. Trees (not Graphs, fell in love with it when I learnt to serialize and deserialize)
  3. Co-ordinate Geometry based problems (extends my love for math)
I recently heard that many companies are avoiding DP. Have you heard that?

Yes, Dynamic programming questions are a hit or miss. It is a poor indicator of the candidate’s thought process. If they know the approach, they can solve it, if they do not, then they can not “derive” this on the fly. And reason 2 is the interviewers are terrible at DP themselves.

Liked this post or have further questions? Check out and participate in our active sessions by joining our slack channel. SDE Skills is a non-profit organization with the singular vision to bridge the gap between the skills job seekers possess and the skills that they need to succeed. We provide the resources and support necessary to maintain the sharpness of technical skills. it is founded by Vivekanand Kirubanandan, and currently co-organized by many leaders along with many volunteers and thousands of active members across the globe.