Jon Reid

Jon Reid Email and Phone Number

Senior Software Engineer @ Walmart Global Tech
San Jose, CA, US
Jon Reid's Location
San Jose, California, United States, United States
Jon Reid's Contact Details

Jon Reid personal email

n/a

Jon Reid phone numbers

About Jon Reid

My expertise in test-driven development and other leading technical practices for iOS can bring impacting change to your organization.Having over 20 years of work experience in the Apple ecosystem, I have developed strong proficiency in unit testing, test-driven development, and refactoring — all in service to shipping quality features while keeping the cost of change low. While working on the Garage feature for eBay Motors, the team lead wrote: “I’ve never seen anyone refactor the large codebase that we had and contribute to new features at the same time.” I have since gone on to write the book iOS Unit Testing by Example: XCTest Tips and Techniques Using Swift.My iOS app experience includes eBay Motors, eBay Fashion, eBay Instant Sale, Amex, Skype, Skype Qik, and Industrial Logic Games.In my previous role at American Express, I not only shipped features on their flagship app — but I also advanced testing practices across the 30-person iOS team while doing so. I coached iOS engineers in refactoring for testability, and personally eliminated several thousand lines of dead code. And I delivered presentations to the iOS team, the mobile team, and the entire CTO organization to promote technical agile practices such as story slicing. I can see myself doing these same things at eBay.In my current role at Industrial Logic, I have increased collaboration in cross-functional teams, increased flow, reduced waste, led retrospectives, and leveled up the technical skills of the developers at companies such as Ford, Starbucks, and Royal Bank of Canada. A workshop I developed for Ford led their UK iOS team through a series of hands-on exercises, culminating in refactoring UIKit code to SwiftUI protected by a safety net of cheap, fast-running unit tests on the view code itself. (Most developers, including those at Apple, are not aware of this ability and choose to use expensive, slow-running UI tests.)I am passionate about two things: reducing the cost of change, and increasing developer joy.“I've never seen anyone refactor the large code-base that we had and contribute to new features at the same time.” — eBay“Jon teaches a very practical, hands-on approach on how to implement TDD and write quality testable code. He fills a huge void in the iOS community when it comes to unit-testing and quality.” — Alaska Airlines“Jon helped us with our actual codebase, impressing me with his skill of making impacting code changes on a large codebase he had just seen.” — ABN AMRO Bank(Head shot by Rob Sirota Photography, https://robsirotaphotography.com)

Jon Reid's Current Company Details
Walmart Global Tech

Walmart Global Tech

