As some may know, I am a huge fan of writing and storytelling and do so on a regular basis, both on this blog and in my non-fiction writing. As such please enjoy episode 1 of what I hope to be a series of real to life stories about being a developer out there in the coding world. Some are about myself, others about other programmers that I've known, and some a combination of both. But all real and hopefully entertaining. Please do enjoy.
The pay at this new job was decent for a fresh out of college kid with student loans arriving in the mailbox, bills to groan at and a palpable confidence that screamed "world here I come". 3 months in and already he was getting popular among the different departments. He had a smile on his face that couldn't be erased it seems. That's how life works. Things get easy sometimes, and we fall into this lap of comfort that makes us feel like a million bucks. Which is a great thing for sure. But it isn't how we grow and evolve as humans. It's where we park and rest for a day or two so we don't totally lose it. A particular Monday at work hit him with a new project that he couldn't refuse. He wanted to refuse it, badly. But he just couldn't. He was the new guy after all.
Manager: Meeting at 9am looks like
Developer: You got it
Meetings were typical on Monday mornings. New ideas from the past week were getting fired up by the various departments and scheduled out to the developers and project managers. No one really enjoyed these sessions really as nothing too exciting was ever in the works. But mainly it was just because it was the Director, the sole web developer and himself in a tiny windowless office with the door closed for an hour. And he had yet to really speak during the 3 months he had been there.
There was a different kind of tone to this one particular meeting though. Something that was..off. Or on. It was hard to tell. The director was more serious on this one and using more vague terminology than usual.
Director: Looks like they signed off on it.
Manager: Cool. So who's gonna work on it? I'm booked on that other project for a while still.
Director: You can't give your work to him?
Manager: Would take too long to catch him up to date with everything.
The blank confused smile on his face was almost annoying. The 'him' that they referred to was the kid. The developer. The fresh new face without a care in the world. Little did he know that the next few words out of his mouth would lead him away from that Cheshire cat smile of his down a journey that would leave him hungry, dazed and broken on a spinning chair in the middle of a room with a boiling laptop on his dinner tray questioning the nature of reality. Or at least his own reality.
Director: You want to work on this?
Developer: Uh. Sure. Definitely don't mind sir.
Director: You sure? I mean, it shouldn't be too hard I guess...right?
Manager: Yeah, I think he can build it just fine.
Developer: Yeah, for sure, I got this.
The reality was that he did not at all want to work on this. Not just because he had never worked on anything like it before and had no idea where to start. That was just a part of it. He was terrified of new projects. The responsibility that came with them and the fact that he really didn't know how to do this combined into a knot in his throat.
Leaving the meeting his heart was pounding and if your hearing was strong enough, you'd probably hear it. The tension in the room was at an 11. And all of a sudden, he took every ounce of it on and his cells were screaming for oxygen it seemed.
Back in the windowless 2-seater office, he was let in on the project finally. It seems a giant conglomerate company had decided to sponsor this particular one. $100,000 was on the line. $150,000 if the company could deliver it earlier. They didn't design or have anything to do with the actual project specifications themselves however. They didn't really care what we were building. They just wanted their brand name labeled across the whole thing. No, the design and specs came down to one person. One tiny dot of a developer.
The most complex thing that the developer had built so far was a form that a user filled out to enter sales information. A form that 3 people in the office used. And even then, no one had used it yet. Every breathe moving forward from that day was filled with tiny sparks of demons that were slowly escaping it seemed.
Manager: Do you have any questions?
Developer: Sure. What's this project again?
Manager: Alright. Let's break it down.
Developer: Nice. Alright let's do it.
For the next hour or so the project was broken down step by step in the most generalized drawing that you have ever seen. And not on a stereotypical room full of whiteboards. No. He wished. It was done on a tiny 3 x 3 whiteboard in the corner of the room that was used to vote on lunch menu items. The result resembled something like that of a child's drawing somewhere around 2nd or 3rd third grade. Vowels were missing and an entire webpage came down to a slightly crooked obelisk.
He still didn't know what it was or how to build it. But, he knew he had to, because he had said 'sure' to the Director. He was taking care of the family after all. He paid most of the rent. And he put the food on the table for the most part. His dad tried, he really did. But there was no way that his aging old man was going to triple his salary anytime soon. So he took on that responsibility dead on.
Manager: If you have any questions, let me know. Otherwise, it's due in 2 weeks
Developer: 2 weeks. Cool cool. You got it!
If only he could be honest and say what he really meant. (I have no idea what I'm doing sir!). But who's honest these days. We just smile for the camera and hope for the best in the end. We don't want to look bad after all.
What followed for the next few days could best be described as taking a paperclip and a rubber band, and trying to escape from an underwater prison cell. But he did have something going for him. He was willing to work and do whatever it took, at any cost, to accomplish this. He grew up in a rough neighborhood and wasn't even suppose to go to college from what he heard growing up. But he used that to fuel his efforts. He even graduated in the top 20 of his high school class, got accepted to a dozen or so colleges and maintained a 3.0+ GPA for those 5 years.
And some of those classes were actually coming in handy now. He could piece together a database schema relatively well and have it make sense. Which is what he did. From morning to night, he created all of the tables, all of the relationships and created test data to test the whole thing out. It seemed legit. He ran it by his boss before he actually began to officially work on it.
Manager: Looks good I guess.
His boss didn't care much for the project really. He had his own work to worry about and he probably was relieved that he didn't have the companies biggest quarterly project on his lap. He came in late and he left early. He actually went to lunch each day and came back with leftovers. A luxury that the developer would soon come to miss as he began the constant routine of skipping going outside for lunch and ordering in.
For the next week, he arrived early every morning before anyone else in the office. He woke up early, put on his work suit and grabbed his usual morning energy supplement before making the hour long drive into work. It only took a few days before he actually began to enjoy the routine. He actually started to enjoy this challenge and felt like he was on a mission each morning. Which was good, because that deadline was fast approaching.
Most mornings were spent online searching through various online forums on how to accomplish what he thought he needed to build. It still wasn't quite clear in his head. Did the technology exist even? Was he the first person on Earth to work on his? Sure felt like it. But he kind of had an idea. He copied elements that made sense and modified them to fit his vision. And it started to work..slowly. Each day, there was something more visual coming to life. People started to show up at his desk and offered encouraging words. They seemed to think that whatever he was building was 'cool', as they said. Either the project was getting easier, or he was getting better. It was tough to tell at this stage.
That following Monday brought with it another annoying overly confident smile from the developer as he walked into that 9am meeting. Life it seems is not without a sense of humor. Maybe it was trying to teach him something. To stop being so smug seemed like the right answer. Or to keep focus until the mission was complete. That false sense of accomplishment that we sometimes get at the 10% mark can derail our future efforts in the blink of an eye.
Director: What do you got?
Manager: You ready?
Developer: Sure am.
The slight moment of what some would call 'joy' quickly turned into a cold and shivering breeze that completely immobilized him, as he hit the run button.
Not because it didn't work. No it worked. But what was on the screen was something that didn't resemble any human construct. The contents were completely warped and colors and blocks were flashing rapidly in a psychedelic pattern. As if he was telling a joke to the director straight from the universe. He didn't get it it seemed.
The walk back to the office to fix the issue was the only moment of solace that he would get for the next few days.
What had gone wrong. Everything was fully functional that morning. The coffee even tasted better as he proudly ran his code over and over again to make sure that his demo wouldn't fail. The next few hours were spent combing over thousands upon thousands of lines of what seemed like gibberish at this point. He couldn't tell what time it was anymore, but he knew that the day was closing as he saw the swarms of people begin to leave the office. It's as if minutes had passed for him this whole time.
If there was any form of safety, it was in knowing that the office would automatically lock itself, even if he were the last one remaining that night, which he undoubtedly would be. That made him happy. He didn't feel like learning how to operate the alarm system was the reality. It seemed like too much responsibility again to him, and he was still learning this whole adult game.
The midnight drive home that day was thought filled. Maybe he should quit his job, he thought. Or maybe go into something less stressful, like farming. Or maybe he just needed some sleep. It had been a few days since he had more than 3 hours straight.
He made it home, smelling of strong coffee and cheap cigarettes. He didn't really smoke ever. But this day it seemed appropriate. His mother greeted him. He was happy to see her, which wasn't always the case as teen angst takes time to work out. But this time, she was his only form of safety. She brought him dinner and he ate at 1am just before the 6am alarm clock blasted him into one of what is probably an infinite space of dimensions that we get to visit every 24 hours. Just a theory he had.
Manager: You figure it out?
Manager: Need help?
Manager: Alright man, but that deadline is coming up just so you know.
At this point the fear had reduced by several levels over, and anger was beginning to take its place. 6 more days remaining until the big reveal, and he was as confused as the output of the code. Then, it suddenly hit him. Like some quantum cement truck of understanding and clarity. No, not the meaning of life. If he had that, he probably would quit and find something more meaningful to do with his life. He knew what had gone wrong with the code.
What follows is technical, but important, in setting up how software can go wrong in unexpected ways sometimes, so try to envision it as it is described. In setting up the code, there were many things required to make it work, one of which was a special kind of permission from the database and from the network in order to get a real-time communication relay going on. Many hands were involved in testing this out early on and it had been some time since it needed any form of attention. In order to demo the project, a few tweaks were needed to the configuration, such as pointing to various different 'clean' servers and databases, some of which weren't configured for anything yet. Pointing to any of these would inevitably result in random results that no one could predict, such as hundreds of requests per second pinging a server and rendering the results.
Pointing back to the configured and functional servers, would result in a functional and runnable project. Except at this point, days had been spent in deleting code and modifying functions in an attempt to find the phantom issue. But at least now, there was something to target and aim for and with days remaining, every hour counted.
The next few days were spent almost entirely typing from morning until night only to stop to eat and to sleep. And even then, most eating was then in between typing. Everything leading up to the weekend before the deadline was like climbing to basecamp at Mt. Everest. It's difficult, and you are still amazed that you made it, but there's this giant peak that still needs to be tackled. And tackled it would be.
Director: How are we looking for Monday?
Manager: I think we're good, right?
Developer: Yeah, I think we're fine...
Truth is, he had no idea how much more there was to this thing. And he was tired. Life was happening all around him and it seemed like he was missing out on it. His family was going on outings and spending time together, things that he usually hated doing anyway. But they sure seemed amazing now.
From what he could tell everything worked, to some extent. But was it production ready? Could 5 or 10 users sign up to this platform and use it effectively? Could even 2 do it? Would the network allow for it? It's true what they say. It's always worse in your head. He could only do his best and that was it. And test as much as one sole developer could unit test their own work.
The weekend before the deadline was quite possibly the most harrowing ordeal that he had to face on this quest to find himself. Bug after bug after bug started to pop up and he started to lose hope. Everything he thought worked, did, but only sometimes. There was just too much code and not enough architecture. There was no architecture if he could be perfectly honest. Just thousands of lines of code and hundreds of functions, some with confusing names even to him. StringParser_VerifiedRun(). That probably made sense at some point in this whole thing.
His phone was going off every hour on the hour. The Director was also testing the application on the shaky test server. And he was finding more issues than one could keep track of. He was worried. You can tell in his voice. And he was getting angrier. Which only made the climb even harder. The hours ticked liked minutes again as he typed uncontrollably. The temperature in his room was beyond normal, mainly due to the aging work laptop that weighed in at what must have been ten pounds. He grew to like that thing. It was his helper and he knew all the little quirks that it had on a deep level.
His father came in to the room at some point during this final ordeal, which again, was rare, because they weren't too close either. His dad asked how he was holding up and seemed concerned a bit. After the past few days, It was comforting to him to know he still had some support from somewhere, even on this remote peak. The next words out of his father's mouth changed his entire perception on this project and on reality and to this day he's pretty sure that is the only reason that he was able to complete it.
Dad: You can quit this job you know.
Developer: ...I know Dad. I know.
The truth is he didn't know. He assumed he had to live this out repeatedly much like Sisyphus pushing the eternal rock up the hill. This is what adults do after all. We educate ourselves into a craft and skill and we go to work every day and we do it. Wasn't it?
As the hours before the deadline inevitably came knocking, there was that smile again on his face. He had found it once more. He didn't force it or anything, it just snuck out from some unknown corner. Regardless of how perfect this project was, it was coming to an end. The heroes journey was over. He had faced every emotion a human could face in 2 weeks time. And at the end, there was a smile and a laugh waiting for him. He had somehow done it. The most complex task that he had ever faced was tackled.
The next morning held the usual 9am meeting time. And he was ready to demo what he had. He wasn't phased at what would happen anymore. He even decided to quit the job before he was fired if anything.
Director: Soo..Is it finished?
Director: Good job man.
Developer: Thank you sir. If you log on, you'll see my avatar appear on the screen and we can have a quick chat and invite others too.
Director: This is..pretty cool. How'd you do this?
Developer: I have no idea.
If you read this far, then you have my sincere thanks and I hope you enjoyed this small 2-week tale that I found myself in shortly after I graduated from college. It was a fork in the road for me as I had to consider leaving this field behind and venturing into something else that was less daunting. I of course stuck it out and have been involved with technology for over 15 years now and still thoroughly enjoy each moment I get to build something that doesn't exist or improve some process.
I plan on releasing a few more of these developer stories in the coming weeks, so sign up for the newsletter to find out when those are out. And I thank you again for taking the time.