davideisinger.com

My personal website
Log | Files | Refs | README

blog-testdouble-com-krzanb.txt (32013B)


      1 [matomo]
      2 
      3 [1] Test Double The Test Double logo
      4 
      5 Menu
      6 
      7 Menu An icon that displays an illustration of a website menu
      8 
      9   • [3] Home
     10   • [4] Agency
     11   • [5] Services
     12   • [6] Careers
     13   • [7] Blog
     14   • [8] Contact
     15 
     16 [9] Blog [10] Posts
     17 
     18 The looming demise of the 10x developer
     19 
     20 Why an era of enthusiast programmers is coming to an end
     21 
     22 An icon of a clock Publish Date
     23     July 12, 2023
     24 An icon of a human figure Authors
     25     [11]Justin Searls
     26 
     27 I’ve recently been telling anyone who will listen that I am excited to be on
     28 the precipice of using [12]Sorbet to write a type-checked edition of [13]
     29 Mocktail that has the potential to unlock productivity workflows never before
     30 possible in Ruby.
     31 
     32 I’m not there yet.
     33 
     34 I don’t want to say it’s been a “quagmire,” but I’m over [14]150 commits in,
     35 and there’s a lot left to button up before release. It’s been a real challenge.
     36 Learning Sorbet at all takes a good chunk of time, to be sure. I’ve also hit a
     37 number of thorny edge cases and elusive bugs along the way (both in the type
     38 system itself and that the type system exposed in my code). And, like usual,
     39 I’m trying to do something that’s never quite been done before, so I’m
     40 constantly oscillating between feelings of nervous excitement and fear that I’m
     41 attempting the impossible. (Though it’s been made far more possible thanks to
     42 the generous assistance of [15]Ufuk Kayserilioglu, [16]Kevin Newton, and [17]
     43 Jake Zimmerman!)
     44 
     45 Beyond this, any specifics I might share about my current quest are so banal as
     46 to not be worth your time. (If you somehow find this interesting, please [18]
     47 email me so I might feel less alone in this world.) That said, there is
     48 something generally interesting here that programmers don’t often talk about.
     49 And that’s the deeper question: why do I keep doing this to myself?
     50 
     51 [19]What makes me “special”
     52 
     53 I am an enthusiast programmer.
     54 
     55 I stumble on a problem like this one and I stay up late every night until I
     56 find the solution. I wake up early each morning with new ideas of things to
     57 try. I don’t take enough breaks, but when I do, they’re tactically-designed to
     58 exploit my brain’s asynchronous processor to generate solutions for whatever
     59 I’m currently stuck on. I irresponsibly defer responsibilities from other areas
     60 of my life. Eventually, I realize I’m only at the 20% mark and that a pattern
     61 is repeating where a month or more of my life is about to disappear from the
     62 calendar. Towards the end, I find myself rushing to find the maze’s exit
     63 because my desire to unlock the puzzle’s final secret starts to be overtaken by
     64 the shame of all the other balls I’m dropping. It’s excruciating as I approach
     65 that inflection point—as intense as an overbearing manager’s “do or die”
     66 deadlines ever were, except in this case the pressure I feel is entirely
     67 self-imposed.
     68 
     69 And then, at some uneventful moment at 4 pm on a Sunday, it’s done.
     70 
     71 Sometimes people care about what I made. Usually they don’t. Often, even I
     72 don’t.
     73 
     74 I give myself enough time to clear my inbox, tidy the house, and shave. Then I
     75 move onto the next Sisyphean task I’ve laid before myself.
     76 
     77 This describes how I’ve lived my life since I was 13 years old, with few
     78 exceptions. And let me tell you, it’s very difficult to juggle a healthy
     79 personal life and a sustainable work life when you’re simultaneously engulfed
     80 in an endless series of side quests to will every creative curiosity into
     81 existence.
     82 
     83 When I was a consultant at [20]Crowe, there was one year I billed clients for
     84 nearly 2100 hours, which averages out to more than 40 hours per week every week
     85 of the year with zero days off. And that’s not counting travel time. Or the
     86 half-dozen hours of weekly administrative work that wasn’t considered billable.
     87 Nevertheless, I found time in my nights and weekends that year to build an app
     88 with Apple’s buggy, mostly-undocumented initial iPhone SDK. The app was a
     89 native client to [21]vBulletin web forums, allowing users to browse threads and
     90 compose replies. Despite knowing nothing about any of the underlying
     91 technologies, I obsessively polished the app to perfection. Did I make time to
     92 sleep? I don’t remember. The whole year’s a blur.
     93 
     94 All so that Apple could reject my app because users might post swear words or
     95 dirty pictures. Oh, well. Onto the next thing.
     96 
     97 I don’t know what word best describes my behavior above without inflecting
     98 significant value judgment. Perfectionist? Obsessive? Passionate? Whatever we
     99 call this compulsion, it’s hardly an unalloyed good and it comes with its share
    100 of downsides. Nevertheless, it’s one of a number of idiosyncrasies and
    101 character flaws I’ve decided to lean into and find productive outlets for
    102 rather than attempting to repress or rewire.
    103 
    104 Other examples:
    105 
    106   • I ruminate endlessly under stress, so I wrest back some control by
    107     manufacturing stress responses over things I’m building to trick my brain
    108     into ruminating on work that’s useful to me. This both overrides the
    109     unhelpful, irrational worries that surround me every day and unlocks a
    110     “second shift” where I accomplish almost as much away from the keyboard as
    111     in front of it
    112   • I’m a terrible listener and struggle with auditory processing, especially
    113     in groups and loud environments. (One reason I talk so much is that it’s
    114     always felt safer to drive the conversation than risk mishearing and
    115     offending someone.) Parsing others’ sentences often feels like I’m filling
    116     in the blanks to make sense of them, like playing a game of [22]Mad Libs.
    117     Over the years, I’ve redirected this into a source of creativity and humor.
    118     Most of my puns and wordplay are happy accidents as I fill in the gaps in
    119     my own listening comprehension. Some of my most creative ideas are things I
    120     swear I heard someone say when it turns out they were actually talking
    121     about something else
    122   • I’m a really bad learner—disinterested, distractible, and disagreeable.
    123     I’ve never enjoyed learning and generally avoid it, especially learning for
    124     its own sake. At the slightest discomfort when struggling to understand
    125     something, I’ll grasp for any distraction that might offer me a momentary
    126     escape. When I do manage to get traction, I inevitably find myself
    127     disagreeing with the premise or subversively trying to prove the authors
    128     wrong. The upshot is that once I actually do learn something, I know it
    129     cold. It means I will have scoured every nook and climbed out of every
    130     pitfall. Professionally, this apparent weakness has turned out to be a
    131     superpower. Learning everything the hard way has made me a natural
    132     consultant and mentor. Because I’ve already explored all the wrong paths, I
    133     often know someone is stuck before they do, understand what threw them off
    134     course, and show them how to get back on track
    135 
    136 The reason I landed on this topic today is not that any of the above makes me
    137 special, it’s actually that contradictions like these—whatever their origin—are
    138 so typical among programmers born before 1990 that they’re entirely mundane.
    139 
    140 [23]An aberrant generation of programmers
    141 
    142 Squint and everything I just said about myself could have described a character
    143 from [24]The Big Bang Theory or [25]Silicon Valley. I’m at peace with the fact
    144 that on my best days, I’m an overplayed, abrasive character trope come to life.
    145 For decades, we’ve associated a slew of mostly-negative traits like these with
    146 programmers as if the linkage is inherent and inevitable. I’ve always thought
    147 that stereotype was arbitrary—anybody can learn programming and be great at
    148 it—but now I’m starting to think it’s a product of our times as well.
    149 
    150 That is to say, I’ve come to believe the era typified by the enthusiast
    151 programmer—autodidactic, obsessive, and antisocial—is drawing to a close.
    152 
    153 Why do I think that? Because there was a specific, generational moment that
    154 attracted a bunch of people like me into the software industry. It occurred
    155 during the brief window between home computers becoming widely available and
    156 their becoming sealed airtight by platform holders. For a fleeting moment,
    157 computers were simultaneously accessible and scrutable during a necessary but
    158 temporary stage in the maturation of information technology. Before they were
    159 rendered irreducibly complex as consumer devices, merely using a computer
    160 required figuring out a lot about how it worked. And coming of age with an
    161 understanding how computers worked made programming them far more approachable.
    162 And thanks to cosmic coincidence and the marketing teams of companies like
    163 RadioShack, society unwittingly handed a generation of social mobility to [26]
    164 the boys of upper-middle-class families in the US who felt more comfortable at
    165 home with their computer than outside engaging socially with their peers. I was
    166 definitely one of those awkward, anxious kids and a whole lot of the
    167 programmers I’ve met along the way were too.
    168 
    169 But one reason to believe that programmers don’t have to be like this is that
    170 programmers weren’t always like this. I remember asking a computer science
    171 professor in 2003 about our school’s gender disparity (we only had a single
    172 woman in my class, and she later switched majors). He recounted that before
    173 1990 and the advent of hacker and gamer subcultures, my college touted robust
    174 majorities of women in computer science. (Nationally, women’s enrollment in CS
    175 doubled in a decade, [27]peaking at 37.1% nationally in 1984 before dropping
    176 precipitously.)
    177 
    178 And one reason to believe programmers won’t always be this way is that there’s
    179 plenty of evidence that the next generation of professional programmers is no
    180 longer dominated by enthusiasts. People becoming software developers today look
    181 markedly different than those who came before. (Sadly, I wish I could say I’m
    182 referring to the success of movements to increase representation from
    183 traditionally marginalized groups—tech is still dramatically over-indexed on
    184 white dudes who enjoyed affluent upbringings.) I’m just pointing to all the
    185 money sloshing around here: it catapulted programming from a firmly middle
    186 class job that appealed to people who really loved computers into a comfortably
    187 upper-middle class profession that attracts anyone who wants to secure their
    188 financial future. Ask anyone who switched careers in the last decade how many
    189 times someone suggested they “learn to code.” Countless people are entering the
    190 industry simply because programming is a relatively secure, well-paying
    191 profession. (And there’s nothing wrong with that!)
    192 
    193 [28]Inter-generational conflict is brewing
    194 
    195 I’m not sure if anyone has ever said “OK boomer” to my parents, but I can
    196 imagine it wouldn’t feel awesome to hear.
    197 
    198 Nor do I know whether anyone will coin a term to dismiss my generation, but I
    199 have faith that there’s enough societal exasperation out there for someone on
    200 TikTok to come up with something snappy. A lot of people in my professional
    201 cohort still see themselves as social outcasts who grew up in front of a CRT in
    202 their parents’ basements, but I suspect the next generation sees a homogenous
    203 monolith of 40-somethings wearing hoodies and sandals (with socks!) that lucked
    204 their way into capturing control of the software industry just as it settled
    205 into a state of economic maturity.
    206 
    207 Sit with this distinction for a while, and you might start to see these old-hat
    208 programmers as belonging to an Enthusiast Generation, one that—due to its
    209 unique initial circumstances—is unlikely to be replicated. Once I introduced
    210 the word “generation” to my thinking, it became easier to make sense of many
    211 contentious, unresolved issues in tech that flared up over the past decade by
    212 looking at them through the lens of intergenerational conflict. And just like
    213 any discussion of generations, it’s important to caveat that there are no firm
    214 boundary lines, that exceptions are plentiful, and that many observations will
    215 be isolated to a single locale and culture (the U.S. in this case, maybe
    216 Canada?). The only thing that bucketing people into generations can do for us
    217 is provide a new way to look at how a population may be changing, thanks to a
    218 big enough time-step to perceive the accumulation of decades of gradual change.
    219 
    220 To illustrate, I’ll highlight three high-profile conflicts that make a
    221 different kind of sense when viewed as a generational shift.
    222 
    223 [29]Passion
    224 
    225 I remember about 8 years ago, people [30]got [31]passionate [32]about [33]the 
    226 [34]word [35]passion.
    227 
    228 This rubbed me the wrong way at first. Then again, everything does.
    229 
    230 I remember thinking, “banning the word ‘passion’ will just lead people to pick
    231 others like ‘self-driven’, ‘highly-motivated’, and ‘ambitious’.” I remember
    232 asking, “are we supposed to screen out candidates for whom programming is a
    233 hobby outside work?” What I don’t remember was pondering whether this was an
    234 indication that the times were changing.
    235 
    236 When I entered the industry, my salary was lower than it would’ve been if I’d
    237 gone into accounting, or become an actuary, or majored in civil
    238 engineering—myself and most of the people around me did get into software
    239 because we were passionate about it. Reading tweets and thinkpieces that
    240 suggested “passion” was a four-letter word felt like a personal affront, so I
    241 responded defensively.
    242 
    243 What I wasn’t thinking about was what it must have felt like for everyone who
    244 entered the industry expecting their job to be a job but who found themselves
    245 managed by people from my generation who didn’t leave them room to have a life
    246 outside work. Maybe everyone else on the team worked overtime without being
    247 asked. Maybe taking “too much” supposedly “unlimited” time off would foreclose
    248 any chance for a promotion. Maybe building rapport at lunch required holding
    249 evolved opinions on Emacs vs. Vim, or mechanical key switches, or whatever was
    250 on the front page of Hacker News. That sounds like a pretty miserable
    251 existence, especially if programming isn’t what gets you out of bed in the
    252 morning.
    253 
    254 If you allow for the possibility we’re undergoing a generational change, maybe
    255 this debate over “passion” is evidence that the assumption that most
    256 programmers will always be passionate about programming was mistaken and
    257 counter-productive.
    258 
    259 [36]Craftsmanship
    260 
    261 This brings another contentious word to mind: “craftsmanship.” Its origin, as I
    262 witnessed it, was a reaction to the watering down of the technical aspects of
    263 the agile software movement in the late 2000s in favor of more lucrative
    264 soft-skills training and consulting services. In case you missed it, most of
    265 the craftsmanship meme could be summed up as a Slow Code movement. There was a
    266 lot of talk about measuring twice and cutting once, establishing apprenticeship
    267 programs to train new programmers, and a million ways to leverage automated
    268 tests for purposes other than testing things.
    269 
    270 I was an active participant in this community, speaking at the [37]conference
    271 several times, putting [38]my name on the manifesto, and generally exhorting
    272 anyone who would listen to please make their software less terrible.
    273 
    274 But looking back, the craftsmanship movement wasn’t only about rekindling the
    275 tremendous engineering insights of agile methods like [39]Extreme Programming,
    276 it was also a response to a rapid influx of a generation of programmers who
    277 didn’t care about code quality the same way we did. There was a sense that
    278 serious programmers were under threat and hopelessly outnumbered by unserious
    279 ones. That if your team didn’t get more disciplined about what you allow in
    280 your codebase, you’d find yourself mired in a maze of complexity, beholden to
    281 epochal build times, and left holding the bag with yet another legacy system.
    282 
    283 Thinking about this point of tension as another manifestation of the
    284 generational shift we’re experiencing, it’s easy to spot the problem: “what you
    285 allow in your codebase” is a wee bit too easy to conflate with “who you allow
    286 in your codebase.”
    287 
    288 Shibboleths like “test-driven design” were so numerous that, to outsiders, even
    289 perfunctory conversations were riddled with rhetorical land mines. The emphasis
    290 on apprenticeship also carried assumptions nobody seriously grappled with: that
    291 it implied “one true path” to programming, that somebody (us) had uniquely
    292 figured it out, and that the only way to learn it was to imitate the people who
    293 came before you. I watched more than one conference talk advocating for
    294 professionalizing software like any other trade by licensing programmers just
    295 like we do plumbers, electricians, and [40]Canadian engineers. Everyone’s
    296 intention was to prevent people from writing bad software, but some of the
    297 movement’s prescriptions would have prevented many people from writing software
    298 at all.
    299 
    300 [41]10x Developers
    301 
    302 Before you say anything, I know [42]you [43]probably [44]already [45]have [46]
    303 an [47]opinion [48]on [49]the [50]idea of a “10x” developer. If you aren’t
    304 familiar, the term refers to debatably-mythical programmers whose output is
    305 worth that of ten other programmers. What aspects of that output? Which ten
    306 other programmers? Unclear.
    307 
    308 The concept behind the “10x” term predates either of the generations of
    309 programmers being discussed here. It seems to have originated in [51]this
    310 (flimsy) 1968 study that among experienced programmers, the best were ten times
    311 more productive than the worst (as opposed to the average). We remember it
    312 because it was referenced in the late Fred Brooks’ seminal [52]Mythical
    313 Man-Month.
    314 
    315 That some people are better at their jobs than others is (usually)
    316 uncontroversial. At least, it was, until it bubbled up in The Discourse during
    317 the 2010s as a flashpoint over who the industry chooses to valorize, often
    318 sparked by tweets from people affiliated with venture capital and advocating
    319 that founders should strive to “only hire 10x developers.”
    320 
    321 In response, many people who reasonably identified this framing as unproductive
    322 chose to pick a weird fight by claiming that 10x developers don’t exist
    323 instead. This invited a lot of counter-criticism, as I think most of us can
    324 dream up examples of people whose work is 1/10th as valuable as their own. From
    325 there, the conversation shifted to counter-counter-critiques enumerating the
    326 adverse knock-on effects of adding a toxic actor to a team, no matter how much
    327 of a ninja/rockstar they are at coding.
    328 
    329 And it was here that the conversation settled into a stalemate, with clear
    330 battle lines dividing the two camps. On one side were proponents who believed a
    331 lot of well-compensated programmers aren’t very good, but that a few
    332 programmers are so good that the value they generate far exceeds the range of a
    333 typical payscale (which was why Google used to brag that they “[53]pay unfairly
    334 ”). On the other side were critics who were more than happy to project every
    335 negative stereotype about programmers onto these supposedly hyper-productive
    336 ones, suggesting a 10x developer’s easy-to-measure output often came with
    337 hard-to-measure organizational and technical costs.
    338 
    339 But now, looking back, this debate would have gone a lot differently if we’d
    340 considered it through the valence of inter-generational conflict.
    341 
    342 I’ll come clean: do I believe some programmers are at least an order of
    343 magnitude better at programming than others? In my experience … yes. I’ve
    344 worked with programmers who routinely solve problems in minutes after I’ve
    345 wasted days or weeks on them. I’ve witnessed a programmer singlehandedly build
    346 something in a day that an entire team struggled to deliver in two
    347 weeks—without any of the catastrophic antisocial, unsustainable downsides one
    348 might imagine. I’ve honestly seen more socially corrosive behavior from the
    349 other end of the productivity spectrum, because programmers who spin their
    350 wheels and make zero forward progress for days, weeks, or months will
    351 inevitably scramble for a way to save face.
    352 
    353 It may be uncomfortable to admit, but it’s not altogether unreasonable to
    354 speculate that enthusiast programmers may, in aggregate, outperform
    355 professional programmers who hang up their keyboard at the end of each shift.
    356 In my experience, these traits differentiate the former from the latter:
    357 
    358   • Tireless: spending more time practicing programming—not under coercion to
    359     work long hours, but being intrinsically motivated to do so—will generally
    360     make someone a better programmer
    361   • Tenacious: chasing down answers with limitless curiosity and relentless,
    362     no-holds-barred tenacity—whether or not it’s in their job description to
    363     spelunk open source stack traces or debug other teams’ code—will yield
    364     better information and faster progress
    365   • Thorough: priding oneself on the quality of one’s work and pursuing
    366     excellence in the (brace for it) craft—not falling victim to perfectionism,
    367     but cutting the right corners when necessary—will produce better-working
    368     software that’s easier to maintain
    369 
    370 In the context of this generational rift, all three of the above are
    371 exemplified by (but by no means exclusively limited to) us last-gen models: the
    372 individual that programs in their spare time, obsessively refuses to let a hard
    373 problem go, and is personally invested in the quality of their work product.
    374 
    375 I can’t imagine this dynamic feels awesome for members of the new generation
    376 who don’t want to spend more than 40 hours a week at their computer, or who
    377 have significant family commitments, or who aren’t inclined to asynchronously
    378 ponder refactoring techniques as they run errands. Will they be forever
    379 outpaced by more enthusiastic colleagues for whom “programmer” is an
    380 all-encompassing identity as well a career? I don’t know.
    381 
    382 It’s an uncomfortable conversation because it’s an uncomfortable reality.
    383 
    384 [54]What do we do with this?
    385 
    386 The power of an analogy lies in what it empowers people to do. Envisioning
    387 programmers as belonging to discrete generations who are ushering in a dramatic
    388 transition in the industry can equip us to identify the common threads between
    389 many of the challenges we’re currently facing. It may even enable us to predict
    390 and plan for inevitable difficulties in the future, as more members of the
    391 earlier generation age out.
    392 
    393 Suppose you’ve read this far and you can buy both these arguments:
    394 
    395  1. The next generation of programmers are less likely to be motivated by a
    396     love of programming than the previous generation and may differ in profound
    397     ways as a result
    398  2. Software, as an industry, has structurally organized itself around the
    399     assumption programmers will continue to resemble members of the outgoing
    400     generation
    401 
    402 If so, then you can probably imagine there will be a lot of problems to be
    403 solved here. The hot-button issues we revisited above are already known, even
    404 if we failed to put our collective finger on a common cause at the time. It’s
    405 likely that countless more challenges lie beneath the surface, waiting for the
    406 spark that causes them to boil over. It’s up to us whether we put in the work
    407 to uncover and address these problems proactively.
    408 
    409 Here are a few examples of questions I find myself asking after sitting with
    410 this for a few days:
    411 
    412   • The new generation is more likely to expect structure and support from
    413     human resources and management, whereas the previous generation is more
    414     likely to find active management (e.g. career pathing, coaching,
    415     goal-setting) actually saps their autonomy and intrinsic motivation. Can
    416     organizations effectively cater to the needs of both groups?
    417   • It’s an open secret that the industry has no idea how to teach people to
    418     program. Computer Science degrees famously don’t prepare programmers for
    419     the job of programming, which has always been left as an exercise to the
    420     student to figure out on their own time. If the industry is going to
    421     outlive us enthusiast programmers, will it adopt a sustainable approach to
    422     educating the next generation that doesn’t require people to teach
    423     themselves everything?
    424   • Betting your business on a limitless supply of self-starting,
    425     self-sufficient, self-disciplined candidates seems a lot like investing in
    426     the long-term prospects of fossil fuel extraction. How will companies that
    427     built their cultures around enthusiast programmers adjust to a generation
    428     needing more direction, more support, and more accountability?
    429 
    430 All we know for sure is that time keeps marching forward and change is a
    431 constant, so planning for a future that looks different than the past is
    432 usually time well spent.
    433 
    434 What challenges do you see in this generational transition? [55]Join the
    435 conversation on our N.E.A.T community
    436 
    437 Not a N.E.A.T. community member yet? [56]More info.
    438 
    439 If you enjoyed this piece and want to keep up with what myself and the other
    440 agents are up to, you should check out our [57]monthly newsletter.
    441 
    442 [002]
    443 
    444 [58] Justin Searls
    445 
    446 An icon of a human figure Status
    447     Double Agent
    448 An icon of a hash sign Code Name
    449     Agent 002
    450 An icon of a map marker Location
    451     Orlando, FL
    452 
    453 [59] Twitter [60] Mastodon [61] Github [62] LinkedIn [63] Website
    454 
    455 Related posts:
    456 
    457 [64] How to tell if AI threatens YOUR job
    458 
    459 Can ChatGPT help do your job? If so, how can you be sure AI won't eventually
    460 replace you? Spot whether your job is at risk and what you can do about it.
    461 
    462 An icon of a clock Publish Date
    463     March 14, 2023
    464 An icon of a human figure Authors
    465     [65]Justin Searls
    466 An icon of a paper organzier Categories
    467     [66]Industry
    468     [67]Career
    469 
    470 [68] Never Staff to the Peak
    471 
    472 For a decade, engineering leaders were taught to solve every problem with more
    473 full-time hires. There was always a better solution. Are you ready for it?
    474 
    475 An icon of a clock Publish Date
    476     April 3, 2023
    477 An icon of a human figure Authors
    478     [69]Justin Searls
    479 An icon of a paper organzier Categories
    480     [70]Industry
    481     [71]Leadership
    482 
    483 [72] How my experience as an engineer made me a better recruiter
    484 
    485 How similar are engineers and recruiters? Turns out a lot. A developer turned
    486 recruiter adapted from writing code to recruit those who write code.
    487 
    488 An icon of a clock Publish Date
    489     March 20, 2023
    490 An icon of a human figure Authors
    491     [73]Colleen Leonard
    492 An icon of a paper organzier Categories
    493     [74]Recruitment
    494     [75]Community
    495 
    496 Looking for developers? Work with people who care about what you care about.
    497 
    498 We level up teams striving to ship great code.
    499 
    500 [76] Let's talk
    501 [77]Home [78]Agency [79]Services [80]Careers [81]Blog [82]Contact
    502 [83] Mastodon [84] GitHub [85] LinkedIn [86] Twitter
    503 
    504 [87] 614.349.4279
    505 [88] [email protected]
    506 [89]Privacy Policy
    507 Founded in Columbus, OH
    508 
    509 [90] Test Double
    510 
    511 
    512 
    513 References:
    514 
    515 [1] https://testdouble.com/
    516 [3] https://testdouble.com/
    517 [4] https://testdouble.com/agency
    518 [5] https://testdouble.com/services
    519 [6] https://testdouble.com/careers
    520 [7] https://blog.testdouble.com/
    521 [8] https://testdouble.com/contact
    522 [9] https://blog.testdouble.com/
    523 [10] https://blog.testdouble.com/posts/
    524 [11] https://blog.testdouble.com/authors/justin-searls/
    525 [12] https://sorbet.org/
    526 [13] https://github.com/testdouble/mocktail
    527 [14] https://github.com/testdouble/mocktail/pull/22
    528 [15] https://github.com/paracycle
    529 [16] https://github.com/kddnewton
    530 [17] https://github.com/jez
    531 [18] mailto:[email protected]
    532 [19] https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/#what-makes-me-special
    533 [20] https://www.crowe.com/
    534 [21] https://www.vbulletin.com/
    535 [22] https://en.wikipedia.org/wiki/Mad_Libs
    536 [23] https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/#an-aberrant-generation-of-programmers
    537 [24] https://en.wikipedia.org/wiki/The_Big_Bang_Theory
    538 [25] https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)
    539 [26] https://www.npr.org/transcripts/356944145
    540 [27] https://nces.ed.gov/programs/digest/d12/tables/dt12_349.asp
    541 [28] https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/#inter-generational-conflict-is-brewing
    542 [29] https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/#passion
    543 [30] https://starbreaker.org/blog/programmer-passion-considered-harmful/index.html
    544 [31] https://www.hotjar.com/blog/the-passion-fallacy/
    545 [32] https://web.archive.org/web/20160304021738/http://www.gamasutra.com/view/feature/6523/the_designers_notebook_passion_.php?print=1
    546 [33] https://avdi.codes/the-moderately-enthusiastic-programmer/
    547 [34] https://philippe.bourgau.net/is-there-any-room-for-the-not-passionate-developer/
    548 [35] https://exceptionnotfound.net/passion-not-required-its-ok-to-only-program-for-a-paycheck/
    549 [36] https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/#craftsmanship
    550 [37] https://scna.softwarecraftsmanship.org/
    551 [38] http://manifesto.softwarecraftsmanship.org/
    552 [39] https://en.wikipedia.org/wiki/Extreme_programming
    553 [40] https://engineerscanada.ca/become-an-engineer/overview-of-licensing-process
    554 [41] https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/#10x-developers
    555 [42] https://jasoncrawford.org/10x-engineers
    556 [43] https://web.archive.org/web/20131205042721/https://medium.com/about-work/6aedba30ecfe
    557 [44] https://networkingnerd.net/2019/07/18/i-was-a-10x-engineer-and-im-sorry/
    558 [45] https://www.swarmia.com/blog/busting-the-10x-software-engineer-myth/
    559 [46] https://erikbern.com/2016/01/08/i-believe-in-the-10x-engineer-but
    560 [47] https://a16z.com/2014/07/30/the-happy-demise-of-the-10x-engineer/
    561 [48] https://blog.kenforthewin.com/state-of-the-10x-programmer-in-2018/
    562 [49] https://web.archive.org/web/20230326131816/https://payne.org/blog/the-myth-of-the-myth-of-the-10x-programmer/
    563 [50] https://avichal.com/2011/12/16/focus-on-building-10x-teams-not-on-hiring-10x-developers/
    564 [51] https://dl.acm.org/doi/10.1145/362851.362858
    565 [52] https://en.wikipedia.org/wiki/The_Mythical_Man-Month
    566 [53] https://www.inc.com/jeff-haden/why-google-quietly-uses-power-law-rule-to-pay-its-superstar-employees-unfairly.html
    567 [54] https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/#what-do-we-do-with-this
    568 [55] https://forum.neat.town/t/the-looming-demise-of-the-10x-developer/91
    569 [56] https://testdouble.com/neat
    570 [57] https://testdouble.com/newsletter
    571 [58] https://blog.testdouble.com/authors/justin-searls/
    572 [59] https://twitter.com/searls
    573 [60] https://mastodon.social/@searls
    574 [61] https://github.com/searls
    575 [62] https://linkedin.com/in/searls
    576 [63] https://justin.searls.co/
    577 [64] https://blog.testdouble.com/posts/2023-03-14-how-to-tell-if-ai-threatens-your-job/
    578 [65] https://blog.testdouble.com/authors/justin-searls/
    579 [66] https://blog.testdouble.com/categories/industry
    580 [67] https://blog.testdouble.com/categories/career
    581 [68] https://blog.testdouble.com/posts/2023-04-03-never-staff-to-the-peak/
    582 [69] https://blog.testdouble.com/authors/justin-searls/
    583 [70] https://blog.testdouble.com/categories/industry
    584 [71] https://blog.testdouble.com/categories/leadership
    585 [72] https://blog.testdouble.com/posts/2023-03-20-how-my-experience-as-an-engineer-made-me-a-better-recruiter/
    586 [73] https://blog.testdouble.com/authors/colleen-leonard/
    587 [74] https://blog.testdouble.com/categories/recruitment
    588 [75] https://blog.testdouble.com/categories/community
    589 [76] https://link.testdouble.com/blog-cta-sales
    590 [77] https://testdouble.com/
    591 [78] https://testdouble.com/agency
    592 [79] https://testdouble.com/services
    593 [80] https://testdouble.com/careers
    594 [81] https://blog.testdouble.com/
    595 [82] https://testdouble.com/contact
    596 [83] https://mastodon.social/@testdouble
    597 [84] https://github.com/testdouble
    598 [85] https://www.linkedin.com/company/testdouble
    599 [86] https://twitter.com/testdouble
    600 [87] tel:+16143494279
    601 [88] mailto:[email protected]
    602 [89] https://testdouble.com/privacy-policy
    603 [90] https://testdouble.com/