View
Senior Software Engineer
San Jose, CA, US
Jon Reid Work Experience Details
  • Walmart Global Tech
    Senior Software Engineer
    Walmart Global Tech
    San Jose, Ca, Us
  • Industrial Logic, Inc.
    Senior Consultant, Technical Agile Coach
    Industrial Logic, Inc. Apr 2021 - Present
    Berkeley, Ca, Us
    ClassDojo: Wrote over 100 unit tests to cover the most fragile code in their iOS app, making changes “so easy and stress-free.” Paired with each iOS developer to improve their skills in test-writing and collaboration.Starbucks: Developed training in technical agile practices for their company-wide learning center. Trained programmers in code smells, refactoring, unit testing, test-driven development (TDD), characterization testing, mutation testing, test doubles, and evolutionary design.Ford: Coached Ford Pro Telematics teams and the FordPass iOS platform team, improving their ability to deliver. Upskilled UK iOS developers in a hands-on workshop involving factoring a codebase from legacy UIKit to high-quality, test-driven SwiftUI.Royal Bank of Canada, Ford, Superhuman: Grew the testing and refactoring skills of their iOS developers through hands-on workshops.Heartland Payment Systems: Rewrote their point-of-sale app from Objective-C to React Native on an Extreme Programming (XP) team, enabling their clients to shift from large, expensive iPads to handheld Android devices.
  • The Pragmatic Programmers
    Author Of Ios Unit Testing By Example
    The Pragmatic Programmers Jun 2020 - Present
    Raleigh, North Carolina, Us
    Fearlessly change the design of your iOS code with solid unit tests. Use Xcode’s built-in test framework XCTest and Swift to get rapid feedback on all your code — including legacy code. Learn the tricks and techniques of testing all iOS code, especially view controllers (UIViewControllers), which are critical to iOS apps. Learn to isolate and replace dependencies in legacy code written without tests. Practice safe refactoring that makes these tests possible, and watch all your changes get verified quickly and automatically. Make even the boldest code changes with complete confidence.
  • Quality Coding
    Technical Agile Coach, Author, Tdd Trainer, Test Tool Creator
    Quality Coding Jan 2008 - Present
    San Jose, Ca, Us
    Alaska Airlines, ABN AMRO Bank, Achmea, Egencia, E-gineering, Simple banking: Taught hands-on workshops giving their iOS developers experience in test-driven development. Everyone is surprised to learn that you can test user interface code with cheap, fast-running unit tests instead of expensive, slow-running UI tests.ABN AMRO Bank, Achmea, Homie Real Estate: Gave technical coaching to improve their Xcode project configurations for faster build and test feedback, and ways to bring their hard-to-test code under test.Synchrony Financial: Delivered custom workshop to teach their iOS developers how to write effective unit tests.Created open-source tools for developers: PyHamcrest, OCHamcrest, OCMockito, ViewControllerPresentationSpy, XcodeWarnings, ApprovalTests.Swift, ExpectToEventuallyEqual, TCR-Xcode.Taught workshops and gave presentations at numerous conferences in Europe, Japan, and the USA.Writing articles on technical agile practices for iOS developers at qualitycoding.org
  • American Express
    Senior Ios Engineer
    American Express Aug 2016 - Mar 2021
    New York, Ny, Us
    Advanced testing practices across the iOS team. Unit tests increased from around 3,200 to over 22,000. Worked with iOS engineers to make production code more decomposed and testable, and to improve their test code.Shipped well-factored, well-tested features with pleasing UI and few defects. Negotiated API details to ensure the back-end supplied the needs of the iOS and Android use cases. Shipped sooner thanks to close collaboration with UX designers, and with fewer defects thanks to TDD.Diagnosed a hard-to-reproduce race condition in biometric login by measuring the problem in production. Advocated for allowing customers to manually initiate biometric authentication, which solved the problem.Reduced maintenance costs by eliminating several thousand lines of dead code. Made it harder to ship defects by adding modern type annotations to Objective-C code to improve Swift type safety..Presentations: “Making Swift Mock Objects More Powerful” / “Intro to Test-Driven Development” / “Walking Skeletons and Story Slicing” / “Story Slicing, Part 2” / “Remote Pair Programming” / “How to Sit (Ergonomics)”
  • Skype
    Senior Software Engineer
    Skype Jun 2015 - Jul 2016
    Redmond, Wa, Us
    Dramatically reduced build times for all iOS developers. Made it harder to ship defects by initiating unit testing at the UI layer.Ported video messaging features from the Skype Qik app to the flagship Skype iOS app, using AVFoundation to record and play back video messages.Shipped ability to open documents sent via Skype app, promoting installs of Microsoft apps to open Office documents.
  • Facebook
    Software Engineer
    Facebook May 2014 - May 2015
    Reduced maintenance costs in the Facebook iOS code by reducing unneeded dependencies between components.Exposed maintenance costs in the Instagram iOS code by making dependencies explicit.Taught testing workshops to new engineering hires across the company.Taught “Intro to Test-Driven Development” and “Testing Philosophy, or How I Learned to Stop Worrying and Love TDD”
  • Ebay
    Member Of Technical Staff
    Ebay Oct 2010 - May 2014
    San Jose, Ca, Us
    eBay Instant Sale app: Built from the ground up, working with the Instant Sale team and the external vendor.eBay Fashion app and eBay Motors app: Shipped features sooner thanks to close collaboration with UX designers, and with fewer defects thanks to TDD.Taught TDD to new engineering hires across the company.Presentations: “Clean Architecture for iOS” to eBay’s developers in Berlin / “Zen Programming” / “Xcode TDD 101” / “Why You SHOULDN’T Unit Test” / “TDD from Hell” / “Test-Driven Development for Mobile Apps” / “Objective-C Code Dojo” / “Intro to Test-Driven Development”
  • Paypal (Ebay Inc.)
    Senior Software Engineer
    Paypal (Ebay Inc.) Feb 2010 - Oct 2010
    San Jose, Ca, Us
    Fixed PayPal code to comply with new OS and C++ compiler on major cross-company upgrade initiative.
  • Microsoft
    Software Development Engineer
    Microsoft Dec 2009 - Feb 2010
    Redmond, Washington, Us
    Built Mac Outlook “mini calendar” from the ground up.
  • Data Robotics
    Software Engineer
    Data Robotics Jun 2009 - Dec 2009
    Sunnyvale, California, Us
    Internationalized Drobo Dashboard across Mac and Windows. Localized the application for Japanese, French and German, enabling cross-platform entry into the world market.
  • Adobe Systems
    Computer Scientist
    Adobe Systems Feb 2007 - Feb 2009
    San Jose, Ca, Us
    Created cross-platform tool to measure perceptual differences between images to help determine whether a difference is benign or an error.Extended standard Python unit testing framework so it could be used within a system not designed for unit testing. Used it to write tests for 2D rendering library.Wrote test harness for 2D rendering library, setting it up to check for perceptual differences in images rendered on both Mac and Windows.Taught test coding principles and promoted unit testing, resulting in the developers adopting a unit testing framework.
  • Apple
    Senior Software Engineer
    Apple Aug 2005 - Jan 2007
    Cupertino, California, Us
    Worked on UI elements of iWork suite and iWeb.
  • Adobe Systems
    Software Engineer
    Adobe Systems Apr 2005 - Jul 2005
    San Jose, Ca, Us
    Wrote cross-platform test harness for font management library.Added new C++ iterator types to open-source Adobe Source Libraries (ASL).
  • Adobe Systems
    Computer Scientist
    Adobe Systems Mar 1998 - Nov 2003
    San Jose, Ca, Us
    Demonstrated and promoted good design principles and programming practices. Gave presentation to entire division promoting iterative development.Implemented a C++ unit-testing framework so that developers could start writing unit tests.Developed architecture for cross-platform UI library that supported transition from old to new design on a dialog-by-dialog basis.Illustrator 10: Developed string localization library.
  • Claris
    Software Engineer
    Claris Apr 1996 - Feb 1998
    Sunnyvale, California, Us
    Shipped HTML export on ClarisWorks for Mac.Added support for Japanese HTML export in ClarisWorks 5.0-J.Shipped ability to export Japanese tables to HTML.Extended ClarisWorks cross-platform file format to support new 5.0-J functionality.
  • University Of Illinois At Urbana-Champaign
    Research Programmer
    University Of Illinois At Urbana-Champaign May 1994 - Mar 1996
    Champaign, Il, Us
    Developed GUI for High-Performance Fortran performance analysis source code browser.
  • Control Enterprises Incorporated
    Programmer
    Control Enterprises Incorporated May 1993 - Apr 1994
    Reduced development time for client projects by creating C++ library for database access, container classes, character strings, input of arguments through either GUI or command line, and shareware licensing.
  • University Of Illinois At Urbana-Champaign
    Research Assistant
    University Of Illinois At Urbana-Champaign Nov 1992 - Apr 1993
    Champaign, Il, Us
    Internationalized XEmacs providing Asian language capability for Sun Microsystems.
  • Tohoku Gakuin University
    Lecturer
    Tohoku Gakuin University Aug 1988 - Jul 1991
    Installed TeX and LaTeX on VAX/VMS. Taught LaTeX to professors.Developed Japanese-capable version of Donald Knuth's literate programming tools.Taught beginner programming lab to university students.
  • Tinwisle Corporation
    Programmer
    Tinwisle Corporation Feb 1986 - May 1988
    Developed database applications for clients. Reduced development time by creating code template generator.
  • Micro Data Base Systems
    Programmer
    Micro Data Base Systems May 1984 - May 1986
    Developed customer tracking and billing system.

