Seeking a senior
software engineering role in commercial software development
Creative and
self-motivated senior-level engineer with thirty years of experience team
leading and design and development of commercial software applications and user
interfaces.
iOS, macOS, Android,
Windows, Linux, Unix
Apple Xcode, Cocoa,
Interface Builder, JUCE, AWS, Cloud, RESTful Services, Core Graphics, Core
Animation, Core Data, Core Image, Cocos2D, TrollTech Qt, Eclipse, STL,
Microsoft Visual Studio, Angular, Node.js, Bluetooth, USB
Swift, Objective-C,
C/C++, Java, JavaScript, TypeScript
EXPERIENCE
2017-present: Industrial Intelligence, Atlanta, GA
I am lead engineer for Industrial Intelligence,
working in "Smart Industry". I consult to the team on all technical
matters and play a key role in assessing customers' needs.
I also am developing custom iOS and JavaScript
front-end dashboards and back-ends for IIoT (Industrial internet of Things)
applications for clients of Industrial Intelligence. JavaScript front-end work
is being done using Angular 4 + Ionic 3’s PWA (Progress Web App) UI framework.
I am the founder of Heynow Software and Heynow Games.
Heynow Software has
developed and shipped many mobile and desktop apps for our customers. A
highlights list of products we've worked on is viewable at Heynow's Software
Portfolio. Additionally,
Heynow Software has done a couple of its own products. One example: Heynow
Software has had its SkyText
utility app in the iOS App Store since March of 2009.
Heynow Games'
mission is to develop and market casual games for iOS. Heynow Games has had its
Wordstro word game app in the iOS App Store since
December of 2013.
2011-present: Heynow Games, Windham, NH.
I am the iOS
engineering and marketing lead for the Wordstro
word game. Development was done in Objective C Cocos2D integrated with UIKit.
The game makes good use of the Chipmunk 2D physics engine.
Current work on an
upcoming title involves the use of JavaScript-based Cocos2D-x and
JavaScript-based React and React Native frameworks.
2015-2017: Fishman, Andover, MA.
After having played
the tech lead/developer on the release of versions v1.0 - v1.2 of TriplePlay's
software, I returned to Fishman in a consulting role, helping Fishman's
engineering team do ongoing maintenance and release of TriplePlay v1.3 and
v1.4.
2014-2016: Fidelity Investments, Merrimack, NH.
I worked as a
principal iOS software engineer on Fidelity's personal
investing iPhone and iPad apps. I worked closely
with design, engineering, management, and QA teams in an Agile environment. I
developed user interface elements and workflows, as well as played a key role
in the design and implementation of their version 3.0 iOS architecture. Work
was done in Objective C / Cocoa Touch and Swift. I also served as a mentor for
junior members of the development team.
The iOS app has been
very well received in the personal finance mobile community. Here is its App Store link.
2011-2013: Fishman, Andover, MA.
I worked as the
principal desktop software engineer for the Fishman TriplePlay wireless MIDI guitar pickup. Work involved
implementing the user interface components of the product and
software/hardware/desktop integration. I also acted as team lead for the
desktop software engineering. TriplePlay is implemented in C/C++ using the JUCE
application framework deployed to macOS and Windows.
2010-2011: Steve Jackson Games, Austin, TX.
I ported Steve
Jackson Game's "Munchkin Level Counter" app from iOS to Android. Work
was done in close collaboration with Steve Jackson, ensuring a faithful
reproduction of the original. This app can be found in the Android Market here.
2009-2012: LSN Mobile, Atlanta, GA.
I was lead iOS
engineer for the news app Local News,
was a popular free app that represented over 120 television news stations.
Heynow has some press release information about the app here. I did most of the user interface
implementation and XML middle-ware development, with help from Heynow's senior
engineer and Heynow's UI designer. We all worked closely with LSN to ensure we
had the right integration with their news aggregation server and created a
pleasing user experience. The app was available to English and Spanish speaking
users. There is also support for white label releases of the app, which there
were over 120 apps for in the App Store. Local News had over 3 million
downloads.
I wrote the initial
version of the Android Local News app and then hired and lead a senior level
Android developer who worked on subsequent releases. I instrumented the
build-out procedure to do distribution of over 120 Local News affiliate station
apps. Android Local News had over 1.1 million downloads.
In 2011, I designed
and implemented the iPad version of Local News.
I also oversaw
Heynow's development of the BlackBerry Local News app. It's available for
download and has seen over 500,000 downloads.
2009: Lil Bit Media, NYC, NY.
I was lead iOS
engineer for Lil Bit Media's "Who When Where" app. "Who When Where" social networking
utility providing a novel means of organizing contacts. Working closely with
customer our team designed the user interface for the product and then I
implemented and delivered the application.
2009: ZaZa Software, Richboro, PA.
I ported ZaZa's ZaZaChat Alerter desktop help desk application from
Windows to macOS. Work was done in Cocoa.
I also rebranded
ZaZa Alerter as Live Help Now.
2008-2016: Optek Music Systems, Inc., Reno, NV.
I was the team lead
for rewriting Optek's "Fretlight
M-Player" application for
Macintosh. An application that uses MIDI music to drive fretboard LEDs in the
customer's family of guitar products. The original M-Player exists as a BASIC
application on Windows. I led one of my engineers in rewriting the application
in Cocoa. My responsibilities were project management, UI implementation, and
the Core Audio MIDI implementation. He handled the USB work and other related
integration work for the guitar. We also rewrote their "Fretlight
Improviser" and "Lesson
Player" applications for
macOS.
I developed Optek's GT Control guitar teaching application. GT Control is deployed
to both macOS and Windows on the same code base using JUCE and C/C++.
I oversaw the
maintenance of Optek's desktop and mobile software. I was involved my team with the design and
implementation of the next major versions of Optek's software offerings. In
January 2012, we released Fretlight Player for Macintosh, which ties video
playback with MIDI for an even more immersive training experience for guitar
students. I developed an iPad kiosk app that played videos describing the
Fretlight guitar. The app was capable of being remotely updated. We also
developed Chords and Scales app for both desktop and mobile. Work also was done
on a prototype desktop/mobile app that linked the guitar with iTunes that
shared a common JUCE-based code-base.
2017-present: Industrial Intelligence, Atlanta, GA
I am lead engineer for Industrial Intelligence,
working in "Smart Industry". I consult to the team on all technical
matters and play a key role in assessing customers' needs.
I also am developing custom iOS and JavaScript
front-end dashboards and back-ends for IIoT (Industrial internet of Things)
applications for clients of Industrial Intelligence. JavaScript front-end work
is being done using Angular 4 + Ionic 3’s PWA (Progress Web App) UI framework.
I designed and developed
the Fretlight Bluetooth/USB SDK. Work was done in C/C++ and Objective C. The SDK
is capable of supporting wireless and wired Fretlight guitars on both iOS,
macOS, and Windows platforms. https://fretlight.com/pages/get-the-fretlight-sdk
2007-2009: Imikimi, Lakewood, CA.
I ported Imikimi's
popular Windows-based browser plug-in to macOS. Work was done in C/C++ using
the Netscape "NPAPI" plug-in SDK. Technologies I used included:
Apple's Core Image, Carbon Events, and PackageMaker.
I was the tech lead
for development of a Adobe Flash (SWF) file exporter for Imikimi's image
format. Work was done in C/C++. Heynow's senior engineer, James Hartnett,
worked with me on this.
2006-2008: Russound, Newmarket, NH.
I and another Heynow
Software engineer delivered the iBridge Bay macOS application for integrating Russound's
"RNET" audio-visual home networked products with iTunes. Work was
done in Cocoa, C/C++ and embedded systems. My responsibility was overall
software designer/implementor and provided expert macOS user and development
knowledge.
We also did work on
major pieces of software for Russound's TSV-E5 Sphere 8.4" 800 x 600 Touch
Screen LCD Controller, their next generation Web 2.0-based user interface. Work was based on
JavaScript.
2005-2007: Avid Technology, Tewksbury MA.
I designed and
implemented a significant portion of the user interface for the new Avid Interplay Assist application. A newsroom transcription logging
and story editing application. I implemented the user interface using C/C++ and
TrollTech's Qt application development framework.
I also have
contributed my previous Avid expertise in refining features of the existing
MediaComposer and Newscutter video/film editing applications.
2005-2007: Jambo Networks, Dallas, TX.
I wrote the macOS version
of Jambo's social networking client application. The Windows client is
implemented in C#. I implemented the macOS client in Cocoa. The Macintosh
client takes advantage of numerous Apple technologies, including Bonjour,
Bluetooth, and wireless networking. I had the opportunity to make the user
interface shine on the Mac and Jambo has received very positive feedback from
Mac users on its look and feel.
2005-2006: Maven Networks, Cambridge, MA.
I developed Windows
and macOS download client applications that are branded by the OEM. This
application has been deployed by Premiere Radio for the "Phil Hendrie
Show" and for other radio talk shows as a means for paid subscribers to
automatically receive the radio show as .mp3 files. The macOS application was
done in Cocoa/Objective-C, the Windows application in MFC/C++. Common shared
code was done in C++ using STL.
2004-2006: Portalvideo, Wellesley, MA.
I developed a Quicktime-based
application for the encoding and uploading filmed interviews. Work includes
development of custom Quicktime components for streaming media encryption. The
core application was developed in C/C++ and run on both macOS and Windows. The
Macintosh version is wrapped in Cocoa and the Windows version is wrapped in
MFC.
2004: iPhrase, Bedford, MA.
I ported their
Unix-based search engine to macOS. Work involved modifying Python scripts and
porting a significant number of their C++-based sub-systems to Carbon.
2003-2004: Raindance Communications, Denver CO.
I was technical lead
for the Macintosh version of their "K2" video and web based
conferencing application. My work involved taking modules of the existing
Windows client and making them cross-platform compilable as backend code as
well as writing a Cocoa-based macOS user interface front end. Various features
of the product were implemented as runtime loadable plugin bundles. I was
responsible for all the user interface work and the architecture of this
application.
2002: Meeting Maker, Waltham MA.
I was technical lead
for the version 8.0 rewrite of their "Meeting Maker" calendar
scheduling client application. I worked closely with the user interface
designer, senior management, product management, and engineers. I implemented a
cross-platform (Mac and Win) user interface using Metrowerks' PowerPlantXP
(their cross-platform version of PowerPlant.)
I also designed and
implemented a data model abstraction of their existing client/server code and
integrated it with Python for product testing.
I also did work on
fleshing out parts of PowerPlantXP in collaboration with Metrowerks.
2001: DMOD (Digital Media On
Demand), Boston MA.
I played a key role
in porting their "DMOD WorkSpace" version 1.0 client/server
application from Windows to macOS. The application's features were faithfully
ported to the Mac, and also sported additional features over its Windows
counter-part. I was responsible for all the user interface work, the data
model, and most of the application's framework. Work was done using CodeWarrior
C++/PowerPlant.
2000-2001: Artel Software, Boston MA.
I was a senior
engineer responsible for designing and implementing key user interface elements
of Artel's Boris RED product. I played an important role in delivering user
interface work for both version 2.0 and 2.1 of this product. Boris RED is a 3D
compositing tool for creating special effects for digital video. My work was
done using PowerPlant/C++ on both Macintosh and Windows platforms. I also did
cross-platform Quicktime development for them.
1999-2000: Viatech, Natick MA.
I ported Viatech's
eLicense SDK from Windows to Macintosh. This SDK provides developers with a
means to easily add electronic software licensing to their applications. Work
involved writing Macintosh-specific networking code, cryptography, and GUI
development. Work was done in PowerPlant/C++.
1999: Ice, Waltham MA.
I developed a macOS
application which utilizes the Ice's hardware board to do real-time transcoding
of Avid's media formats. The application was implemented using PowerPlant.
I developed the user
interface and framework for the version 1.0 release of Ice SDI Video. Runnable
as both a stand alone macOS application and an Adobe After Effects plugin, Ice
SDI Video provides broadcast quality QuickTime NTSC and PAL capture and print
of video streams from/to serial decks using their video capture/playback
hardware.
I implemented the user
interface and application framework for their "ICEd Transcoder"
application which allows transcoding of Avid Media Composer media files.
I improved Ice's OMF
reader and writer QuickTime components and ported them to NT.
1998-1999: Avid Sports, Lowell MA.
I was lead developer
for the version 4.0 release of SportsView, A macOS application which permits
NFL and college football coaches to view game video footage and evaluate game
data. Work was done using Metrowerks C/C++.
1998: Avid Technology, Tewksbury MA.
I helped integrate
graphical file, OMF (Open Media Format), and QuickTime import/export support into
their version 7.0 Media Composer product. Work was centered around closer
integration of Avid products using OMF.
1997: NetCentric, Cambridge MA.
I ported their
web-based FAX SDK from Windows to the Macintosh. Work involved adding
Macintosh-specific threads and Open Transport network support.
1997: Real Networks, Seattle WA.
I added QuickTime
3.0 support to their existing "Vivo Producer" macOS product. released
as "VivoActive VideoNow 3.0". Work included updating the PowerPlant
application and updating their QuickTime decoders for both Macintosh and
Windows. Work was done in PowerPlant/C++.
1997: Vivo Software, Waltham MA.
I did work on Vivo
Producer -- a macOS and Windows application that generates streaming low
latency audio/video files for the Web. I rapidly took their producer
applications and converted them into Adobe Premiere Plugins. Work was done in
CodeWarrior C++/PowerPlant and Microsoft Visual Studio C++/MFC.
I also ported Vivo's
audio and video codecs to Linux, SGI Irix, DEC OSF, and IBM UNIX for use in
Microsoft's Netshow for Unix 2.0 distribution. Work was done in GNU C.
1997: Avid Technology, Madison WI.
I delivered
modifications to graphic import/export plugin modules for their Elastic
Reality™ software product via a generalized interface referred to as
"HIIP." Technologies involved include: OMF, QuickTime, Cineon, PNG,
GIF, JPEG, FLIC, PICT, and other graphic file formats. Work was done with
CodeWarrior C, C++, and PowerPlant.
1997: Avid Technology, Tewksbury MA.
I helped to complete
Avid Cinema v1.0, a macOS-based video editing application which was bundled
with Apple's Performa 6400 Macintosh release. I worked with Apple QuickTime
technology and CodeWarrior C++ and PowerPlant.
1996: ADP/ISS, Billerica MA.
I ported their
UNIX-based headline news gathering SDK (software development kit) to macOS. The
SDK utilizes RPC (remote procedure calls) atop a TCP/IP socket interface. The
port was executed using CodeWarrior C++ compiler using a sockets interface.
1996: Information Technology Partners,
Framingham MA.
I developed a set of
PowerBuilder objects which interfaced their PowerBuilder-based online product
ordering application to Lotus cc:Mail.
1996: FTP Software, Andover MA.
I put together a
suite of macOS internet applications, an installer program, and an online
Web-based registration application for British Telecom. ported FTP's
Windows-based registration app into a macOS helper app called by the MS
Internet Explorer Web browser using CodeWarrior C++. I was responsible for all
technical exchange between FTP Software and BT on this project.
I also served as a
technical advisor to FTP Software's ISP Business Unit group.
2011-present: Heynow Games, Windham, NH.
I am the iOS
engineering and marketing lead for the Wordstro
word game. Development was done in Objective C Cocos2D integrated with UIKit.
The game makes good use of the Chipmunk 2D physics engine.
1992-1996: Avid Technology, Tewksbury, MA.
Principal Software
Engineer
I was lead engineer
of a four member team that designed and implemented the Avid Media Server -- a
digital video and audio record/playback/editing server application running over
an ATM network on the SGI Challenge series UNIX (IRIX) platform.
Work was done with
IRIX-based C and C++ compilers and Macintosh-based Think C++ compiler. The Avid
MediaServer is now used in news stations world wide, broadcasting directly from
hard disk to thousands of households daily.
Designed and
implemented version 1.0 of the AvidNet point-to-point network - a high
performance ATM-based point-to-point media transfer system for the Avid
MediaComposer and AudioVision Macintosh applications. Early prototypes were
implemented over TCP/IP. Work was done with Think C++ compiler.
Designed version 2.0
of the AvidNet point-to-point network. Version 2.0 addressed enhancements
permitting collaborative story editing over the ATM network.
Developed various
user interface elements for the version 5.0 release of the Avid MediaComposer
for Macintosh - the industry leader in nonlinear video editing systems. Work
was done with Think C++.
1987-1992: Digital Equipment Corporation, Littleton, MA.
Principal Software
Engineer
I was lead engineer
of a three member team that designed PathWorks Manager -- a Macintosh and
MS-Windows based application for managing LanMan, NetWare, and AppleShare
network file and print services. Played a leading role in the high-level
design, user interface design and proof of concept prototype of this application.
Work was done with Think C++ compiler.
I was technical lead
for Mail for Macintosh, a Macintosh client application for the VMS mail server.
Network connection was DECnet via Apple's communication toolbox.
Responsibilities included "rescuing" the project from a failing
contract developer, overseeing and working with a senior engineer to make rapid
and effective improvements to the application's performance and its feature
set. My efforts resulted in the product being successfully delivered to market
on time. Work was done in MacApp 2.0 on MPW.
I was technical lead
for the VAXshare file and print server -- a key component of the Apple/Digital
PathWorks For Macintosh desktop integration product.
Work was done on VMS
C compiler and Macintosh-based Think C compiler.
I prototyped a
UNIX-based print and file server on Apple's AUX operating system. Work was done
under MPW C.
I invented,
designed, and implemented a test development and execution environment for
automated testing of PathWorks for DOS. Work was done under MSC and MASM.
1986-1987: Honeywell-Bull, Billerica, MA
Consultant
I developed test
specifications for One Plus, a package of office automation products running on
the Honeywell DPS level 6 series minicomputer. Work involved both component
level and system level testing of the product. I worked closely with
development groups to provide timely resolution of software faults. I designed
and implemented a number of test programs and test suites for exercising
product APIs.
I was responsible
for testing a variety of I/O devices. I provided test expertise in qualifying
new revisions of the MOD/400 Honeywell proprietary operating system.
1984-1986: Blue Earth School, Blue Earth,
MN
Consultant
I designed and
implemented SHL - a complete school administrative system providing support for
student and staff lunchroom activity. This system was based on a multi-node LAN
providing connection between the administration office and the lunchroom
bar-code reader. I played an instrumental part in procuring a contract from a
major educational software publishing company for supporting the development
costs of this project. The system was implemented in Pascal.
I did technical
support for a bar-code driven library circulation system. I designed and
oversaw production of student identification cards. These same cards were used
in the lunchroom system.
I did technical
support for two educational research projects: 1) Project BEACON was a state
funded technology grant awarded to thirteen Minnesota school districts. 2) ACOT
(Apple Classroom of Tomorrow.) Responsibilities for these projects ranged from
educational software evaluation to staff training, student teaching and class
computer lab installation and repair. Both of these projects ranked #1 in the
State during the two years they were funded.
1983-1984: Inno-Media, Mankato, MN
Consultant
I delivered a
variety of software services for local businesses. Some specific
accomplishments include: Developed and optimized 6502 assembly language
graphics tool for authoring education software; Developed custom animated
graphics for business presentations; ported an educational software package
from the Tandy PC to the Apple ][ PC; Designed and implemented a mailing list
database system.
1982: United Managers, Faribault, MN
Consultant
I modified numerous
Apple ][-based accounting and data tracking packages for use in agribusiness.
Designed and implemented a billing system for a local trucking business.
Additional responsibilities included the installation and maintenance of Apple
][ systems in business and educational environments.
1982: Better Farm Business, Waseca, MN
Consultant
I designed and
implemented the MicroTutor courseware authoring system. This Apple ][-based
product provided a means for developing interactive educational courseware
using third-party word processing and graphic rendering tools. MicroTutor ran
on the Corvus-based local area network and was capable of serving an entire
classroom of users. Responsibilities also included content creation using still
and animated graphics.