“Continuous Integration is the practice where in you commit daily. Your code is integrated into the main line almost every day, slowly but surely, those small task that you do will have an enormous impact on the whole system if you’d integrate in one swift blow, right? We don’t want that to happen because it would be difficult to fix when all the problems are found at the end; what do you think is the advantage of Continuous Integration or CI, Mr. Jefferson?” the lecturer randomly picked a name from the list of the attendees.
Jeff stood up in the midst of the crowded workshop, he was thin with an unruly hair. His last haircut was a month or so ago and the last shave was two weeks ago. With thick glasses, crumpled shirt and worn-out jeans, he was one of those stereo-type programmer that can be seen everywhere. This crowd’s fashion statement, the grab-what’s-available-in-the-closet style, is same as what Jeff’s wearing, no coat and tie and the ladies also wears jeans and shirt.
“It helps in detecting bugs at an earlier stage. This is an advantage since the system is not yet bloated with features and codes, finding the source of the bug and fixing it are easier at this earlier stage. This will also insure that the newly integrated feature will not affect other stable modules. In simple terms, early detect and early fix.”
There was a big applause as Jeff sat down and the lecturer praised him. He looked at the stack of papers on his desk, they were too many for a day seminar on CI. As far as his career is concerned, he’s doing well in practicing Continuous Integration. He was a senior programmer in a big IT company, with a 6-figure salary and a stable job, he still opted in joining a seminar that’s definitely for beginners. It was the farthest place he could go with the limited time he has for himself and his wife– Clau. He needs this time, a time to meditate and think what happened after all these years?
“Early detect and early fix.”
What really amazed him about CI is this principle of detecting problem at an earlier stage, it saved his butt in a lot of situation, since the problems were fixed even before delivering the software to the customer. It’s easy, the theory behind it is a straightforward thought: integrate, detect, solve then deploy.
What went wrong? It was the only question he was able to ask as Clau starts packing. He tried his best to be the best husband there could be. He provided well for their little family. He’s not good in remembering anniversaries and birthdays but he compensated it with an app that would do the reminding stuff. There’s always flowers and gifts for anniversaries and big gifts on birthdays even though he doesn’t really understand why it must be of utmost importance. He was busy but she was busy too, for her career and her goals. He tried his best to give her all the things that she wanted, when she wanted a Caribbean vacation, they jump on the bandwagon and went to the Caribbean. It cost him one major project, a workshop and some other cost that his job has to pay. He’s not trying to count the things he did for their marriage, what he’s trying to do is listing down what might went wrong in the long process of their marriage. He’s trying to find a logical reason why his wife would leave him?
Ten years. It was a happy marriage, or so he thought. They had a twin and she wished for them when she was pregnant. He tried his best to be at home around 10 in the evening because the work is tough and if he must succeed, he needs to sacrifice a little bit. He compensates their lost weekends on fabulous vacation outside the country. He tried his best to be a good husband and a father. What went wrong?
She started being irritated, nagger and some sort of unlovable. She questioned his faithfulness, accused him of seeing another woman, when in fact he has a limited time for leisure. Logically speaking, he can’t even find time to go the barber to have a haircut, how much more is he capable of finding another woman and seeing her? The sweetness died along with the passion and the love. Their marriage went into the rocky stage until the day it really went to the garbage bin.
He sat there, wondering to himself the marital problems that his wife stated on the divorce papers about his lacking of support and time for them. Then, the bunch of what if’s hit him– like bullets flying out from nowhere but has this programmed target, deep into his wounds, to where it hurts the most.
What if he tried his best, better than what he already had given? Will it changed anything?
Applying CI into their marriage life, what if at the very beginning, even before she started nagging at 3 in the morning, they did talk, like most grown ups do. Talk it out while the problem(bug?) in their relationship is still not bloated with a lot of missed occasions, forgotten laundry and the we-time they never achieved.
What if at the earlier stage of the marriage they tried to solve their issues instead of pretending to be happy with each other? His being over-consumed with the new technology he found or the tech-talk he would soon attend to, which for her seems like a time of abandonment. Her shopping problems when she find shoe-sale, dress-sale and any other things that on sale, which for him will definitely wipe-out their savings. His lack of time for her. Her lack of understanding for him.
It was difficult to solve each problems now; definitely, they are blaming each other for the failure of the marriage. Just like in any system when the programmer didn’t integrate more often than they should be and then things started to fall into the wrong side, add the code’s bloated lines and all, then the complexity is somewhat unimaginable. It’s quite ironic that he did succeed in preventing those things to happen in his workplace, finding the right time to tell his co-worker what needs improvement and all but — a bigger BUT than there could be, he failed on his own marriage. CI is simple,it’s a simple principle that is surely applicable in any part of anyone’s life. Maybe, after all these years, human emotions, relationships are too complex for CI to handle. He needs something better, something better than CI for his marriage with Clau.
If you like this story and want to learn what is Continuous Integration, you can check this link for an explanation of Continuous Integration.