Tech Job 9 to 9 Read online

Page 9


  When Sana was two months pregnant, she stopped travelling to Mysore during the weekends. When her parents asked, she gave various reasons like project deliverables and tight project timelines. Her father and mother would then start to come to Bangalore. She would immediately pack up her things in a hurry and move in with her friends for a day or two till their parents leave Bangalore.

  Vinay was getting fed up with this. When Sana was in her sixth month, he told her to announce to everyone.

  Sana immediately called her mother, “Ma. I’m six months pregnant. Can you please come over here?”

  “Who’s pregnant? What are you talking about? Who? The What? I don’t understand anything,” came her mother’s reply.

  Sana then slowly explained her marriage to Vinay and what she and Vinay had done, to her mother and father. She told them to come and meet her. Her parents started immediately.

  Vinay told his mother, “Ma. I need to tell you something very important.”

  “What is it Vinay,” asked his mother.

  “My wife is six months pregnant.”

  “What? Whose wife are you talking about?”

  “It’s my wife.”

  “We will start immediately now,” came the reply from his mother.

  Vinay’s and Sana’s family met in their house.

  “How dare you can do things like this? You think you can do whatever you want and expect us to simply accept it? We declare this marriage null and void with immediate effect,” said Vinay’s father who was a lawyer.

  “We have registered our marriage and our marriage is legal and according to the law,” said Vinay in a low tone.

  “Oh so you have grown up so much. I would never imagine you doing things like this,” said Vinay’s mother.

  Sana’s father told her, “Pack up your things. We are leaving now.”

  Vinay interrupted, “She is my wife.”

  Sana’s mother was in the kitchen making coffee. She brought coffee. Everyone took a cup.

  “So you think you can have your way around. This is unacceptable behavior. We will first take some rest and discuss this matter in the evening. I’m just tired with the travel,” muttered Vinay’s father.

  Both Vinay’s and Sana’s father took their things and went into different rooms.

  Sana’s mother and Vinay’s mother started talking with each other. They had known each other before and had met in many occasions. Sana was tired and she went to bed in her room. Vinay also went into the room.

  In the evening, everyone gathered in the hall.

  “What is the rent you are paying for this flat?” asked Vinay’s father.

  “This is my flat,” said Vinay.

  “Is this your flat? How? Did you get home loan? How come you didn’t tell us about it?” asked Vinay’s father.

  “There is no home loan. I just made some money out of my Bitcoins,” said Vinay.

  “I don’t get this Bitcoin thingy and all that. What else are you hiding?” asked Vinay’s father.

  “Do I look like hiding something?” replied Vinay.

  “Oh yes. I’m surprised with everything to do with you,” said Vinay’s father.

  “What if anyone hears this out?” asked Sana’s mother.

  “We have a respectable family background,” said Sana’s father.

  They finally decided to arrange a hurried marriage function inviting only very close friends. Their marriage function was attended by Himesh and Ashutosh.

  Chapter 21

  Usha had planned her moves well. She had earlier tipped her colleagues in Dochamk Bank that Mona was trying to put rookies and less experienced people into the GF project and make them as billable resources. So the leadership team from Dochamk Bank had tightened their filtering of candidates who were attending project interviews for GF project and they had strictly put the eligibility for a candidate at minimum four years experience to be billable. This had eliminated Vinay and Himesh from officially working on the project. They could work only as shadow or non-billable resource and support other people with their work in the project.

  Usha knew very well Vinay and Himesh were very hard working. She knew Mona would use them as her workhorses to complete the GF project in time. So she had also psychologically instilled the fear about Mona into Vinay and Himesh. This way she had eliminated both of them as Mona’s dark horses.

  Usha started with phase-two of her plan. She casually passed comments to her colleagues in Dochamk Bank associated with the GF project. She told them the GF project team was not fully loaded and they were most of the time sitting in cafeteria and chitchatting. She also added Mona was working in a relaxed manner and she found her usually working for six hours a day.

  Mona was left with no useful resource. Ashutosh had already got a deal to join an SAP project within Holtezent after three months. Raghu had already confirmed his release date from the project. Vinay and Himesh were not getting involved in the project work. Shanthi was useless. There was not much contribution from Anil and Puneet. Satish was working as the Support lead for the CDSTP operations team.

  Her dream of getting transfer to Delhi came crashing down. Now she would be required here till the completion of the project and that meant for next one year at least she cannot get transfer.

  Both Vinay and Himesh asked for release from project. Since they are non-billable and shadow resources, Murali agreed to release them soon. He doubted they would be made billable anytime soon in this project as client was not taking one year experienced people for this project. They were asking for minimum four years experienced professionals. In Holtezent, billing rate was a flat rate of twenty US dollar each hour. The rate was the same for everyone no matter how many years experience they had.

  Himesh overheard a conversation between Mona, Raghu and Murali.

  Raghu was saying, “No Mona. We can’t release you now from the project. You are the critical resource. We can’t pprove your transfer request to Delhi. We need you till the completion of the project and until the three months of warranty period after Go-live of the project happens. Also client wants you to roll out at least two regions every two months. They have escalated to higher management saying project team is not fully loaded.”

  It also indirectly meant Mona would end up doing all the work herself.

  Later, Ashutosh told, “Good luck to her.”

  Himesh laughed and said, “We escaped from her.”

  Vinay asked, “Why Mona wants to leave the project? I have heard a lot about her. People say she is an expert. They are amazed with the way she works. Then why she wants to leave? All these modules of this project are all created by her single-handedly. She was the one who interviewed me.”

  “Why she wants to leave? You want to know? Or rather why she was allowed to work in this project in the first place? She has created this nightmare. It is only fitting if she stays and completes this project,” said Ashutosh.

  “I don’t understand. Are you saying she should not have been allowed to work here?” asked Himesh.

  “Little knowledge is more dangerous than no knowledge at all. Her designation is Architect. She has written many blogs about Architecture called Architect’s Universe. She has written hundreds of technical blogs in many web sites. But does that make her an Architect? She thought she is an Architect but she never was one. She can never become one. She can be only a namesake Architect.

  An Architect pulls together different discrete solutions and weaves a solution. But can anyone do that? Can anyone become an Architect? If she has worked eight years in Holtezent, does that make her an Architect? She can acquire whatever fancy designations she wants but can only be a namesake for fancy designations like “Lead Architect”, “Solution Architect”, “Technical Architect”, whatever.

  She sticked together separate amateurish solutions with whatever little knowledge she had and composed a half-baked solution out of it. She dominated and dictated people what they have to do. She enjoyed commanding others ordering them to do
