I just joined Cisco Systems, India as a Senior Software Engineer (SDE III) on July 28, 2021. I am working with the Cisco Customer Experience team as a UI developer.

The entire journey from applying for the job to accepting the offer was two months long. I wish to share my interview experience which will help you prepare for a senior-level UI engineer role.

Cisco-logo-2

What you will get out of this article?

In this article, I will talk about my journey, from getting the job referral to accepting the offer.

I will talk about the different rounds of the interview process that I went through and the questions I was asked in them. The questions I share here will help you get ready for Angular development roles.

I will also share some of the questions you can ask the interviewer and the HR rep which will help you to know more about the company and the project.

So, lets’ get started!

How I Discovered the Job Posting

The first part of a job search is to get your résumé selected for the role you are looking for. I found out about this opportunity from a tweet shared by Alex Okrushko.

I have been following Alex for the last two years. He used to work with the Firebase team at Google and he is also a part of the NgRx team. I admire him for his immense contribution to the Angular community.

Alex is currently working as the Principal UI Architect at Cisco.

When he shared that they were looking for a UI developer, I realized that it would be the best opportunity to work directly with him. I sent a message over Twitter and he asked me to share my résumé. He was primarily looking for developers with strong Angular skills.

The First Round of Interviews

One week after sharing my résumé with Alex, I received an email for the first round of interviews.

The first step in the interview process was a take-home assignment via Devskiller. The invitation from Devskiller mentioned that I had seven days to complete the assignment. The total time allotted for this round was 2.5 hours. Once the test starts, you cannot stop it, so it has to be a single sitting of 2.5 hours.

I was given an Angular project with some bugs in it. There was a total of 11 unit test cases in the project. I was expected to fix all the bugs and make all the test cases green.

I started the test around 10:30pm (after my dinner) and finished it around 12:45am. I am most productive at night, so I chose that time. I was able to fix all the bugs and all the 11 test cases were green too. I slept happily that night 😊

Angular Concepts Covered in this Round

The first round of interviews was majorly based around the following Angular concepts:

  • Data binding
  • Event handling
  • State ownership and flows
  • Forms and form validations
  • Observables
  • Unit tests using Jasmine
  • Attribute directives
  • Structural directives - NgIf & NgFor

Alex verified my solution based on bug fixes, unit test status, and coding style. He was impressed with my performance in the first round and so I moved on to round two of the interview.

The Second Round of the Interview

I got the email asking for my availability for the second round of the interview. I was facing some health issues at that time, so I asked to schedule a week later and the interviewer was happy to do so.

The second round was also a project-based interview via Devskiller. I was given an Angular project and there are four questions based on that. All the questions are based on debugging and bug fixes. The total time allotted for this round was 1 hour.

The difference compared to the first round was that this time I was supposed to do a live coding session by sharing my screen with Alex. I was expected to explain the What, Why, and How of the code I was writing and talk through the solution. The thought process to approach the problem was given importance over the implementation.

This round was more of a pair-programming session with me in the driver's seat. Out of the four questions, I was able to solve the first three in 30 mins. The last one was based on the concept of Content child/view child. I struggled a bit with this question but a small hint from Alex helped me solve it.

I started the test at 10:30pm and finished it around 11:20pm.

I was allowed to use online resources during the interview. But the condition was that I had to explain what I was looking for and why.

At the end of the test, I was able to solve all four questions successfully. The feedback from Alex mentioned that I was struggling with a few of the concepts of RxJS and I need to work on that. But he was happy with my overall performance and I was promoted to the third round of the interview.

Angular Concepts Covered in this Round

The second round of the interview was primarily based around the following Angular concepts:

  • ViewChild and ViewChildren
  • ContentChild and ContentChildren
  • Content projection
  • Usage of Async pipe
  • Multicast observables
  • Parent-child relation of the components
  • Services

The Third Round of the Interview

