Skip to content

Instantly share code, notes, and snippets.

@a2
Last active June 1, 2024 02:39
Show Gist options
  • Save a2/945f1efbcad41ef044dfd7336eafe0d1 to your computer and use it in GitHub Desktop.
Save a2/945f1efbcad41ef044dfd7336eafe0d1 to your computer and use it in GitHub Desktop.
$ curl -L ancv.io/a2
{
"$schema": "https://raw.githubusercontent.com/alexpovel/ancv/main/schema.json",
"basics": {
"name": "Alex Akers",
"label": "Senior Software Engineer, iOS",
"image": "https://gravatar.com/avatar/4b8ce4d6ede58e229706ca9f1db9bb5c2e2646f42121dc2347f88c871770b412?s=512",
"email": "me@a2.io",
"url": "https://a2.io",
"summary": "Seasoned iOS Engineer with over a decade of experience in developing innovative applications for high-profile companies such as Apple, Twitter, Microsoft, and Facebook. Highly skilled in both Swift and Objective-C, with a strong background in leading critical projects, enhancing user experiences, and mentoring junior engineers. Dedicated to continuous learning and community contributions through open-source projects, conference talks, and mentorship.",
"location": {
"city": "New York City",
"countryCode": "US",
"region": "New York"
},
"profiles": [
{
"network": "GitHub",
"username": "@a2",
"url": "https://github.com/a2"
},
{
"network": "LinkedIn",
"username": "a2x",
"url": "https://linkedin.com/in/a2x"
},
{
"network": "Mastodon",
"username": "a2@social.lol",
"url": "https://social.lol/@a2"
}
]
},
"work": [
{
"name": "Apple",
"location": "New York, NY",
"position": "iOS Engineer",
"website": "https://apple.com",
"startDate": "2022-07-01",
"summary": "On the Wallet and Apple Pay team, I develop and maintain our digital identity services and APIs, including Verify with Wallet and ID Verifier."
},
{
"name": "Twitter",
"location": "New York, NY",
"position": "Senior Software Engineer",
"website": "https://twitter.com",
"startDate": "2021-08-01",
"endDate": "2022-07-01",
"summary": "Contributed towards launch of the Super Follows program on iOS, allowing creators to earn money from their largest fans. Worked on modularization and code cleanup efforts. Shipped a health-related feature and collaborated with the Spaces team on Super Follows Spaces."
},
{
"name": "Microsoft",
"location": "Berlin, Germany and New York, NY",
"position": "Software Engineer 2",
"website": "https://microsoft.com",
"startDate": "2016-12-01",
"endDate": "2021-08-01",
"summary": "[Microsoft Outlook]\nI worked on calendar and time management features (such as appointment scheduling). I also led calendar and mail notifications work, solving high-stakes problems with duplicate notifications and payload decryption issues. I was a mentor to new teammates and a summer intern who later received and accepted a return offer.\n\n[Microsoft To Do]\nI joined post-acquisition Wunderlist team and worked on iOS/macOS clients for the upcoming product replacement. I built features like file attachments and list sharing to help reach parity with Wunderlist. I convinced leadership to ship our existing, native AppKit-powered macOS app over a potential web wrapper to meet Microsoft's strict accessibility standards. Highly proficient in integrating with Apple's assistive technology such as VoiceOver on both iOS and macOS. I mentored two iOS summer interns. (Microsoft Berlin did not have an official engineering internship program.)"
},
{
"name": "Shutterstock",
"location": "Berlin, Germany",
"position": "Software Engineer",
"website": "https://shutterstock.com",
"startDate": "2015-11-01",
"endDate": "2016-12-01",
"summary": "Worked on the contributor (seller) and consumer (buyer) apps for stock photography as a part of a distributed team between the New York and Berlin timezones. Both apps leveraged Core Data for persistence and in-memory caching. I added support for multi-process data flows (e.g. using group containers and user default suites) which enabled me to write a Siri (Intents) extension to search for stock photography, as well as a Share extension for uploading high-resolution imagery asynchronously to be sold on-platform."
},
{
"name": "Facebook",
"location": "New York, NY and London, UK",
"position": "Software Engineer",
"website": "https://facebook.com",
"startDate": "2014-01-01",
"endDate": "2015-09-01",
"summary": "Worked on Rooms mobile codebase and Parse SaaS backend scripts. Focused on building novel interactions, animations and interfaces using Origami Studio and an internal framework that became the open-sourced POP library. Later I became a core team member of React Native, contributing to the framework's open-source readiness. I wrote iOS Native Module registration, which allows JS code to call into native Objective-C/Swift code through the RN bridge via RCT_EXPORT_MODULE."
},
{
"name": "Branch",
"location": "New York, NY",
"position": "Lead Mobile Engineer",
"website": "",
"startDate": "2013-08-01",
"endDate": "2014-01-01",
"summary": "Wrote the mobile iOS client for Potluck, a link-sharing social network enabling friends to discuss online content. Used the MVC design pattern to build a practical, simple yet beautiful app. Wrote a customizable design system that allowed designers to tweak values both in code and in storyboard Ul files in real-time."
},
{
"name": "Foursquare",
"location": "New York, NY",
"position": "hackNY Internship",
"website": "https://foursquare.com",
"startDate": "2013-05-01",
"endDate": "2013-08-01",
"summary": "My summer project involved updating the iOS client app to incorporate new UI design patterns from iOS 7. I quickly learned new APls and worked closely with the design team to polish the app efficiently within constraints of available resourcing."
},
{
"name": "Pandamonia",
"location": "Remote",
"position": "Chief Panda",
"website": "https://pandamonia.us",
"startDate": "2009-12-31",
"summary": "Pandamonia is a creative outlet for me to publish apps for Apple platforms. One such app is Backgammon with Buddies, a beautiful and accessible, multiplayer backgammon game."
}
],
"education": [
{
"institution": "Columbia University",
"area": "Computer Science",
"studyType": "B.Sc.",
"startDate": "2012-01-01",
"endDate": "2013-01-01",
"score": "Incomplete (joined Facebook through the Branch acquisition after freshman year)"
}
],
"publications": [
{
"name": "AddressBook.swift",
"releaseDate": "2014-12-31",
"publisher": "Swift London, London, UK",
"summary": "Spoke about AddressBook.framework in Swift when, at the time, only a C-level API was available.",
"url": "https://www.slideshare.net/pandamonia/addressbookswift"
},
{
"name": "The Other WatchKit",
"releaseDate": "2014-12-31",
"publisher": "NSLondon, London, UK",
"summary": "Discussed the Pebble SDK and watch programming topics before Apple Watch and associated SDK were available.",
"url": "https://www.slideshare.net/pandamonia/the-other-watchkit"
},
{
"name": "Death by Indecision",
"releaseDate": "2015-12-31",
"publisher": "Swift Summit, London, UK",
"summary": "Highlighted how indecision can hinder side projects, emphasizing the need to focus on goals, make decisive choices, and maintain public accountability to avoid perfectionism and rewrites.",
"url": "https://academy.realm.io/posts/alexsander-akers-death-by-indecision/"
},
{
"name": "Accessibility",
"releaseDate": "2016-12-31",
"publisher": "App Builders, Zurich, Switzerland",
"summary": "General overview of Apple platform accessibility features and why it matters that developers adopt them in their apps.",
"url": "https://speakerdeck.com/a2/accessibility"
},
{
"name": "Cross-Platform SpriteKit",
"releaseDate": "2016-12-31",
"publisher": "Mobile Era, Oslo, Norway",
"summary": "Overview of various features of the SpriteKit framework and how developers can leverage them cross-platform across Apple's device line-up.",
"url": "https://speakerdeck.com/a2/cross-platform-spritekit"
},
{
"name": "Disassembly for Fun and Profit",
"releaseDate": "2018-12-31",
"publisher": "NSSpain, Logroño, Spain",
"summary": "Explained disassembly and how developers can see implementation details and hidden functionality. Led a related workshop going in-depth into the private Sharing framework.",
"url": "https://vimeo.com/album/4786409/video/234801463"
},
{
"name": "Advanced Collection Views with Custom Layouts",
"releaseDate": "2018-12-31",
"publisher": "MobOS, Cluj-Napoca, Romania",
"summary": "Taught a workshop on how collection view layouts work under-the-hood and how to write a custom layout to express a unique design."
},
{
"name": "iOS: 10 Years in Review",
"releaseDate": "2018-12-31",
"publisher": "App Builders, Lugano, Switzerland",
"summary": "Celebrating the 10th anniversary of the iOS SDK, explored the history of iPhone and its SDK through some key features and innovations that contributed to the evolution of software development as we know it.",
"url": "https://www.youtube.com/watch?v=doe06IAphJs"
},
{
"name": "Siri and SiriKit: an Intents Topic",
"releaseDate": "2018-12-31",
"publisher": "Swift Alps, Crans-Montana, Switzerland",
"summary": "Workshop covering SiriKit's component parts, the Intents and IntentsUl frameworks, as well the two relevant app extension types. Worked with attendees throughout the day on integrating Siri support into their own projects.",
"url": "https://theswiftalps.com/"
},
{
"name": "Entwicklung eines barrierefreien Spiels",
"releaseDate": "2019-12-31",
"publisher": "Macoun, Frankfurt am Main, Germany",
"summary": "[English]\nMy first-ever talk in German about developing an accessible game. Case study was my app, Backgammon with Buddies.\n\n[Deutsch]\nIch habe einen Vortrag auf Deutsch (zum ersten Mal) über die Entwicklung eines von mir gemachten barrierefreien Spiels gehalten.",
"url": "https://macoun.de/video2019/ts5.php"
}
],
"awards": [
{
"awarder": "hackNY",
"date": "2013-12-31",
"summary": "This program connects university students and new graduates with NYC-based startups. It provides mentorship, networking opportunities, and hands-on experience in the tech industry, aiming to foster the next generation of tech innovators.",
"title": "hackNY Fellowship"
}
],
"skills": [
{
"name": "Apple platform development in Swift and Objective-C",
"level": "Master"
},
{
"name": "UI frameworks and their interactions with lower-level frameworks",
"keywords": [
"UIKit",
"AppKit",
"SwiftUI",
"CoreGraphics",
"CoreAnimation"
],
"level": "Master"
},
{
"name": "Location awareness in apps",
"keywords": [
"CoreLocation",
"MapKit"
],
"level": "Advanced"
},
{
"name": "Data persistence",
"keywords": [
"CoreData",
"sqlite"
],
"level": "Master"
},
{
"name": "Testing frameworks",
"keywords": [
"XCTest",
"XCUITest"
],
"level": "Advanced"
},
{
"name": "Third-party FRP frameworks",
"keywords": [
"RxSwift",
"RxCocoa"
],
"level": "Intermediate"
},
{
"name": "Data serialization techniques",
"keywords": [
"JSON",
"Protocol Buffers",
"MessagePack"
],
"level": "Advanced"
},
{
"name": "Package managers and build systems",
"keywords": [
"CocoaPods",
"Carthage",
"SwiftPM"
],
"level": "Advanced"
},
{
"name": "Scripting languages",
"keywords": [
"Bash",
"Ruby",
"Python"
],
"level": "Intermediate"
},
{
"name": "Web, mobile, and open-source experience for over 10 years"
},
{
"name": "Modern source control and team-based workflows",
"keywords": [
"Git",
"Mercurial (Hg)",
"Jira",
"GitHub"
],
"level": "Advanced"
},
{
"name": "Speaker at various international conferences and meet-ups"
}
],
"languages": [
{
"language": "English",
"fluency": "Native"
},
{
"language": "Spanish",
"fluency": "Advanced Beginner (A2)"
},
{
"language": "French",
"fluency": "Intermediate (B1)"
},
{
"language": "German",
"fluency": "Intermediate (B1)"
},
{
"language": "American Sign Language",
"fluency": "Beginner"
}
],
"projects": [
{
"name": "JavaPay (formerly PebbleBucks)",
"startDate": "2015-12-31",
"endDate": "2015-12-31",
"description": "Formerly PebbleBucks, JavaPay provided a native Starbucks payment experience on the Pebble smartwatch platform. It had the ability to fetch card details for Starbucks users from their online accounts; this functionality was removed at their request. Written in C and JavaScript.",
"url": "https://github.com/a2/javapay"
},
{
"name": "TrollDropKit",
"startDate": "2016-12-31",
"endDate": "2016-12-31",
"description": "Built on top of Apple's private Sharing framework, TrollDropKit and the related TrollDropPlayground projects created a fun, abeit undocumented, way to share the joy of the troll-face meme with nearby AirDrop participants. (Note: Apple later patched sharingd to allow only entitled processes to initiate sharing operations.)",
"url": "https://github.com/a2/TrollDropKit"
},
{
"name": "Backgammon with Buddies (Pandamonia)",
"startDate": "2019-12-31",
"url": "https://backgammon.pandamonia.us"
}
],
"meta": {
"ancv": {
"dec31_as_year": true
},
"canonical": "https://gist.github.com/a2/945f1efbcad41ef044dfd7336eafe0d1/raw/resume.json",
"version": "1.0.11",
"lastModified": "2024-06-01T02:39:04Z"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment