Troy Stephens

Senior Software Engineer

Mountain Lakes, New Jersey, USA
about.meLinkedInGitHubX
troy@coherencelabs.com

Producing well-built, clearly understood systems in the course of relentless, real-world problem-solving has been my focus as a software engineer. I’ve programmed hardware to the metal, developed GNC code for SpaceX’s SuperHeavy booster, contributed 16 years of enhancements to Apple’s AppKit framework, implemented 3D game rendering and art pipelines, built advanced device drivers and a revolutionary HTML+WordPress editor for macOS, and helped app teams troubleshoot complex problems and build new features. I’ve been a conference speaker and mentor to other developers, have enjoyed working with amazing people, and welcome new challenges and opportunities.

Current and Past Work

Founder and Lead Engineer, Coherence Labs, LLC, Austin, TX and Mountain Lakes, NJ January 2022 - present

Revived TypeMetal, updating its WordPress capabilities to support “block mode” content and syncing via the REST API. Developing new features for TypeMetal 3. Contributed new text-handling features such as syntax coloring to the Tower git client.

Senior Flight Software Engineer, SpaceX, Austin, TX April 2021 - December 2021

Developed flight control software for the Starship project’s SuperHeavy booster as part of an incredibly talented team. Sensor interfacing. Guidance, Navigation, and Control. Worked with dedicated, visionary colleagues toward the tremendously exciting goal of opening our next frontier beyond Earth.

Application Frameworks Engineer, Apple, Inc., RemoteMarch 2014 - April 2021

Helped develop OS X 10.10 Yosemite through macOS 12.0 Monterey, contributing to technologies ranging from Collection Views to Tabbed Windows, App Extensions, View and Window Controllers, Storyboards, and AppKit’s Swift API, and presenting at WWDC 2015, 2017, and 2019. Made framework improvements and added features while maintaining mission-critical binary compatibility for major commercial apps. Developed and drove API proposals and peer-reviewed code changes, expanded and improved framework capabilities, maintained unit tests, worked closely with other teams, and helped internal and external developers achieve results.

Founder and Lead Engineer, Coherence Labs, LLC, Wayne, NJ October 2011 - March 2014

Solo work designing, developing, and launching TypeMetal — a groundbreaking semantic HTML editor and WordPress client for macOS. TypeMetal’s unique engine combines a fully editable CSS-styled view with an efficient keyboard interface and precise control over generating sparse, streamlined, modern HTML that greatly exceeds expectations for a visual web content editor.

Application Frameworks Engineer, Apple, Inc., Cupertino, CA April 2002 - October 2011

Extended and enhanced Mac OS X’s Cocoa application frameworks as a software engineer on the AppKit team, helping Apple ship Mac OS X 10.2 Jaguar through 10.7 Lion. Responsible for API design and implementation, cross-functional collaboration with graphics and animation framework layers, and enhancing AppKit’s functionality and performance while maintaining maximal binary compatibility for client applications. Assisted with several successful technology shifts, including 32- to 64-bit and PowerPC to Intel, as well as many iterations of system UI redesign. Helped internal teams and external developers solve problems, transition to new technologies, and leverage application framework paradigms to full advantage. Eight-time speaker at Apple’s World Wide Developer Conference (WWDC) from 2003 through 2011, elucidating topics ranging from view tree animation to performance techniques to audiences of 400+ attendees.

(self-employed), Oakland, CA and Tivoli, NY January 2000 - April 2002

Pursued independent research projects on Mac OS X using the Cocoa (OpenStep) frameworks, including the research, design, and early prototyping of an experimental programming environment. (Related research areas: structure-editing, program comprehension, elucidative programming.) Helped continue my prior molecular physics research, while building a set of frameworks for 3D modeling and rendering work.

Software Engineer, Fox Interactive / Page 44 Studios, San Francisco, CA November 1998 - January 2000

Completed the Radical PlayStation baseball title as Fox Baseball 2001, with a subset of the original art and engineering teams. Provided technical support and art pipeline tools to a team of six artists. Repaired and extended the Radical 3D library and tool set. Developed a graphical VRAM layout tool (using OpenStep Enterprise) to assist with managing texture placement templates. Coded special effects. Reimplemented the “instant replay” system to improve memory-efficiency. Revised the player model vertex transform code to reduce “jitters” caused by cumulative fixed-point errors in the original 3D library code. Coordinated evaluation of new technologies and art tools, including Nichimen Graphics’ Mirai and Alias|wavefront’s Maya.

