He looked up to see me coming over. ‘So, how are you enjoying your first live problem?’
I sat next to him and clicked my heels three times. ‘If today gets any worse I'm going to have an out of body experience.’
‘That’s what happens when you let women write software.’
‘So you’re enjoying this?’
‘Anything come up yet?’ He relaxed his pen on the page.
‘No. Definitely looking like there’s an obscure bug in my code, but I’ve been staring at it for so long it’s become meaningless. Could we step through it together?’
‘Sure,’ he nodded.
‘Thanks. So, how’s it going?’ I looked at his notepad.
‘Good. Should need a review soon.’ He held across the pages of arrows and squares.
‘Looks complex.’ I reached over to turn the pages in his hand.
The grad in the corner swore at his trick and tried walking the dog again.
‘I better go back,’ I said. ‘See you at my desk in five?’
‘Yeah I’ll come round. Want me to get you something? A coffee?’
‘No, thanks. I’ve just been to the canteen.’ I stood up with a dramatic sigh and went back out to the floor.
At my desk I opened my files for Sam’s inspection.
‘You know the story so far?’ I asked as he came over.
‘Yeah, I’ve been reading your updates.’ He pulled up the spare chair and we leaned our heads into the fluorescent screens. The code I had opened up was spread out over three monitors. It curved from one end of the desk to the other. Sam squinted, leaning in and I allowed his hand take the mouse from mine.
Trouble-shooting was like going through a maze. Following each turn and remembering the way back to the starting point if you reached a dead end. The trick was to block out assumptions, try to forget everything you knew, and look at things freshly each time.
‘It’s got to be something basic you do for every single packet.’ Sam snatched up the diagram we had drawn together. We had exhausted all the possibilities and were back at the start again.
‘The only thing I do for every packet is generate an ISIN. I add one to each Order before it’s sent to Desktop... Let’s look at the ISIN Generator code.’ I took the mouse, forcing myself into another burst of energy and opened more files on the screen.
‘It looks fairly clean.’ Sam blinked in the florescent light. I noticed his eyes were watery. ‘What’s this search?’ he highlighted a line of code.
‘That’s just the search function to retrieve an ISIN. If there isn’t an appropriate one already in the list, a new one gets generated... Oh, that’s odd... That should be a binary search, not the standard find.’
‘Is it on a map or vector?’
‘A sorted vector.’
We both stopped talking. It was clear what the problem was. I was using the slowest possible search algorithm trying to find one entry in a huge list, and it was happening for every single order.
‘No wonder orders aren’t being processed fast enough,’ I squawked. ‘The list of ISINs can grow up to tens of thousands of entries throughout the day!’
Sam slumped back in his chair, causing it to moan. ‘At least it should be a simple fix,’ he said lifelessly. ‘Run your performance tests again using a binary search. I bet even on a small amount of data you’ll see a difference.’
‘I can’t believe I made such a stupid mistake.’
‘Who did your code review?’
‘Boris.’
‘He wouldn’t know the difference.’
I thought back to my code review. I had left early, flying home that night for a long weekend. I remember I had emailed Boris some quick notes about what to look for. ‘I’m an idiot.’
‘Don’t worry about it,’ Sam said. ‘It’s a mistake. It could happen to anyone.’
I changed my code and re-tested. Sure enough, the speed of the new search was noticeably faster. I could have kicked myself. The whole time I was looking at memory. Looking for complex logic errors. I took for granted the most used piece of code was doing what it should. I moved the fix onto the live server for the next start-up: twelve a.m.; the Asian market.
The rest of the day was a blur of answering complaints about the crisis and recovering the missed data. As I updated each complaint with the same explanation, over and over again, I knew this was going to look really bad. I had made a junior programming error – and worse, I hadn’t caught it.
Sam came over, carrying his coat and rucksack, ready to leave. ‘I hope you learned your lesson, young lady?’
‘That’s harsh. At least the worst is over.’
‘The shit hasn’t hit the fan yet,’ he warned.
Felix was behind us. ‘Is everything in place for tonight?’
‘Yes. I’ve uploaded a fix.’
‘Why didn’t you catch this before it was rolled out?’
‘As I said before, without a high volume of data, the problem simply didn’t appear. I couldn’t reproduce it in a test environment.’
‘Then how do you know it’s fixed?’
‘Because I can see the processing speed is faster with the fix in.’
‘Have you done a code review?’ Felix looked at Sam.
‘Yeah, I found the bug with Orla. It’s a simple fix.’
‘Okay,’ Felix said and walked away.
‘Don’t worry about it,’ Sam said again, looking at my crumpling face.
With the familiar feeling of drained tiredness mixed with hyper brain activity I slowly made my way off the R&D floor, no longer impressed by the ceiling-high display of market activity and bold company slogans for CouperDaye. All of which were there to remind me; this wasn’t just a job, this was a way of life.
A tube beneath the city took me home. Where the shiny jagged edges ended and the old markets began, I disappeared down winding streets towards my one-bed lux, cut in to an old building.
When I opened the front door I realised I had remembered to get my broadband line set up for work but had forgotten to get the heating switched on. The open-plan living room was empty apart from a mound of boxes in the middle of the floor. I opened a few to find my fleece and a rug. With my back against a box, I settled on the floor and picked up my laptop to prepare for the 12 a.m. market.
Once everything was in place I went over to the bay window. It was the first thing I had noticed when I’d walked in to the flat three months before. I had instantly known that I had to live here. The frames were white and chipped and they rattled when I shook them. I cupped my face against the glass and squinted down at the communal garden. Street lights curled like crooked hands over picnic tables. I felt a little cold air coming in. ‘Now what happens?’ I asked, leaving my breath on the glass.
Chapter Four
Boris leaned against my desk while I tidied around him, preparing for the weekend.
‘But that’s your job,’ I imitated Felix’s gruff voice.
‘Ooh, that’s harsh,’ he said, keeping an eye on the end of our wing for anyone from management coming around the corner. ‘Look, he’s going to get some heat from the US boys over this. You’ll probably get a bit of a bollocking.’
‘Stern is going to need to isolate the blame,’ Sam warned, leaning over the wall of my cube. He occasionally raised his head, keeping an eye on the opposite end of the floor.
‘Meeting’s been scheduled for next week,’ I said.
‘No one should be surprised there were issues. Fucking idiots,’ Sam continued.
‘It's your turn next,’ Boris said to Sam.
‘I think you'll find that it's not,’ Sam snapped. ‘Look, if they want me to do it, give me six months training and some sort of handover process and, well, even then, I probably wouldn’t do it.’
‘Look, mate,’ Boris said. ‘They’re convinced this is the way forward and Stern expects everyone to be on board. Either give a hundred per cent to the company or leave.’
‘It's not the merge I object to
,’ I said. ‘It's the speed with which they're trying to make it happen. I mean, if they expect people to step seamlessly into other roles then they’re dreaming.’ I started to laugh. ‘You know Cameron is really struggling with programming.’ I dropped my voice and pointed in the direction of Cameron’s cubicle.
‘He couldn't programme his arse to take a shit,’ Sam said quietly.
‘He doesn’t want to,’ I defended. ‘But, I mean, we should have some transitional plan. Some sort of buddy work between our teams or something. Then we could learn each other’s ropes without jeopardising feeds.’ My voice rose. ‘I mean, can’t we do something about this, bring it to someone’s attention?’
‘No point,’ Sam said. ‘Boris is right. They’ll do whatever they want.’
‘But I can’t do this without support.’ I leaned over the desk I had been tidying, aware that Boris and Sam were watching me now instead of the corners of the floor. Now that I had started work on AsiaCap, the Business Analysis was overwhelming. I had to act as project manager as well as write the specs for each team involved. People I didn’t know were already asking me questions about their role.
‘Look. I see your point.’ Boris said. ‘But people can’t just do half of one thing and half of another, and Cameron’s got his own feeds on now. Remember we are looking at keeping one former analyst in a purely consultant role, so you will get support. Anyway, guys, it’s Friday night.’ His voice lifted. ‘So that’s enough of that I say. Going to The Duke?’
‘Definitely.’ I didn’t need much persuasion. Going drinking with the boys and venting over my past week was exactly what I needed.
A row of bars with restaurants upstairs looked over the river from heated balconies. They were busy all week but on Thursday and Friday nights they were packed with clientele spilling from one bar to the next. We went to our usual: end of the row with the least noise and the best selection of beer.
Boris was recounting the latest management techniques he’d been exposed to. ‘You are like a wall, y’see. And we push that wall as much as possible and it’s your job to push back.’
‘That is such primitive... short-sighted ...’ I was spitting the words to the floor when I noticed Felix Stern walk in.
‘Stern is here,’ Boris said. ‘You should talk to him. This is your chance to do a bit of bonding.’
‘I wouldn’t know where to start,’ I scoffed.
‘Nothing wrong with a little social networking. He’s coming over.’
‘Plans for the weekend, Boris?’ I replied.
‘Going to buy a replacement fish, aren’t I.’
‘What happened to the first fish?’ Sam asked.
Boris hung his head.
‘Michelle was away.’ I explained. ‘Poor Frankie.’
‘What, did it starve to death?’ Sam laughed. ‘Has that poor girl not given up on you yet?’
‘Mate,’ Boris said patiently. ‘Over-eating is the number one cause of fish death in this country.’
‘You must be dynamite in the sack, mate,’ Sam said.
‘Alright, Felix?’ Boris’ voice changed as the group of managers gathered next to us.
‘Briggs,’ Felix gave Boris a glance.
I flashed Sam a warning look. Running in to management was the danger of going drinking near work.
‘How was the skiing?’ Boris asked Felix. ‘Plenty of snow?’
‘I was in Chamonix in January,’ Felix replied.
‘You never know. I was in Austria last year, March mind you. But there were actually green patches. At one point I think I skied over a bush.’
‘You went... when? There’s no snow in Austria in March. Who does that?’ Felix’s circle chuckled over their pints.
‘In that case I’m suspicious about what all that white powder was.’ Boris laughed. ‘Yeah I mean, if I was skilled, actually a skilled skier I’d probably have been disappointed. But, how’s your skiing?’
‘I’m pretty fast,’ Felix said.
‘Right,’ Boris nodded. ‘Finished that People Skills this week.’
‘What did you think?’ Felix asked him.
‘Yeah, pretty good. I could see how it works – finding the point of optimisation.’
‘Good. Put it into practice,’ Felix said.
Boris had switched into management mode. I looked at Sam to see if he was finding this as nauseating as I was.
‘Starting,’ Sam said. The men turned towards the wide-screen T.V. in a high corner.
‘Sam’s team are playing,’ Boris explained. ‘For some reason he can’t help supporting a team with a disposition for losing. It’s a shame really.’
‘Have you seen the table, mate?’ Sam said. ‘We’re three points ahead of you.’
‘That’s different, mate. I’m supporting my home team.’
‘So, will they lose?’ Felix asked.
‘Probably,’ Sam muttered. ‘Only because we can’t afford to buy decent players anymore.’
He said ‘buy’ like it was a dirty word. I had heard the argument before.
‘I have to get going,’ I finished my glass of wine.
‘Thought you were out for the night,’ Boris said.
‘No, no. I have to be somewhere actually,’ I lied and squeezed my way through the rows of men facing the T.V.
I could see light at the end of the tunnel in the form of a clean spot I had made on the cooker. But, it was obvious from the layers of dirt that the kitchen hadn’t been cleaned in years. There were even dark clouds of dirt creeping up the windows.
Thoughts of work kept startling me like disturbing an insect. I just wanted the meeting with Felix Stern to be over with. What would he say? Until now I had a good reputation... Everyone makes mistakes... At least now they’d have to pay attention to our lack of training. I went through the kitchen presses and stuffed all the gaps at the back with cardboard. People said there were mice everywhere in London but I hadn’t seen one yet. I found a hole in the floor of one cabinet and put cardboard over it, sealing it with masking tape.
There was a small park at the end of my road. I crossed it at least twice a day. On week days over to the tube and on weekends over to the main street into the market swarm. The market continued to the edge of the City and spilled onto small side-streets along the way. I found a DIY store behind a row of suitcase stalls and under the heady influence of a DIY fantasy, bought a drill, pliers, sandpaper and goggles.
When I got back to the flat I stood on a chair in the kitchen and braced myself for what I would find on top of the cabinets. I was expecting a thick layer of dust, maybe some discarded rubbish, at worse, a dead mouse. Picture frames, scuffed and broken lay on top of each other. Careful of the nails sticking out I lifted them down and laid them on the floor. They reminded me of wooden tennis racket frames. I thought back to when I was a child screwing the corners tight so my racket wouldn’t get warped. I could smell varnish but it was just my imagination. The wood was rough, scratched. Faint streams of silver and gold ran through. I took my hammer out of its packet and carefully tapped the nails back into place. These would suit old-fashioned pictures, I thought. I could imagine family holidays with women in modest swimwear and children in sailor outfits. I tried to remember what family photos I had on my laptop. Maybe there were some holiday ones I could reprint with a faded, rough-grain effect. I could easily get glass to fit at a frame store.
As dusk came I stood back and reviewed my progress. I could consider eating here now, I thought with a nod. I returned to the living room where my laptop had taken up residence on the floor and checked my messages. Nothing new. I poured a glass of wine and began to explore my local take away options. Hunger suddenly hit me and my mouth watered at the sight of a deep-pan pepperoni pizza with spicy beef. I ordered it with extra cheese.
Waiting for the food to arrive, I walked about each room listening to the creaks made by my bare feet and examining the windows, imagining curtains, pictures. My bedroom was empty except for my bed and a pair of red, s
cented candles sitting on the floor. In the market I’d seen wrought iron candlesticks that would be nice. I tugged gently at the makeshift curtain; a sheet folded over the curtain rail. Pale pink would be a good colour in here.
The door-phone buzzed and I clicked in the delivery guy. Our short conversation lingered in the air as I sat down and pulled the rug over my legs. I opened up my laptop to start a DVD.
On Monday morning I left the grey light on the steps down to the tube with music blasting in my ears. Still wrapped in a cocoon of sleep, I listened with my eyes closed as the tube shook me along to work.
At least the meeting with Felix was first thing, so I’d get it over with. I walked around the R&D floor to his office feeling eyes on me, but looked about to confirm I was just being paranoid. My hands were moist. I tried clutching them to my skirt to keep them dry.
‘Take a seat,’ Felix said. Even calm his voice sounded like a dog barking, as if it was broken from overuse.
I sat down opposite him trying not to sink into the easy-chair.
‘So what have you learned from METX? What do you think went wrong?’
‘Obviously I made some mistakes in my handling of the crises but I think I’m a lot more aware of our crisis procedures now, which is a good thing, in terms of my bug. I’m actually a big advocate of a more structured test phase. Our steps are a bit casual and haphazard. I think we really need to look at overnight auto-testing, for example. I think we should even be making this sort of thing priority.’
‘The problem I have with you is I don’t think you take your job seriously.’
‘What?’ I stared at him. ‘I don’t understand. I worked really long hours on METX. And my projects have all gone well up until now.’
‘You didn’t push for what your project needed. When there was a problem, you didn’t react with urgency. You didn’t restart the feed until someone else suggested it.’ He counted on fingers. ‘You didn’t even move the feed until the afternoon even though you knew it could compromise the server.’ His face was rigid. I could tell he was genuinely angry with me.
The I.T. Girl Page 5