Employer: Publicis Sapient (April 2014 – March 2023)
Project: Walmart.ca iOS e-commerce app
Role: iOS Developer
This was my longest project with Publicis Sapient – I had been with Walmart.ca as an iOS developer since September 2017. I mostly worked with Swift, and occasionally Objective-C, primarily using the MVC design pattern. In 2019, we began integrating React Native into the native apps so I am exposed to React Native, Javascript, and Electrode Native.
Electrode Native is a mobile platform by Walmart Labs that simplifies and streamlines the integration of React Native into existing native apps.
I started doing iOS development when I joined this project. During these years, I was able to grow exponentially and became a senior iOS developer. I have experience leading and assisting the team to see through a story from start to finish – from solutioning, to testing, to delivering.
I have been exposed to different kinds of tools and platforms for a more efficient mobile development experience: Google Firebase for analytics and crash reports, Urban Airship for remote notifications, GraphQL as an alternative API call instead of REST API, Charles Proxy and Postman to debug network calls, etc.
Additionally, I had experience using MVVM and Clean Swift when we were refactoring the code to avoid Massive View Controllers. On the side, I was able to learn some newer iOS frameworks such as Combine, and SwiftUI, and dabbled a bit in Azure DevOps CI/CD.
Aside from development, I also collaborated actively with other teams such as product owners, designers/UX, QEs, Android developers, React Native developers, and back-end developers. I also mentored junior iOS developers and took on the Scrum Master role when our team was lacking one.
Project: Shopper’s Drug Mart BeautyBoutique
Role: Hybris Developer
I worked with SAP Hybris to implement back-end features that are mostly used by the client, than by the site visitors. Few of these functionalities are creating cronjobs to automatically update inventory, creating outbound feed files, and ingesting feeds into Hybris. These feed files contain Beauty Boutique’s products and their information, such as brand, and price.
Aside from inventory/product-based functionalities, I also handled cost calculation including taxes, (shoppers) points, and discounted prices. I also fixed few front-end style defects – such as character and count formatting for the feed files for more seamless automatic parsing and for e-commerce storefront for the site visitors.
Project: Cintas B2B and B2C e-commerce
Role#1: Hybris Content Manager
I have been exposed to different parts of SAP Hybris in order to manage the the content of the B2B website. I worked with Hybris’ product content manager (PCM) cockpit to add, delete, and edit the products’ properties in Cintas storefront. I fixed the storefront’s missing/incorrect data by updating the content in the PCM.
Moreover, I also did an internal testing of the functionality and appearance of Hybris CS Cockpit in accordance with the description in the FSDs and visual wireframes.
Role #2: Hybris Developer
SAP Hybris is based on the MVC-model, with many layers to keep each functionality separated. The database resides at the very bottom of the layer, and the controller resides at the top which manages the view. In between these layers, we have the DAO (data access object) which queries the database, the Service Layer which works with other services, and the Facade which manipulates the data.
I worked with SAP Hybris and Service calls to third party systems to fix copy defects in CS Cockpit and storefront. Also, since this is an e-commerce website, I implemented few functionalities to calculate the cost – I updated the algorithm to include a new tax functionality to include overage taxes. I also fixed front-end style defects in .jsp and .tag files such as editing texts and charts displayed in the CS Cockpit and storefront.