Avatar for Simon MacDonald

Simon MacDonald
Human Goodreads

🦠 Ad-blocker not detected This site doesn't contain ads but consider installing a browser extension that blocks ads and other malicious scripts in your browser to protect your privacy and security.

Learn more.

Resumé

Begin
2021–present

Role
Head of Developer Experience
Description
Head of Developer Experience at Begin where I contribute to open source projects like Architect and Enhance that enable developers to create functional web applications.

Adobe
2018–2021

Role
Developer Advocate
Description
Creator of the Newton API learning tool in order to make developers comfortable with Hypermedia as the Engine of Application State (HATEOAS) based API’s. Writing tutorials and developer documentation for the Repository API. Created internal developer documentation portal to convert markdown & OpenAPI specifications to HTML. Author of API deprecation policy for Cloud Tech. Developer zero for the Adobe Experience Platform suggesting API improvements, writing tutorials, reviewing documentation and running labs. Developer Advocate for web technologies and Adobe I/O. Spoke at a variety of conferences and meet ups across North America, Europe and Asia.

Adobe
2014–2018

Role
Senior Software Scientist
Description
Member of the Web & Apps team working on the open source project PhoneGap/Apache Cordova. Maintainer of a number of PhoneGap plugins for push notifications, barcode scanning and hot code deployment where I collaborate with developers all across the world. Author of the PhoneGap Push Service which allows developers to test push notifications in their apps without the need to set up their own service or generate certificates. Member of the Adobe Open Source advisory board to bring open development and increase open source contributions. Developer Advocate for web technologies and Adobe API’s. Spoken at a variety of conferences and meet ups across North America, Europe and Asia. Collaborated with many teams (Mobile Services, AEM, Creative Cloud) across Adobe to build solutions.

Graphite Software
2013–2014

Role
Developer Advocate
Description
Modified the Android Open Source Project (AOSP) in order to provide our own custom ROM which has additional capabilities such as multi user Android on phones. Designed and implemented a multi-user API to allow third party developers to integrate with our solution. Wrote Android applications to allow device owners to manage their multiple users, applications and data.Took on responsibilities for server UI when a key developer left during a rewrite. Delivered an Angular application communicating with our back end server via REST. Managed junior Android developers to ensure we delivered on deadline.

IBM
2010–2013

Role
Advisory Software Developer
Description
Member of the Emerging Technologies team working on the open source project PhoneGap. PhoneGap is a cross platform framework for developing applications on multiple mobile operating systems. Primarily responsible for the Android implementation of PhoneGap where I have contributed the Network Connection, Contact, File and Media Capture functionality as well as numerous bug fixes. Developed an "insurance" application on Android for IBMs Impact (WebSphere) conference which exercised the Camera, Geolocation, Local Storage and communicated with WebSphere via REST. Contributed a number of PhoneGap Plugins to extend the functionality of the framework including Text to Speech and FTP plugins.

IBM
2008–2010

Role
Advisory Software Developer
Description
Member of the User Interface Development team working on the next generation of IBM Cognos Business User Experience product. Worked extensively in enhancing the accessibility of our IBM Cognos Connections product to pass WCAG 2.0. Spearheaded the adoption of Dojo for the next generation of IBM Cognos products. Implemented a skin management tool to allow users to easily customize their web interface. Replaced a cross browser GPL software package with one implemented in house. Developed a course and samples on how to produce WSRP portlets. Implemented new look and feel for IBM Cognos Dashboard product.

Mitel
2001–2008

Role
Software Development Manager
Description
Responsible for managing the messaging and applications team of software engineers in creating the next generation of messaging and speech recognition applications. Planned and executed the development of 6500 Speech Server release 4.0, 4.5, 4.6, 5.0 and 5.1 delivering all releases to market on time. Successfully managed the NuPoint Messenger 8.5 project to completion while developing the Unified Messaging Web GUI component in C/Perl. Managed the on-going effort to support our product in the field. Including: assisting product support and QA with product releases, bugs/service patches and related issues. Developed VoiceXML scripts to showcase the VoiceXML capabilities of the 6500 Speech Server.

Mitel
2000–2001

Role
Software Developer
Description
Responsible for leading the team developing release 6500 Speech Server release 3.0. Duties included architecting key parts of the system, liaising with the testing group daily and assigning work items to developers. Successfully installed first market trial site of 6500 Speech Server release 3.0 in Omaha, NE. Followed up with other customer trial installations in Minneapolis, MN and St. Louis, MO. Developed the Mobility feature in Nuance Java Speech Objects for 6500 Speech Server release 2.1. Created various demos to increase awareness of speech recognition in Mitel. Examples include a robotic truck that responds to speech commands and a voice driven Internet radio tuner.

Xwave Solutions
1999–2000

Role
Software Developer
Description
I worked as part of the Police Communications Systems group. During that time, we developed and deployed solutions in use by the RCMP across Canada and the Edmonton Police. I developed a Crime Analysis web site using Java Servlets, JPS’s, DHTML and JavaScript for the RCMP. Created a document image system web site, which allows the classification and retrieval of scanned documents. Used XML, XSLT, DTD, and DHTML to develop web-based forms to be submitted and read from the ROADS mobile application for the Edmonton Police.

Nortel
1997–1999

Role
Software Developer
Description
Worked as a software developer as part of the Management Information Environment team. In this role my main thrust was the development of web based applications using Java, Perl and Oracle. I participated in the evaluation of instructor led Java training courses and Java computer based training materials. Additionally, I was responsible for the administration of our Livelink (Document Management) and AutoPLAN (project management) servers.