Software Engineer, Radical Entertainment, Ltd., San Francisco, CA August 1997 - September 1998

Developed the rendering code for the Sony PlayStation version of a PC/PlayStation baseball game, based on an in-house 3D engine that provides basic polygonal rendering and skeletal animation of seamless mesh characters. Implemented realtime retexturing of player meshes, runtime IK/attachment mirroring for handedness, viewspace LOD selection, and a priority allocation system for managing limited main memory and texture VRAM resources. Implemented subdivision rendering to alleviate texture warping. Developed the art build pipeline and custom tools atop an existing art-processing tool base. Worked closely with ten artists and one art director to ensure technical compliance of game art and provide support for in-house tools, including a 3DS Max2 exporter and standalone model viewer. Was offered a lead position to follow this project, but Radical Vancouver closed its San Francisco office in September ’98.

Contract Software Engineer, McGraw-Hill Home Interactive, Redwood City, CA June - July 1995

Prototyped an experimental natural language synthesis engine in C++, designed to generate story narrative based on event data and a set of time-varying grammatical parameters.

Contract Software Engineer, Axonix Corp., Salt Lake City, UT May - June 1994

Co-authored the Windows 3.1 VxD to support an external ISA bus for PC notebooks.

Software Engineer, Compare Data Systems, Los Angeles, CA December 1989 - March 1990

Exercised and documented a plug-in development system for an insurance underwriting package.

Formal Education

Wesleyan University, Middletown, CT August 1993 - May 1997

Bachelor of Arts, May 1997 (Physics Major, 91/100 GPA)
Received “High Honors” for thesis on Molecular Collision Dynamics.
Studied mathematics through differential geometry and analysis, graduate level quantum mechanics and mathematical physics, and computational neuroscience.
Received Bertman prize, Van Dyke award, Roger Brooks Siver scholarship for physics.
Wesleyan Physics Department speaker at Sigma Xi conference, May 1997.
Taught a weekly C programming seminar for physical science students, Spring 1996.
Assisted with experimental and computational molecular physics research. Maintained and operated ring dye lasers, a photomultiplier-equipped spectrometer, and the homebrew C code used to control them and run experiments. Analyzed experiment data and conducted comparison of experiment results with computed cross-sections for vibrotational transfer.

University of California Los Angeles Extension, Los Angeles, CASeptember 1989 - March 1991

Formal coursework in computer science: simulation and modeling, compiler development, formal languages and automata theory, AI, OS design. Independent study in physics.

Skillset

Languages

  • Swift, Objective-C, C++, C, Ruby, Python
  • TypeScript, JavaScript, HTML, CSS
  • Learning: Rust, Go
  • Intel x86, MIPS R3000, NCR 6502, Mathematica, Java, awk, tcsh, Pascal, AutoLisp, AppleScript, and others

Frameworks / Libraries

  • AppKit, WebKit, Core Animation, ImageIO, Core Image, Core Graphics, Core Data
  • OpenGL, Open Inventor
  • 3Dfx Glide, DirectX
  • Microsoft Win16/32 APIs
  • Borland ObjectWindows for C++

Protocols

  • WordPress REST, XML-RPC APIs
  • Elasticsearch REST API
  • X/Ymodem

Platforms

  • macOS, iOS, Linux, OpenStep/Mach
  • Microsoft Windows 3.x/95/98/NT
  • BSD, IRIX
  • Sony PlayStation
  • MS-DOS (IBM PC, Victor 9000)
  • Apple // series

Programming Tools

  • Apple Xcode
  • lldb, gdb
  • git, svn, cvs, GitHub, GitLab, Tower, Bitbucket, Stash
  • Jira, Trac
  • Confluence, GitHubPages, Gollum
  • Bazel, make
  • TextMate
  • emacs
  • Microsoft Visual Studio
  • Microsoft Visual SourceSafe

3D Modeling & Fabrication Tools

  • OpenSCAD, SketchUp
  • Nendo/Wings3D winged-edge modelers
  • Simplify3D (slicing & print management)
  • 3D Studio Max

Art Tools

  • Sketch, Pixelmator, Adobe Photoshop
  • Paint Shop Pro

Past Independent Projects

  • G3: a subset OpenGL implementation with software rasterization and 3Dfx support (C++ and x86 ASM)
  • RayLab: a raytracer (C++, Windows UI)