{"id":1452,"date":"2011-06-27T11:23:21","date_gmt":"2011-06-27T18:23:21","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/cqtwo\/?p=1452"},"modified":"2011-07-18T19:18:11","modified_gmt":"2011-07-19T02:18:11","slug":"wall-street-development","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/2011\/06\/27\/wall-street-development\/","title":{"rendered":"Wall Street development"},"content":{"rendered":"<p>Antonio Garcia-Martinez&#8217;s blog post, <a title=\"Why Founding a Three Person Startup with Zero Revenue Is Better Than Working for Goldman Sachs\" href=\"http:\/\/adgrok.com\/why-founding-a-three-person-startup-with-zero-revenue-is-better-than-working-for-goldman-sachs\/\">Why Founding a Three Person Startup with Zero Revenue Is Better Than Working for Goldman Sachs<\/a> is worth reading. \u00a0One\u00a0parenthetical\u00a0comment, especially, rang true with me:<\/p>\n<blockquote><p>Regtests ran nightly, and no one could trade a model without thorough testing (that might sound like standard practice, but you have no idea how primitive the development culture is on the Street).<!--more--><\/p><\/blockquote>\n<p>A couple of years ago I worked on a large infrastructure IT project for a big Wall Street bank &#8212; not Goldman. \u00a0As part of the requirements gathering process, we talked to many of system&#8217;s customers, internal IT users. \u00a0These users were very savvy, demanding customers in their own way:\u00a0infrastructure\u00a0mattered because it could never fail and never be fast enough. \u00a0Although, like everyone else, they didn&#8217;t really care about their technology infrastructure, they were happy to spend money on faster processors and exotic networking technologies, because any advantage would make them money. \u00a0 Their servers were located physically adjacent to the trading systems they were talking to, to take advantage of the reduced distance that the light had to travel through space. \u00a0They were what Sun used to call their &#8216;red shift&#8217; customers, for whom IT really made a difference.<\/p>\n<p>For all of this sophistication, though, they had incredibly primitive development processes.<\/p>\n<p>The programmers at the bank we were working for were set up in small teams with traders, working on narrow segments of the financial markets: one group would trade Latin American fixed income futures, another on some aspect of spreads in forex between certain currency pairs. \u00a0They wrote and maintained their own code, totally separate from anyone else&#8217;s. \u00a0The coders and traders would work very closely together, competing against similar teams at other banks.<\/p>\n<p>The scale was massive; they&#8217;d routinely be dealing with hundreds of millions of dollars and tens of thousands of messages per second. \u00a0Everything was written in C to be as fast as possible and they would make updates and changes to the underlying logic almost daily, sometimes multiple times a day.<\/p>\n<p>The programmers were typically Eastern European math and science types, nerdy at the coder\/poet end of the IT spectrum, not nerdy in the sys admin\/help desk end of the IT spectrum.<\/p>\n<p>&#8220;So,&#8221; I asked in an interview, &#8220;what&#8217;s your dev and test procedure?&#8221; \u00a0The Romanian mathematician didn&#8217;t know what I was talking about.<\/p>\n<p>&#8220;I mean,&#8221; what do you do before you promote to production?&#8221;<\/p>\n<p>&#8220;Nothing. \u00a0We just run it.&#8221;<\/p>\n<p>&#8220;Okay, but how do you send your updates to the servers running in the production environment?&#8221;<\/p>\n<p>&#8220;Oh, we control those.&#8221;<\/p>\n<p>I laughed, uneasily. \u00a0&#8220;So,&#8221; I said, &#8220;you make changes directly to live production servers?&#8221;<\/p>\n<p>&#8220;Yes,&#8221; he replied, confused. \u00a0&#8220;Of course.&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Antonio Garcia-Martinez&#8217;s blog post, Why Founding a Three Person Startup with Zero Revenue Is Better Than Working for Goldman Sachs is worth reading. \u00a0One\u00a0parenthetical\u00a0comment, especially, rang true with me: Regtests ran nightly, and no one could trade a model without &hellip; <a href=\"https:\/\/archive.blogs.harvard.edu\/cqtwo\/2011\/06\/27\/wall-street-development\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1116,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[27],"tags":[],"class_list":["post-1452","post","type-post","status-publish","format-standard","hentry","category-governance"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8jQA6-nq","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/posts\/1452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/users\/1116"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/comments?post=1452"}],"version-history":[{"count":6,"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/posts\/1452\/revisions"}],"predecessor-version":[{"id":1457,"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/posts\/1452\/revisions\/1457"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/media?parent=1452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/categories?post=1452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/cqtwo\/wp-json\/wp\/v2\/tags?post=1452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}