During my 7 years working for the BMW Group South Africa I contributed towards a diverse set of highly visible websites and applications for both local and international markets in a variety of roles:
An AngularJs single-page application built on top of the CDK “Service Online” API with a custom Node.js API for markets not using the CDK API. The application supported the booking and management of service appointments for BMW and MINI owners:
The app further supported numerous other feature flags and options dependent on local market requirements. After our initial pilot, I migrated the application, domains and SSL certificates to Microsoft Azure. I was responsible for all Azure related activities for the application.
When a new developer joined the team, I oversaw the:
Throughout the course of the project I was involved in all aspects of:
During this time I undertook numerous other activities including research and exploration of project expansion opportunities which included presenting our project at the annual BMW IT Fair in Munich. This presentation resulted in project interest from BMW regions covering markets in Europe and North Africa.
During this time I also provided support, technical diagrams and a fully documented Postman collection for a US based development team which was integrating the CDK API into the BMW Connected App.
Project Elements: AngularJs, Node.js (Express, Nodemailer and Handlebars), HTML/Less, Google Maps, Azure DevOps, Azure App Service, Let’s Encrypt SSL, mockups in Balsamiq, design in Photoshop and Sketch and presentations in InVision. Workflow diagrams. Postman collections/API documentation.
I was a senior developer on the team responsible for building out an AngularJs/TypeScript component library to be used in the parent Online Sales project which was a priority project for BMW Germany with markets in the UK, Germany and China.
The component library covered all UI elements to be used in the application and to be available in 3 corporate identities for BMW, BMW-Motorrad and MINI. All components needed to support translation. The components were built from scratch using HTML/SCSS and AngularJs and published as a private NPM package. I was responsible for development of components, code review and mentoring the junior developers on the team. All source code was hosted in BitBucket with all work items being tracked in Jira.
I was also involved in a separate branch of the same project where we conducted a pilot project for UX testing and analysis. This involved travelling to Munich, Germany and running workshops and UX testing with stakeholders in Germany. We conducted a variety of tests including card sorts, interviews and observation tests.
Project Elements: AngularJs/Typescript, HTML/SCSS, code review (BitBucket), UX testing.
I played a leading role in the design and development of the BMW Digital Showroom project. Playing multiple roles in this project, I took part in:
Project Elements: AngularJs (created front-end components for JS developer to integrate), Google Analytics development, Google Analytics reporting, HTML/Less, Wireframes, post-launch design work.
As the primary developer on this project, I created wireframes and worked closely with the designer to get all designs approved. From there I handled all:
The BMW Blog integrated custom APIs to bring in user data and manage registration and login.
Project Elements: PHP, WordPress and JavaScript development, custom theme and plugin development. Wireframes.
On my arrival to the team, I was frustrated by the use of folders containing Word documents to document team information and processes. As a result, I setup a WordPress site to which all team members could post in order to record and store the shared knowledge of the team. During this time I wrote over 100 posts detailing all kinds of development and process related information for our team.
During my time at the BMW Group, I was involved in numerous high-level projects for all BMW Group brands both locally and internationally. Other notable projects included:
I was also heavily involved in the creation and development of several iterations of dealer locators, multiple generations of the BMW, MINI and Alphera finance websites as well as playing a team lead role during the re-alignment process for the group customer portals.