Samantha Demi Marshall CONTACT - e-mail: hello@pewpewthespells.com - website: https://pewpewthespells.com TECHNICAL SKILLS - Writing - Documentation - Migrating Code Signing Configurations to Xcode 8 - Building Python modules on CircleCI OS X instances - Xcode Build Locations - Managing Build Settings and Avoiding pbxproj Conflicts - Introduction to iOS Development - Linking Objective-C Code - Converting Static Libraries to Dynamic Libraries for iOS - The Xcode Build System - PBXProj Identifiers - OS X, Python, and the readline module - Using Xcode Targets - Codesigning Introspection Commands - Xcode SDKs - Unofficial Guide to xcconfig files - Xcode Build Settings Reference - Xcode DerivedData Hashes - Managing Xcode - Static and Dynamic Libraries - Embedding Content with Swift in Objective-C - Reverse Engineering Fitbit BLE Protocol - Blocking Code Injection on iOS and OS X - Languages - English (Native Language) - Spanish - Japanese - Speaking (on hiatus since 2016) - AltConference (2014, 2015) - Command+R Conference (2014) - MacTech Conference (2013, 2014) - Cocoaheads Boston (2013, 2014, 2015, 2016) - Programming Languages (ranked by proficiency) - Objective-C - C - Nim - Python - Ruby - AppleScript - Groovy - Swift - Go - x86 Assembly - Javascript - C++ - Frameworks - Cocoa (Interfacing with Objective-C, Swift, AppleScript, Python, and Nim) - CocoaTouch (Interfacing with Objective-C and Swift) - CUDA (Interfacing with C) - OpenGL (Interfacing with Objective-C, C, and C++) - Code Projects - pbPlist, an all-purpose plist library written in Python that allows reading and writing of ASCII/NeXTStep Property Lists. - bsl-validator, a interpreter for Bungie Scripting Language (written in C) - nslocalizer, a tool for finding missing and unused NSLocalizedStrings (written in Python) - pyconfig, a DSL for building and managing xcconfig files easily (written in Python using pyparsing) - xcparse, an implementation of the Xcode build system (written in Python) - aosd, a tool for downloading packages available from opensource.apple.com (written in Python) - SDMMobileDevice, Reverse Engineered from Apple's private framework for iOS device management and low level communication - x86engima, World War 2 German Enigma Encryption Machine (written in x86 Assembly) - iOS 5.x and 6.x tethered jailbreak (based on p0sixspwn) - Infrastructure - Build Systems - Xcode (iOS and OS X) - Gradle (Android) - CMake (Multiple architecture and platform configurations) - Make (Multiple architecture and platform configurations) - Autotools (Multiple architecture and platform configurations) - Jenkins - Building custom extensions - Managing build jobs (using Pipelines and Job DSL) - Telemetry & Reporting - InfluxDB + Telegraf + Graphana - ElasticSearch + Logstash/Beats + Kibana - Servers & Containers - Familiar interacting with AWS EC2 - Heavy use of Vagrant and Docker for testing and application deployment WORK EXPERIENCE - Ruby Engineer, Disney Streaming Services, February 2017 to August 2019 - Build & Release Engineering, Supporting Mobile App Development - Maintained CI instances (Jenkins) and developed new interfaces to control build jobs - Migration from Jenkins Job DSL to use Jenkins Blue Ocean and Pipelines - Wrote documentation for internal build tooling and iOS Swift frameworks - Contributed to transition from Carthage to internal tool for handling iOS app dependencies - Constructed internal telemetry for jenkins servers as well as internal application deployment - Mac Developer, Feral Interactive, May 2011 to Present - Oni (Homepage) - Updated deprecated code from PPC to run on Intel platform - Implemented new engine features with collision detection - Updated existing graphic engine to take advantage of modern hardware - Build Engineer, iRobot Corporation, August 2016 to December 2016 - iRobot Home App (App Store) - Maintained CI instances (Jenkins) for the Software Applications team - Integrated C++, Android, and iOS unit tests with internal CI service (Jenkins) - Automated release procedures for iOS and Android applications - iOS Developer, iRobot Corporation, April 2015 to August 2016 - Ava 500 Control App (App Store) - Implemented new UI and features for an app to control a telepresence robot - Maintained a build server for doing daily builds for internal SQA testing - iRobot Home App (App Store) - Managed build system tooling for the mobile development team - Created on-boarding UI for setup of Braava-Jet - Build System Engineer, CocoaPods Project, September 2014 to Present - CocoaPods (ruby gem) - Assisted with changes to the integration process with Xcode - Debugging issues with third party developers - Mac Developer, Flexibits, May 2014 to July 2014 - Fantastical 2 for OS X (Homepage) - Extensive work with date/time programming - Implemented communications with iCloud CalDAV service - Prototyped implementation of geo-fencing for reminders - iOS Developer, Chaotic Moon Studios/Marvel Studios, September 2013 to April 2014 - Marvel Unlimited (App Store) - Rapid prototyping of client designs - Integration of third party frameworks (audio and video media integration) - iOS Developer, American City Business Journals, August 2012 to December 2012 (internship) - American City Business Journals (App Store) - Extensive UX design on ACBJ mobile app for iOS - Creation of mobile app for iPad - Refactor of existing mobile app code to improve performance - iOS Developer, Survey.com, January 2012 to May of 2012 (internship) - Survery.com (App Store) - Refactored the UI of the iPhone application - Implement new controls for taking surveys in the app