With over 20 years of commercial experience, and clients such as Manchester United FC and the California State University under his belt, Greg is a specialist in Mac OS and iOS development. His passion for delivering exceptional products have enabled him to become proficient in almost any department of the software development process.
Developed the California State University Video Uploader (The Uploader). The app records video (even up to 2 hours long), compresses it to a standard format and ensures that the upload has substantially low data rates.
Implemented features allowing users to upload video to Amazon's S3 storage using pre-signed multipart URLs through single sign-on with Google OAuth.
Fulfilled full-stack developer role, inheriting code from an iOS prototype that has since been mostly rewritten and developed a RESTful Django server application.
Instrumental in the implementation of the iOS version of Route Plan.
Developed the app in Swift and recently updated to Swift 1.2.
Created the application to be driven by Finite State Machines allowing for easy restoration of the user state and enforcement of a strong Model-view-controller architectural pattern to enable full unit testing with or without the UI.
Team Lead/Senior Developer - Independent Contractor
2013 - 2014 (1 year)
Prague, Czech Republic
Served as team lead developer and product owner for Liftago, an Uber-like app that is currently used in three countries. Oversaw the entire product lifecycle and release strategy for both iOS and Android.
Managed delegation and progress of development work amongst the developers on the team. Acted as a liaison for the graphic designer, for both iOS and Android.
Created and executed a transition plan for the next developer to take full ownership of the app.
Developed personal projects and successfully implemented numerous features including heavily optimized core data storage and retrieval running on separate threads using conditional locks with cancellation and compressed indexes.
Created a minimalistic and clean user interface supporting high resolution screens. Enabled user feedback using Core Animation and Core Text layout calculations.
Released an offline English to Czech translator for iOS which can be freely downloaded on the Apple App Store.
Managed a team of six developers ensuring the smooth release of the first home edition of the software, as well as liaising with other contributing teams.
Worked on the development of Sophos Home, the free edition of the Sophos Anti-Virus endpoint. Successfully implemented Quarantine Manager and store threats using Core Data.
Liaised, coordinated, and debugged code from other teams within the company.
Led the full redesign and re-write of the existing 10-year-old code base, bringing the flagship product up-to-date with the latest Mac OS X and open source technologies.
Completed a successful implementation of the application using Objective C++ and Xcode. Threaded the application to allow for multiple video sources to be played back together.
Designed the architecture of a new file/XML database format in MPEG-7 allowing for third parties products to include their data.
Maintained an existing Mac OS X Objective C application that allows for the selection and playback of HD video at a variety of frame rates.
Modified the Java Media Framework to produce Avid DNxHD QuickTime movies from uncompressed movie images. Developed a script that breaks a movie into parts and converts into parallel on the Renderwall machines.
Modified the Perl code in the open source Request Tracker project to eliminate duplicate emails being sent to multiple email addresses.
Developed embedded C++ applications with KDevelop using the Qt framework for terminal and self-service betting machines at the New Zealand Racing Board.
Contributed to the development of a Mason web application to display statistical data on website visits via Apache log files.
Successfully implemented a large data migration of student data from a proprietary Oracle database to the Moodle open source course management system, using PostgreSQL for The Open Polytechnic.
Developed 'The Uploader', California State University’s video application, which allows users to upload large and small videos from their phones while keeping data rates low.
Developed the iOS app using inherited code from an iOS prototype.
Ensured that little video was lost and that the app was able to handle secure uploading of potentially large videos (up to 2 hours long).
Developed a RESTful Django server application.
Technologies Used: Swift 1, 2, and 3, Objective C, Django, Python, iOS, Ubuntu, AWS, S3
Served as the team developer to create and develop the app Liftago, which is currently being used in three countries.
Owned process to get the iOS app to initial and subsequent releases.
Managed delegation and process development for the other developers on the team.
Created and executed a transition plan for subsequent developers.
Technologies used: Swift, Objective C, C, C++, Python, OpenSSL, MQTT, GPS
Managed team of six developers for the release of the first home edition of Sophos Home software, an anti-virus software limiting the spread of Windows malware from employee home computers to enterprise networks.
'Sandboxed' the scanning and cleanup of files allowing for escalated privileges and for updating logging.
Re-designed parts of the GUI to avoid user confusion.
Implemented Quarantine Manager and store threats using Core Data.
Reverse engineered the Apple keyboard layout for internationalization at boot time via EFI (for SafeGuard Disk Encryption).
Technologies used: Objective C, Python, C