Jon Reid Skills

Agile Methodologies Objective C Software Engineering Xcode Software Development C++ Ios Development Ios Mobile Applications Python Test Driven Development Design Patterns Mobile Devices Cocoa User Interface Testing Oop Xml Unit Testing Distributed Systems Git Tdd Test Automation Open Source Object Oriented Design Unicode Programming Internationalization Mac Os User Interface Design Object Oriented Programming

Jon Reid Education Details

  • University Of Illinois Urbana-Champaign
    University Of Illinois Urbana-Champaign
    Computer Science
  • Purdue University
    Purdue University
    Computer Science
  • The American School In Japan
    The American School In Japan

Frequently Asked Questions about Jon Reid

What company does Jon Reid work for?

Jon Reid works for Walmart Global Tech

What is Jon Reid's role at the current company?

Jon Reid's current role is Senior Software Engineer.

What is Jon Reid's email address?

Jon Reid's email address is jo****@****mac.com

What is Jon Reid's direct phone number?

Jon Reid's direct phone number is +165022*****

What schools did Jon Reid attend?

Jon Reid attended University Of Illinois Urbana-Champaign, Purdue University, The American School In Japan.

What skills is Jon Reid known for?

Jon Reid has skills like Agile Methodologies, Objective C, Software Engineering, Xcode, Software Development, C++, Ios Development, Ios, Mobile Applications, Python, Test Driven Development, Design Patterns.

Free Chrome Extension

Find emails, phones & company data instantly

Find verified emails from LinkedIn profiles
Get direct phone numbers & mobile contacts
Access company data & employee information
Works directly on LinkedIn - no copy/paste needed
Get Chrome Extension - Free

Aero Online

Your AI prospecting assistant

Download 750 million emails and 100 million phone numbers

Access emails and phone numbers of over 750 million business users. Instantly download verified profiles using 20+ filters, including location, job title, company, function, and industry.