A software engineer at an IT services company spends much of the time keeping a client's applications healthy over many years: adding tests to code that has none, upgrading old libraries, automating work the team does by hand and passing open issues between shifts. Prepare stories that show patience with old systems, careful changes and a habit of leaving things a little better. What to show here: patient, careful improvement of long-running client applications. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.
How Wipro hires, in its own words, and its questions for every job →
“Every week someone on our team spent a morning collecting log files from several servers and checking them for a list of known errors. I had done it a few times and made mistakes when I was tired. I worked out the hours it cost over a few months and showed my lead that a script would earn back its cost quickly. I wrote one that collected the logs, matched the known errors and wrote a short summary. For the first month I ran it next to the manual check to be sure they agreed. After that, your result.”
Weak answers automate for fun without checking the saving, or replace the manual check without proving the tool is right.
“I was looking into a job that kept failing for a client when my shift ended. I had ruled out the network and the disk, and I suspected a locked table. Before leaving, I wrote in the ticket what I had checked, the evidence for each, what I suspected, and the exact next step I would take. I also spent five minutes on a call with the colleague taking over, so she could ask questions. She found the locking query within the hour. The outcome was your result. I write every handover as if I cannot be reached afterward.”
Weak answers leave a one-line note like still investigating and expect the next person to start again.
“I would not try to test everything. I would look at the ticket history and the commit history to find the few modules that change often and cause most defects. For those, I write tests that record what the code does today, even where the behaviour looks odd, so I can see when a change alters it. From then on, every defect fix comes with a test that fails before the fix and passes after. The tests run in the build on each change. Over some months the risky parts become covered, and the quiet parts can wait.”
Weak answers ask for a long freeze to reach full coverage, or say the code is too old to test.
“I would start with the library's change notes and make a list of everything that breaks. Then I search the code for every use and sort them by which breaking change they hit. If the library allows it, I upgrade through the versions in between, because each step gives clearer errors. I would wrap the most common calls in our own small helper, so the next upgrade touches one file. The work goes module by module on a branch that is merged often, tested fully in a lower environment, and released with the old build ready to restore.”
Weak answers change the version number, fix whatever fails to compile and call it done.
“Each ticket has a category, a priority, a state and a history of every change. A routing service reads rules, such as network issues go to the network queue, and anything it cannot place goes to a triage queue for a person. Each priority has a target response and resolution time. A timer service tracks these and pauses the clock while the ticket waits for the user. Before a target is missed, it warns the owner, then the lead. All state changes are stored as events, so reports on breaches and busy categories can be rebuilt at any time.”
Weak answers design only a form and a table, with no timers, no escalation and no plan for tickets that match no rule.
“First I compare the code with the business rule as written, and I work one or two examples by hand. For money, I look closely at the number type and the rounding, since small errors repeat across many accounts. I check edge cases such as a leap day or a loan that closes mid-month. I ask what happens to loans already calculated the old way, and whether a correction is needed. I expect tests for each of these. When I comment, I explain the reason and offer to pair, so my colleague learns the rule and not just my wording.”
Weak answers check style and naming only, or rewrite the fix themselves without explaining anything.
“I would confirm it first by checking the change history and reproducing the defect with and without my change. Then I would tell my lead the same day, plainly: this came from my change, here is what it affects, here is my plan. I would fix it, and also look for anything else that change could have touched, such as records saved wrongly in the past month. The root cause in the ticket would name the real cause, my change and the missing test. I would add that test. Clients forgive mistakes far sooner than they forgive hidden ones.”
Weak answers fix it quietly and write a vague root cause so the link is never seen.
“I have come to like systems with a history. When software has run a business for years, every odd line is there for a reason, and improving it safely takes real skill. Wipro delivers IT services to client companies, and much of that is this kind of long-term care: upgrades, fixes, automation and steady modernising. In my present job, the changes I remember are the ones that removed a weekly failure or a manual step. I want to grow into an engineer who can take a tired application and make it easy to change again.”
Weak answers describe maintenance as a stepping stone they hope to leave quickly.
No figures on this page: pay depends on the level, the city and the offer in front of you. When the offer comes, the free salary negotiation script helps with that part.
ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your live interview audio and screen are never stored. Your resume and notes are saved to your account so the app fills them in on any computer. It is hidden from screen share on every plan, including Free; only you can see it.