It’s 4:45AM. Charles hits “snooze” one last time on his alarm clock. He can wait another 8 minutes before trying to really wake up for his 5AM conference call with Europe. His status report is 80% finished on his laptop, which waits in “hibernate” by his bed. His smartphone is on his nightstand, next to his bluetooth headset. He tells himself he’s pretty much ready for the meeting.
4:53AM – the alarm beeps again and Charles forces his eyelids apart, rolls out of bed and stumbles down the hallway to the kitchen. The espresso machine is already warmed up. He drops in a coffee pod, places a cup below the spout, and presses the “Lungo” button. He wants the extra kick to keep him awake through his call. The 60-second espresso pull feels like an eternity and he bats his eyes into focus as the dark brown liquid slowly lightens. Finally, the machine clicks to a stop and he trundles back down the hall toward his bed, cuddling the warm mug with both hands.
4:59 AM – back in bed, pillow bunched up to support a partial sitting position, laptop coming to life. He doubles the blanket back to protect his legs from the heat of the computer. He starts dialing the long string of numbers for the conference line as he hangs the bluetooth on his ear and activates it.
5:02 AM – listening to a synthesized version of “Girl from Ipanema” on hold, punctuated by the repeating message that “The moderator has not yet dialed in…”
5:06 AM – beep, beep, bee-bee-beep, beep. “He-Hello, Hel-hello – HELLO? This is Jan, who do we have on the call?”
(He’s gotten good at this part.)
“Charles here” (mute) – take a nice sip of espresso while the rest of the attendees stumble through their introductions, interrupting each other with “No, you go ahead.”
He looks at his unfinished status report and types a few more lines at the end. The chatter on the call turns into a drone: “…a little behind schedule, but we should be able to make it up during the verification process, we can probably hit our quality metrics with only a portion of the test suite in pl…” zzzzZzzzzZzzzz
5:42 AM – Charles is jarred awake by the sound of his name being repeated. “Charles? Charles? Are you still on the call?”
“Ahem, uh yes, uh sorry, I was talking but I guess my mute was on. Sorry. We, uh, spent the last week mostly on the signal integrity issues we were having with the new transceivers. They were working OK with the development board, but when we connected them with the actual connectors, we were having problems. We’ve been tuning the EQ settings to try to… Oh, you had a question? Yes, Rajiv may spend a week in Boston at the end of the month for the software bring-up.”
Charles pops open his Instant Messenger window to see the three messages from Dave:
“Did you hear that last question?”
“That’s the same status he’s given for the past four weeks.”
Finally, the call ends and Charles clicks off his bluetooth. There’s time for another hour of sleep before he has to get up and head for work.
7:00 AM – the alarm clock goes off a second time. No time for snoozes this round.
8:45 AM – Charles strolls into the lab with his laptop bag over his shoulder. His phone and bluetooth headset are in the bag. Charles is NOT one of those 24-hour bluetooth guys. Wearing bluetooth when you’re not on the phone is the surest sign that you’re in marketing or sales.
9:15 AM – The signal integrity problem is solved! Actually, it wasn’t a problem at all. The probe was faulty on the scope, leading the team to an almost 1-week goose chase debugging a fake signal integrity problem. Now that Charles swapped out the probe, the eye diagram looks like you could drive a train through it. Charles heads to the break room for a third cup of coffee. No espresso this time. Just semi-designer drip coffee professionally mis-handled by too many engineers.
10:30 AM – Charles fires up his laptop for the first time since the early morning meeting. He checks his e-mail – 167 new messages. Ugh. He skims the list for anything that looks urgent from the subject line. Nothing does. His inbox now has 4,762 messages. Charles thinks to himself that he needs to clean that up at some point. He ignores it for now, leaving the laptop running in his cube as he shuffles back to the lab. Maybe there will be time to cut out a bunch of the debug code he had been using and start a synthesis run before the 11:00 staff meeting.
11:03 AM – Charles sits in the conference room. Two of the ten people invited to the meeting were on time. Charles arrived early with his laptop and began deleting email messages. Mortgage refinance, Canadian pharmacy, joke forwards from his uncle, monthly newsletter from his car company – all get the “delete without reading” treatment. Rajiv’s e-mail with minutes from the 5AM Europe call – star that for future reference.
Before he can continue, 7 people stream into the conference room at once, obviously continuing a conversation that started down the hallway. “…keeps posting that stuff on twitter, and he’s got over 200 followers. Some of those must be from competitors, so when he posts, ‘Way behind on my project today,’ he’s just advertising to everyone that we are behind schedule. We should just send all the competitors an e-mail with our project status and save him the trouble.”
Charles knows whom they’re talking about. Their product-marketing guy is a twitter addict and somewhat of a narcissist. Charles never looks at twitter, but apparently this one guy does enough for the whole company. Nobody can figure out when he gets his work done amidst dozens of – what are they called? Tweets? per day.
11:11AM – The conversation stops abruptly when the marketing guy in question walks into the room. “Can we get started? I have a lunch meeting so I have to get out of here early.”
“Funny,” thinks Charles. “We might have gotten out of here sooner if he’d been on time.”
Charles continues catching up with e-mail and half listens to the around-the-table status reports. Next to him, one of the junior marketing types is rather obviously doing a Facebook post about a concert he attended the night before. Charles hasn’t logged into his Facebook account for over a month. Then, he had gotten 79 birthday notices from friends, acquaintances, and random people he somehow accidentally befriended. He started out to thank each person, but as the list grew, he gave up. As time passed, he felt more and more guilty and hasn’t logged on since.
In his pocket, he can feel his phone vibrating. It has gone off three times during the meeting, so somebody apparently wants to talk to him pretty badly. He doesn’t dare take his phone out of his pocket to check. The guy running the meeting has a “thing” about phones in meetings.
11:37 AM – Charles takes his turn to give status. “Signal integrity bug is fixed, as of this morning.” (Charles didn’t bother to mention it never existed in the first place.)
“What do you have from the Europe conference call?”
Charles was ready for this – he has Rajiv’s e-mail already open on his laptop, and reads the highlighted bullets. Oddly, he doesn’t remember most of them from the call.
11:48 AM – The marketing guy adjourns the meeting so he can get to his “lunch meeting” on time. Charles wonders who he might be meeting locally, since 99.9% of their customers and associates are hundreds-to-thousands of miles away.
12:02 PM – Charles grabs a sandwich in the company cafe and takes it back to the lab. His synthesis run just completed… and failed… with over 2,000 timing errors. Apparently he made a mistake taking out his debug code in a rush between meetings this morning. Charles fires up the simulator to see if he can figure out where things are going wrong.
12:45 PM – Charles still hasn’t gotten a single step done in the simulator. Every time he starts, his instant messaging app interrupts. A junior engineer wants to know why he has to use signals instead of nets. Another team member asks if he can give up his simulator license for a bit. The guy that runs the company cycling group asks if Charles can make it to the ride next Sunday (he can’t).
1:22 PM – Charles composes a post to a usenet group asking if anyone has seen huge timing differences in FPGA designs with and without the in-circuit debugger. He spends a while trying to sanitize the post so it doesn’t give away any details of what he’s working on. Finally, he decides against it and deletes the post. He goes back to the lab to see if he can find the problem himself.
4:47 PM – Charles finally locates the reason for the timing errors. A single semicolon had been deleted, merging two statements together – apparently (and miraculously) without creating a syntax error. The resulting logic was a disaster, however. Replacing the semicolon, he’s now back to where he started at 10:00 this morning. He re-launches synthesis and place-and-route and heads for home.
6:17 PM – Sitting on the sofa at home, Charles gets out his laptop and logs on to check his synthesis and PnR runs. They’ve just completed successfully. After dinner, he’ll be able to get some real work done.
8:45 PM – After a nice dinner with his wife, Charles gets the laptop back out. He fires up the simulator and starts coding on his packet-buster block. Finally, he has some time and space to concentrate on work.
11:45 PM – Charles just spent the most productive 3 hours of his day completely focused on his design. Suddenly, he remembers that someone was trying to call him – much earlier – during his staff meeting. He takes out his phone and sees that there are two new voice messages. The first is from his wife, asking if he’ll pick up a bottle of wine for dinner on the way home today. The second is also from his wife, an hour later, telling him to “never mind.”