From Worldpay solutions to FIS banking capabilities, find answers, ask questions, and connect with our community of developers.
Showing results for 
Search instead for 
Did you mean: 
Welcome to the FIS Developer Community.

The Choreography of Payments

Not applicable
7 6 4,687

One of our Vantiv security compliance guys, a tall, strapping, brilliant kid from Idaho, recently asked me if what he heard was true—that I had a background in ballet. I looked at him carefully to gauge what intent he was projecting relative to this question.  I offered a nervous grin, or maybe it was a smirk.  I am a Vantiv Integrated Payments senior developer integrations solutions leader, respected, an 11 years tenure.

“No,” he said seriously, “I heard you were a big deal.  Is that true?”  He turned to his female colleague, talented, analytical, gifted, and asked, “Did you know about this?”


So there I was, being outed as having a past life outside of payments and in the arts.  I had not studied computer science.  No programming at MIT.  No programming period!  And it was true. I was a dancer and choreographer. I have an MFA from SMU in Dallas and have taught, performed and choreographed in the U.S., Europe and Russia. I was never a big deal but I was a choreographer and that will never leave me.  It has in fact marked me!  So I took a deep breath.

“So you know it is all about systems, right?” I started. “Complex systems, classical systems, rules, regulations, learned patterns and process.  Dance, classical ballet, is the art of space-time with bodies moving through that space driven by the pulse, the rhythm of the music, choreographed by design.  Integrations are the art of code-time with payloads as dancers--xml, REST, SOAP wrapped XML--moving through Tron-like networks of neural web nets, driven by exactness, precision, clarity and design.  These universes are very similar,” I said.

“Wow,” he said. “So you really came from dance to payments?”

“Yea—there were a few stops in between.”

And so from this I started thinking more about this quality of refining movement through payments; payments through movement.  Is there a connection? Is there movement in payments?  Is there a flow?  Are there choices based on design, form, content, rhythm and value right there in the code?  Is there not a dance going on? You bet! And the differences can be remarkable.  Truth be told, I have seen it in the 100s of certifications that cross our day to day! From legacy VB6 to the latest JSON, there is an art to this process that I totally believe comes out in the final product.  It defines the POS and defines the coder—orderly, clear, intuitive and, yes, at times, just plain dazzling to look at!  There is an undeniable music or cadence that is apart of the best final integrations—a flow, a trio with the merchant, POS and the cardholder—and I swear on my PCIP that our integration consultants can FEEL it as well! 

So I am opening this Vantiv ONE blog-shere up to other coder, artist, choreographers who appreciate the art of their technology.  In what way is your code classy, classical, styled, dialed?  Maybe it is just me, because of my cross-disciplinary background, that I see it this way?  Maybe code needs a choreographer/director and a behind-the-scenes pointe to pointe engagement? (ballet joke, sigh) Do you code like the 19th century masters: formal, elegant, clean spatial lines and shapes?  Do you code like a modern master: surprise, crescendo, color and dynamics? Are you a minimalist: precise, repetitive, thematic, linear? Or are you a post-modern semi-integrated agent of change: #EMV?

(void)updateIntegrationState:(int)dance {    

     Space/Time Formatter *movementFormat* [[Space/Time alloc] init];    

     [flowFormat setflowStyle:NSclassyFormatterLongCleanStyle];         

            switch (rhythm1-2-3-4) {

         case CONN_DISCONNECTED:

            case CONN_DISCONNECTING: "Shall we?"


         case CONN_CONNECTED:


          //set the active movement encryption algorithm

     NSDictionary *params=[Go dictionaryWithDanceObjectsAndKeys:

          [clarity, dazzle, MASTER1],@"];              

     [self.noteToSelf code:params:alivedance:VantivONE_noerror_ever];