things. She tried to impress her seniors and belittled her peers.

  People said she was an expert. They said she was a “mini boss”. She basked in the glory.

  She should never have been allowed to work as an Architect for this project,” explained Ashutosh.

  Chapter 22

  Murali called Vinay and Sana. He said operations support team from CDSTP project was facing some issue. He told them to work with the support team and analyze the root cause of the problem. He forwarded the emails related to the problem to Vinay.

  Vinay and Sana read through the emails and started debugging the problem. Out of some ten thousand transactions, a few transactions were getting hung in the middle of processing. Both of them spent night and day debugging it. It was difficult to simulate the anomaly in the preproduction system.

  A debugger was a software tool used to help troubleshooting a problem. Vinay had built a debugger that could swift through log files and connect to queues and read and write data. Log files were those files where certain information were written to track whether a particular operation had succeeded or failed and at what date and time. In case of any failure during the operation, it would contain a trace of the failure with details like from which function it originated and while doing what operation along with some data used in the operation. In case of successful operation, it contained transaction identifier, account number, transaction amount along with additional data required for audit purpose.

  Queues were software data structures that could be configured to connect data flow between different software modules. They carried all incoming and outgoing transaction data going through the network and between the software modules.

  Vinay lost his patience in debugging the problem. He directly logged into the production system and started tracing the transactions. He connected the debugger to the production system and started debugging a transaction when he found one particular file was read from some location in the file system. He opened that file but found only encrypted characters in the file.

  “What is this file? I don’t remember anything like this in the CDSTP project,” said Vinay.

  “Looks like some dump data,” said Sana.

  “We have to check if it’s a virus, Trojan or malware first. Can you run the anti-virus?” asked Vinay.

  Vinay reconfigured the debugger to detect all file reads and writes from and to the system. The debugger showed some forty file reads and some file write operations. He observed the series of operations was first kicked off by that strange file he noticed first.

  He checked the code base used for the production build. He went through sections of code but he was unable to find any chunk of code that related to these operations.

  He wanted to check the integrity of transaction data to eliminate all transaction related code first. He accessed the outgoing transaction data through network. It looked like “153.90 549.43 234.45 33.65 567.38…” He accessed the transaction data from the audit log. It looked like “153.94 549.43 234.47 33.69 567.38…” It differed in the second decimal place sometimes. The difference in the data was “0.04 0.00 0.02 0.04 0.00…” He thought it may be a rounding error in the underlying algorithm.

  “It’s just a general rounding error,” said Sana.

  “I hope so. I don’t find any pattern. Let’s double check. I want to make sure transaction algorithm is not compromised,” said Vinay.

  He wanted to be sure it’s just a rounding error and there was no pattern. He fed the data into MathStat tool and studied the deviations. Out of habit for his fascination for Mathematical curves and equations, he clicked on the “Curve fitting” button. The tool then fit a series of overlapping sinusoidal waves and splashed an equation which Vinay was well aware of. It’s a Fourier transform. Vinay was very sure now the transaction algorithm had been tampered with. The code in the code base for production was not exactly what was running in the production right now.

  Sana watched all this and was shocked.

  “The second decimal place, if it’s from six to nine, it’s rounded to five. And if it’s from one to four, it’s rounded to zero. Many data is untouched in between to hide the pattern. Why do this way? There are other ways that could have been used like a random number generator on the time stamp value,” said Sana.

  “There may be code reviews done by the configuration team. They might be using static code analyzers to do some last minute check before the build. Calls to random number generator function could be noticed. The Fourier transform has been camouflaged in to the transaction algorithm and escaped detection by static analyzer,” said Vinay.

  “There is some clever rounding algorithm at work here. It uses some complex Fourier transforms but the pattern is very difficult to detect. The credits left after the decimal round-off is siphoned off to a very cleverly hidden set of account numbers within Dochamk Bank. It was designed in such a way that none of the audit trace will reveal it. And finally it goes through a hidden algorithm to funnel the transactions to some system account numbers. These account numbers look like test account numbers used in the preproduction environment and is usually used for testing purpose,” said Vinay.

  “Yes. The preproduction environment is for testing out bug fixes before deploying in to production environment. It’s a replica of the production environment and is purely for testing purpose.

  So the final funneling of transactions is done through the preproduction system so that there won’t be any trace of it in the production system. One of the outgoing queue there may be secretly linked to the outgoing network queue in the production system,” said Sana.

  Sana opened the Calculator application and started doing calculations.

  “There are two hundred transactions each second. Let’s assume at least ten transactions are siphoned off every second. Let’s say on average 0.03 dollar a transaction is removed. So in ten seconds, three dollars could be removed. So in eight hours, that is twenty eight thousand and eight hundred seconds, eight thousand and six hundred and forty dollars could be removed,” said Sana.

  “This is stealing. Who have access to do all that?” said Vinay.

  “Lot of people here have that access,” said Sana.

  “I don’t think so. My login id doesn’t have that access. Type your login id. I will check with that,” said Vinay.

  “No. Your login id doesn’t have that access as well,” said Vinay.

  “You suspect anyone?” asked Sana.

  “I don’t know. We have to get hold of others login ids and check with the access. That might help to filter potential suspects,” said Vinay.

  “Himesh writes his login ids and passwords in that notebook in his pedestal. Ashutosh stores his passwords in his phone. Anil keeps it in his bag. Puneet uses a standard pattern in his password. Shanthi keeps it in a text file in her desktop. Satish, we need to find out. Murali, I don’t think he had any login id in the first place,” said Vinay.

  “I believe only one person we know is technically capable of doing anything like this,” said Vinay.

  “Ashutosh,” said Sana.

  Vinay nodded.

  “We have to be careful. He has become our close friend. Perhaps we can guide him to the right path,” said Sana.

  “I will take care. Don’t worry. Just get that password from his phone,” said Vinay.

  Sometime later Ashutosh plugged his phone for recharging and went out of ODC. Sana used the chance to quickly glance through the notes Ashutosh had stored in his phone. She used Bluetooth connectivity to transfer the notes to her phone.

  In the evening when everyone went for tea beak, she gathered the passwords of everyone. She also easily got hold of Satish’s password which he had stored in some file folder in the desktop like Shanthi did. She saved the files to the shared folder in the network location.

  Later that day when everyone had left, Vinay and Sana tried logging in with the various passwords to check if any of their login identifier had certain access permissions to the core system
