The perpetual evolution of the software ecosystem is the reason why the demand for software developers has been on the rise ever since the 90s dot-com bubble. And there are no signs of it slowing down anytime soon.
However, it’s getting increasingly tough for developers to decide what skills they should focus on, what new technologies they should learn, and what projects they should dedicate their time to, in order to land jobs at the world’s most sought-after tech companies.
Our Director of Marketing, Aadil Bandukwala, caught up with Raghu Krishnananda, the CTO of India’s leading eCommerce company, Myntra; and Harishankaran K, Co-Founder & CTO at HackerRank, to demystify the secrets to getting hired on Myntra’s tech team.
Watch the full video below, or keep reading for some highlights from the discussion.
What do hiring managers, engineering leaders, and executives look for in a developer’s resume and portfolio?
In a resume, the first thing we look for is the obvious one: skills. We look for specific skills and technologies the person has worked on, the kind of platforms and products the developer has built, and how relevant they are to what we are looking for.
Another thing we really look for is the candidate’s ability to learn. Technology is changing at such a fast pace with every passing year. You might not be working on the things that you work on right now, in one or two years from now. So we look for evidence of candidates adapting to change and consistently picking up new skills.
Also, regardless of whether they’re at a junior or more senior level, we look for the impact candidates have made.
When it comes to their portfolio, it varies according to the experience of the developer.
For juniors’ profiles, it’s all about the basics. We look at the high- and low-level designs they have adopted for solving a particular problem, the modularization of the code, whether they have logically broken down a code into methods and functions, whether they’ve chosen the right data structures and algorithms, and how clean the code is in terms of naming, conventions, and documentation.
For more senior profiles, we expect the complexity of the problems solved to be greater. We look at how they address the NFR (non-functional requirements) which are scalability, reliability, performance, security, and so on.
When I look at a resume, I try to find links to their GitHub profile, their HackerRank profile, or any technical blog they’ve written. On their LinkedIn, I try to see if they talk a lot about technology and who they follow. All of this gives me a deeper understanding of the resume I’m evaluating.
In their portfolio, I look at what frameworks and technologies they’ve used and what repositories and organizations they’ve contributed to. If someone has contributed to a huge repository, I learn they’re comfortable with that, and not afraid of a lot of code.
Software development is not about building something new, it’s about maintaining. So, an important question I try to answer while going through their projects is, have they gone through the entire cycle, including fixing bugs and launching multiple releases? Another way to put this would be: have they managed their own mini versions of HackerRank or Myntra?
Some other questions I seek the answers to are:
- Do they write tech blogs?
- How often do they participate in programming contests?
- Are they up to date on the latest technologies?
How does one prepare for a tech interview at Myntra?
Everybody who applies to tech roles at Myntra goes through a coding assessment. In their answers, we look at the low- and high-level designs, whether they’ve chosen the right data structures and algorithms, and their application of object-oriented principles. The hiring panel —which consists of senior developers, architects, and managers—evaluates the quality of the code. After this round, they look at the candidate’s projects and work history and dive deep into it. Why have certain technologies been chosen? What role did they play in a project?
Once we cover this, we check whether they’d be a cultural fit at Myntra. We try and see if the candidates possess the qualities encapsulated in our core company values.
Typically, there are five or six rounds of interviews. Once they’re done, we all come together and decide on a score for the candidate on a scale of one to five. The ones who’ve scored three and above are considered.
We strongly encourage people to do research on Myntra before their interviews. Find out what space we operate in, what our vision is, and so on.
How does HackerRank interview integrate into Myntra’s hiring process?
With HackerRank Interview, we find that looking at the candidate’s code (and how they go about writing it) with them is helpful for both the interviewer and the candidate. It enables us to dive into the essentials of their code and thoroughly understand their level of knowledge through questions like, “What is the purpose of that module?” and “Why was that design choice made?”
Candidates tend to focus on giving an objectively correct answer to every question and start getting nervous if they don’t know something. They should know that the interviewer is only trying to understand the breadth of their knowledge and doesn’t expect them to answer every question that’s posed. To make sure our candidates are comfortable, we try to start off all our interviews on a lighter note.
What are some of your go-to questions in interviews and what questions should candidates be asking?
I have a couple of go-to questions. One of them is to talk about a failure that they faced, and what they learned from it. This gives you a pretty good insight into the candidate because you hear them articulating the problem, whether they went through the feedback loop of why this failed, and what they do to avoid this happening in the future.
The other one is to talk about the most challenging problem they’re proud of solving. Apparently, this is Elon Musk’s favorite question to ask as well. Their answer to this question will tell us if they’ve genuinely solved it themselves or just played a small role in solving it, how hands-on they’ve been with the solution, and how passionate they are about it based on how granular their explanation is and how enthusiastic they seem.
Sometimes, I also give a case study to the candidate. We frame a high-level problem and give them a couple of days to think about it and come to us with a solution. Here, we look at the depth of the candidate’s research, the questions they ask, and the assumptions they make.
While we are interviewing the candidate, they should be interviewing our company as well. Some questions that should be asked are: Where is the company headed? What are its high-level plans? Obviously, there might be some details which we are not able to share but we can provide an overview of the direction we’re heading in.
Coming to the specific domain that they will be working in, they should try to get as much clarity on their role as they can. What are the key success factors and metrics that we are chasing? What are some of the attributes that are required to be successful in this role?
You need to have a good vibe with the manager who’s interviewing you—the one you’ll be working for. Have a long conversation with that manager, ask them about what they specifically look for in a candidate, and what values they appreciate in a person.
When the candidate has taken the time to research the company and ask relevant questions, it shows that they tend to go the extra mile.