Nicholas HallahanSoftware Engineer
Santa Cruz, CA
Maps Platform Software Engineer, Apple, Inc.
Cupertino, CA - 2017-2021
At Apple, I worked on both the OpenStreetMap team, as well as the internal macOS map editing application for Apple-curated data.
OpenStreetMap - 2017-2018
- Built internal plugins for the JOSM OSM editing application.
- Built the DAG-based data processing pipeline application using Apache Airflow and React. This is the primary application Apple uses to ingest OSM data into Apple Maps.
- Contributed to the open-source OpenStreetMap data processing library atlas .
- Supported editing team with custom POSM deployments.
Map Editor - 2018-2021
- Built full editing support of POIs.
- Implemented support for rendering and interacting with the Mapbox Vector Tile format for visualization of large datasets.
- General Swift code-base maintenance.
- Support for various other internal data formats.
My team's application is currently being used by thousands of map editors and analysts on a daily basis. I have a deep understanding of how map data works, particularly regarding human editing, automated topological correction, and the transformation and conflation of data coming from different sources.
Principal, The Outpost, LLC
Sacramento, CA - 2016
Contracting as a software developer for various GIS clients and software companies. Services include: Cross-Platform C++ Development, Android Development, Documentation, and NodeJS APIs. Continuing support for POSM and OpenMapKit.
Senior Software Developer, Spatial Development International
Seattle, WA – 2014-2016
Developed GIS-centric Android and web applications for clients such as the American Red Cross, the Bill and Melinda Gates Foundation, and other NGOs. Created and maintained tools for both commercial use and the open source community at large:
- Libraries allowing faster rendering of several vector data formats on Leaflet maps.
- APIs and ETLs using NodeJS and PostGIS.
- A fully stateful and permalinked map viewer utilizing AngularJS and Leaflet.
- Dynamic vector tile, GeoJSON, and image tile APIs in NodeJS, cached and scaled on Amazon Web Services.
- Several Android applications.
- Progressed from junior to senior developer.
GIS Intern, Oregon Watershed Enhancement Board
Salem, OR – Summer 2013
Digitized features and details of watershed restoration projects into OWEB's geodatabase using ESRI ArcGIS Desktop 10.1. Digitization was discerned from provided PDFs and imagery alongside written documentation.
Software Engineering Intern, Elemental Technologies
Portland, OR – Summer 2012
Created an Audio Mixer user interface with perceptual relevance that has been integrated into the Elemental Server and Elemental Live video transcoding products. Created an HTML5/Flash Video player that allows sideby-side playback of modern adaptive bitrate streaming technologies in the browser (HLS, HDS, RTMP, FLV).
Web Developer, Sole Proprietor
Portland, OR – 2011-2012
Created AJAX Web Applications. Projects include a logging system for a fitness competition (PSU Rec. Center), an equipment reservations database (A/V), as well as a PDF generating web application for track and field construction measurements.
Audio/Visual Technician, Portland State University
Portland, OR – 2010-2012
Setup and monitored A/V installations for PSU events. Technical assistance for faculty, staff, and students. Checked out equipment for faculty and supported A/V installations in classrooms.
Undergraduate Research Assistant, Portland State University
Portland, OR – 2011
Developed an Eclipse Annotation Plug-In that assisted PhD students with their work regarding the linkage of device driver source code to PDF specifications.
Engineer's Assistant, House of Blues Studio
Encino, CA – 2008-2009
Setup and teardown of recording sessions. Recording console patching and maintenance. Reception and guest hospitality.
Audio Engineer, Freelance
Chicago, IL – 2007-2009
Produced and engineered albums for rock and jazz groups. Recorded and edited audition CDs for classical musicians. Recorded concerts for the Oistrach Symphony Orchestra.
Sound Reinfocement, DePaul University
Chicago, IL – 2006-2008
Setup P.A. and monitors for Jazz Big Bands, Jazz Combos, Composers' Forum, and various other university related performances. Recorded and edited performances.
Oregon State University, College of Earth, Ocean, and Atmospheric Sciences
- Graduate Certificate in Geographic Information Science, 2013
- GPA: 3.96
Portland State University, Maseeh College of Engineering
- Postbac., Graduate Prep., Computer Science, 2012
- GPA: 3.61
- B.S. Music & Sound Recording Technology, Cum Laude, 2008
- Minor in Electronics
- GPA: 3.5
Data & Markup Languages
- Protocol Buffers
Web Frameworks & Tools
- Java Jersey REST Library
- Tilemill & Mapbox Studio
- Esri ArcGIS
GIS Libraries & APIs
- Mapbox GL JS
- MapboxGL Native
- OpenStreetMap Editing API 0.6
- Overpass API
- Tangram ES
- Google Maps (Android)
- Mapbox Android SDK
Version Control Systems
IDE & Text Editors
- Visual Studio Code
- IntelliJ IDEA & Jetbrains IDEs
- Sublime Text
Comfortable administering and operating in Linux command-line environment, knowledge of Linux and some Microsoft system programming.
Build & Package Systems
- Java SWING GUI Toolkit
- Android SDK
- Java Native Interface
- NAN Native Abstractions for Node.js
- Microsoft DDE IPC
- Cocoa / Cocoa Touch
Audio Production Suites
- Avid Pro Tools HD/LE
- Propellerhead Reason
- Apple Logic
- Apple Final Cut Studio
- MOTU Digital Performer
- BIAS Peak
- Ableton Live
Worked with the Intel NUC, Intel Edison, Raspberry Pi, and Beaglebone on various projects.
Built a custom computer case using a CNC Router and CAD/CAM Software, 2012.
Built a custom guitar amplifier based on the 1953 5E3 Fender Tweed Deluxe schematic, 2008.
I am also experienced in the operation and setup professional audio recording sessions. Experience includes using Neve, SSL, and Yamaha recording consoles.