I got a call from my manager, Vaibhav, and he informed me that they were happy with my performance in first two rounds and wanted to schedule another round of technical discussion.

He asked me for my availability and I replied to him to schedule the call for the next day at 10 am IST. This round of interviews is conducted by the team in India so it has to be during IST working hours.

Two interviewers joined the call, and after the introduction, I was informed that this round would be divided into two sections, one for Angular and another one for JavaScript.

They started with the questions about Angular. This round had a mix of theoretical as well as scenario-based questions. The Angular interview continued for around 45 mins and I aced it. I answered all but one question.

After 45 mins they switched to the JS side. They started with the core concepts of JS and I answered those questions easily. Then they moved deeper into JS and I was asked few output-based questions. I struggled a bit here.

Then came more output-based questions and I was unable to answer a few of them. The JS interview also continued for 45 mins. I was not happy with my performance in the JS part of the interview. It was pretty average.

The interview was originally scheduled for 1 hr, but it got stretched to 1.5 hrs.

Angular Concepts Covered in this Round

The third round of the interview was based around the following Angular concepts:

  • RxJS concepts such as mergeMap & switchMap
  • Directives
  • How does the ngIf directive work internally? How does it add DOM elements dynamically on the page?
  • How can we create a custom directive (with practical example)
  • What is Input and Output in a component?
  • Few theoretical questions around services, lazy loading of modules, and component communication

JavaScript Concepts Covered in this Round

The third round of the interview was based around the following JS concepts:

  • What are the different ways to create and call methods in JS?
  • Closures
  • Currying
  • Event bubbling
  • Output-based questions on closure and various setTimeout scenarios

The Fourth Round of the Interview

Two days after the third round of interviews, I got a call from Vaibhav. He informed me that the interviewers were impressed with my Angular skills but they were not happy with my JS skills. But the overall performance was good, so I was able to move on to the fourth and the final round of interviews. He also suggested that I work on improving my JS skills.

The final round of interviews was scheduled on the Tuesday of the following week from 12:30pm to 1:30pm.

This was a managerial round and Vaibhav was the interviewer along with another senior developer from my team. This round was more focused on my non-technical skills.

He asked me about the project I was working on with my current company. I was also asked questions about Agile methodology since I had mentioned that in my résumé. I told him about my open-source work and he asked few questions about that.

At the end of the interview, Vaibhav shared that he was happy with my performance and wanted to go ahead with the offer. The next step was to update HR so that they could continue with the salary and the offer formalities.

Question Asked in the Managerial Round of the Interview

The fourth round of the interview was entirely non-technical. I have mentioned a few of the questions asked in this round, and here are some more:

  • Tell me about the current project and tech stack you're using.
  • What is your current role and responsibilities?
  • What are the Agile practices you are following currently?
  • How does your sprint planning look like?
  • How does a story refinement happen in your current project?
  • How can you resolve a conflict of ideas within your team?
  • Why are you looking for a change?
  • Why Cisco?

Salary Negotiations and Getting the Job Offer

I was waiting patiently for the call from HR after the fourth round of interviews. I got the call after one week.

The HR rep congratulated me on clearing all the rounds of the interview and asked me about my current salary and notice period. She also asked me to share my payslip and compensation details from my current employer.

After two days, I got another call from HR and she informed me about the salary I was being offered. I asked if there was any possibility of negotiating a better offer. She told me that this was the best possible salary as per my employment grade and it was not possible to increase it any further. I asked her for some time to make the final decision.

I did not want to lose the job offer but at the same time, I also wanted to have a better salary structure than the one offered.

I discussed the situation with my family as well as a few of my friends. I also had a call with Vaibhav, and a few calls with HR as well.

I was very much confused at this point, so I decided to write down the pros and cons of this role. Here is what I came up with:

Pros:

  • The project is customer-facing, so I'd get more exposure and increased responsibilities
  • Working at the scale of Cisco would be a plus
  • It would be a great learning and growth opportunity
  • The brand value of Cisco is high