files. Vinay found both Ashutosh and Himesh had the required access permissions and none of the remaining people had.

  Vinay had seen Ashutosh and Himesh standing together and talking about something many times before. He had not bothered to ask them what they were discussing. Both of them had become his close friends. But this act of stealing is too farfetched. He would not tolerate this act and unless they repair the damage done, this would become a thorn in their friendship. He had to collect solid evidence before confronting them.

  He checked the file system, last modified dates and modified by attributes of files. He could not find anything, not even a single trace that could show Ashutosh’s involvement. He then checked through the same process using login ids for Himesh and Satish. Since Satish was the support lead for CDSTP operations, he should also be included in the suspect list thought Vinay.

  When no one was around, Vinay checked the pedestals of each person. He found only some old documents and training materials. Nothing suspecting he thought.

  “Did you get any leads?” asked Sana while commuting in the bus.

  “No. I don’t think there would be any trace. If he has done it, then he would be good enough to erase any trail as well,” said Vinay.

  “You still sure he has done it?” asked Sana.

  “I don’t have any trace to show. But this work, he is capable of doing it. Who else can do Satish, Puneet? I don’t think so,” replied Vinay.

  “What about somebody from Dochamk Bank itself or somebody from support team?” asked Sana.

  “It is highly possible somebody from Dochamk Bank is involved. But I know the people in the support team. They are mostly rookies just learning on the job,” said Vinay.

  “I have noticed more closeness between Himesh and Ashutosh. I have seen them going out after lunch to somewhere and discussing things in private. I have seen them many times near Metro Plaza,” said Vinay.

  “Ok. But we need to check on Puneet and Satish as well. We won’t really know what is hiding in where. I will check them out,” said Sana.