How we Interview Software Engineers at Interswitch

Interswitch Engineering
Interswitch Engineering Blog
6 min readJan 24, 2019

A key stage to securing a role in Software Engineering teams are the technical or programming interviews. In fast paced organizations, interviewers watch out for various attributes with the common denominators including; attention to detail, understanding of key concepts, and problem analysis.

As a result of previous unpleasant experiences traditionally linked to technical interviews, candidates find these interviews quite tasking, tend to come in with a feeling of uncertainty and many times lose their composure. At Interswitch, we think of technical interviews as an opportunity to better understand our candidates while giving them a glimpse of our company’s culture and values. We believe interviews should leave pleasant experiences in the minds of candidates and the interviewers, while providing the opportunity for candidates to express their technical knowledge.

To give a broader view of what it’s like to interview at Interswitch and how to go about scaling our technical interviews, we will throw some light, share tips and tricks on each interview phase in this post.

But first, as a prospective candidate, here are couple of things you should keep in mind:

  • We value your ability to approach and solve real world technical problems uniquely and like to give you the liberty to make use of any programming language you deem fit or are comfortable with in solving each problem.
  • We value critical thinking and our programming tasks are specifically drafted to allow us assess your thought process through your code solutions. The idea is never to trick candidates with questions but avail the opportunity to show their best output.
  • At Interswitch, we place emphasis on your growth and professional development. Each assessment is split into different stages with increasing difficulty as you advance. For example, you may be expected to improve on your code solutions or provide alternative approaches to solving the problem. We have found this to be helpful in determining a candidate’s technical strength, potential areas for growth and improvement while also reducing the emotions that comes with not getting a fair amount of questions correctly.
  • We believe talent is evenly distributed and are always open to hiring candidates from technical and non-technical backgrounds. We also deliberately look out for candidates that show great potential but have little experience and give them the opportunity to join our Developer academy.

And now, to the actual process…

Interviewing at Interswitch involves four phases explained in detail below.

Application

To apply for a role at Interswitch, candidates are always advised to send in their resume to gst_careers@interswitchgroup.com with their specific role of choice as mail Subject.

Screening

After you indicate interest on your preferred role, the following steps take place:

Resume assessment: Your CV gets reviewed by the Human Resource Business partner for the Engineering team and screened for skills, experience and previous projects worked on. Candidates who do not meet the criteria for the role at that time are kept in our talent pipeline and may be reached out to in the future rather than rejecting outright.

Interview invites: Shortlisted candidates are invited for a 1-day assessment. Depending on the role applied for, specific tasks may be sent as pre-assessment. A good example of this scenario occurs when hiring a Front-end Engineer; where we have the candidate build a simple project.

Interview

The Interview phase comes in three segments:

Written Test: In this stage, our major aim is to test some of the practical skills you use in your day-to-day coding. To begin this stage of the interview, you are given a white paper and a set of questions focused on basic algorithms and data structures. You are expected to solve as many of them as possible on the white paper provided. In solving these, we strongly advise you to use a language which you’re most comfortable with. Some of the common languages we’ve seen candidates use during this phase include Java, C#, Python, JavaScript, PHP and C. When making your language choice, also keep in mind that there might be limited time to solving the tasks.

Feedback session: Before moving to the next stage, we ensure to give positive feedback and worthy points of improvement to candidates who make poor or no attempts in providing code solutions to our questions.

Oral interviews If your code solution proves you worthy, you’re moved to the next stage which involves:

  • Chat with Engineering Leads: Immediately after the feedback session, you’re engaged in a conversation with some of our Engineering leads about your knowledge of randomly selected topics including (but not limited to) advanced data structures, distributed systems, application security, design patterns, problem solving approach to API designs, database designs and storage selection, project delivery, product scalability, domain specific questions as regards your intended role and several more. Each question asked in this phase helps your interviewer assess your skills and expertise in a given domain
  • Chat with the Group Chief Information Officer (CIO): Here, you get to have a chat with the CIO on same day, with the main aim of seeing how you fit into the team’s culture, values and to understand your goals and aspirations. It also serves as a great opportunity to get answers on questions you may have as regarding your intended role, Interswitch Engineering team and life at Interswitch.
  • Chat with the Group Managing Director (GMD): The last stage of your interview ends with a chat with the GMD who engages you on topics around your intended role, its importance to you, some logical thinking skills, social interaction skills, assessing your leadership quality and several more.

Tips: Some tips to help scale through these phases:

  • Practice: Just like every other task, consistent practice Is required to be able to scale through. Keep yourself up to date with current methods of problem solving. Practice different technologies and brush up on your Computer science fundamentals. All these helps boost your confidence when faced with problem solving.
  • Be Time Conscious: We understand that every problem can be solved in different ways which is why we encourage you to choose a language best for you. When solving your problem, always bear in mind the available/given time factor when solving your problem.
  • Think first before solving: While you might be in a haste to jump into answering the questions, some answers could require a bit of deep thinking. Some of the questions you could ask yourself include:

I. How well do I know this?

II. How much time do I have in providing a solution / answering?

III. What are my available language options and ways in solving this?

IV. Do I need to write a pseudocode before proceeding to solve this?

V. If asked to refactor, how well can my solution be refactored? etc

  • Ask questions: Endeavor to ask your interviewers of any other requirements, constraints or specifics before commencing. The last thing you would want to do is to solve the problem with an entirely different concept in mind.
  • Clean Code: Ideally your solution should be easy to explain and not complex. The simpler and more readable it is, the better.
  • Success to You: Finding out what success means to you when solving your solution helps. Are you more specific on having it just work irrespective of whatever method or language used? Are you more specific on solving or answering efficiently for a reusable and scalable code?

Next Steps

After your interviews, our Human Resource team reaches out to you to let you know about the outcome of your interviews. Unfortunately, not everyone who starts out an interview process makes it to the final stage of being welcomed to the team. As much as we are open to recruiting monthly, we only like to take in the best. Candidates who do not scale through are always advised to re-apply after Six (6) months to enable other candidates currently in our talent pipeline the opportunity to be interviewed.

If you fit into the role, Congratulations! You’ll then be invited to take a medical screening test at one of our Partner Hospitals, a healthy test result will have an offer letter sent over to you including more information on next steps, compensation and other specifics. At this stage we then look forward to welcoming you on your first day at Interswitch!

For more insight, Here’s a personal Interview experience by one of our Software Engineers: Emuleomo Segun . Read here

--

--

Interswitch Engineering
Interswitch Engineering Blog

Fostering a better developer and software engineering experience at Interswitch through in-depth documented technical learnings and exploration.