Cons:

  • The salary offered was not up to my expectations

Finally, the pros outweighed the cons and I decided to accept the offer. So, I informed HR of my decision. But there was a surprise waiting for me.

HR informed me that since I had taken a long time (around 10 days) to decide on the offer, they have put my offer on hold. I needed to wait further for the final confirmation from Cisco’s end.

I panicked and thought that I had lost the opportunity. But I had no option other than to wait. TBH, I had lost any hope of getting the offer at this point.

After two weeks, I got a call from Vaibhav and he asked me if I was still interested to proceed with the job offer. After my confirmation, he informed me that HR was happy to release the offer letter. The next day, HR called me to confirm the same. By the end of the day, I had the offer letter in my inbox.

I gladly accepted the offer letter. I was relieved and ecstatic. All's well that ends well.

japheth-mast-Ls3yexjyRpk-unsplash
Job offer accepted

How to Ask Good Questions in Your Job Interview

Whenever you are being interviewed for a job, the interviewer always asks this question at the end – Do you have any questions?

A lot of people are confused about what to ask and what not to ask. Some people do not ask any questions at all.

Well, this is a good opportunity to learn more about the project, the team, and the company. So, you should ask your interviewer as many questions as you can.

Here are a few suggestions from my end.

What to Ask the Interviewer in a Technical Interview

  • Ask about the details of the project you are being interviewed for
  • Are you using any third-party tools/libraries in your application? If the answer is yes, ask about them.
  • How does the code review cycle work?
  • What are some of the current challenges in the codebase?
  • What is the ratio of new features vs the bug fixes assigned to a dev?
  • What testing framework do they use in the application for unit testing as well as E2E testing?
  • What is the test coverage for the application?

What to Ask the Interviewer in a Managerial Interview

  • Ask about the details of the project you are being interviewed for
  • What kind of application it is? Customer-facing or internal?
  • What will be my roles and responsibilities?
  • How is the work-life balance in the project?
  • What are my learning and growth opportunities in the next 1/2/3 years?
  • What are the current challenges with the project?
  • Are there any plans to add new features to the application?
  • Ask about the current team structure and where you will fit in it
  • How does the team culture look like in the current pandemic situation when we are 100% remote?
  • What is the working shift for this project? Is it flexible or fixed? Are there any shift allowances provided? This is a very important question and is often neglected by the interviewees.
  • An extension to the previous question – Does my job require any type of weekend support? If the answer is yes, ask about the timing, frequency per month, and the reimbursement policy around that.

What to Ask HR Before Accepting the Offer or Joining the Company

  • Leave policies
  • Health insurance policies
  • WFH policies
  • What is the timeline of the annual appraisal cycle?
  • Will I be eligible for the appraisal in the next appraisal cycle?
  • Do I need to sign any kind of employment bond?
  • Does this job require me to move to another city/state?
  • Do I have to serve a probation period upon joining the company? If the answer is yes, ask about the duration and its effect on your employment. Every company has different rules related to probation so ask as many questions as you can around this topic
  • What are the covid-related benefits company is providing, for example vaccination, medical support, and so on?

Do you Want to Join the World’s Best Workplace?

Cisco Systems has been ranked number one in Fortune’s list of 100 Best Companies to Work For the year 2021 and 100 Best Large Workplaces for Millennials. Do I need to say anything more about the company’s culture?

Fortune100Best2021

Cisco provides you with ample learning and growth opportunities. You will get a chance to work on applications used on a worldwide scale. You will be always motivated to grow and explore yourself on a personal and professional level.

So, what are you waiting for? Go to the Cisco Careers portal and apply for the role you want.

I hope my interview experience will be helpful for you. Best of luck with your job interview.

If you like the article, share it with your friends. You can also connect with me on Twitter and LinkedIn. My DMs are always open.