Senior Technical Architect
2019 - PRESENTExperian- Developed a proof of concept (POC) app with Angular for managing user access from scratch. It's used as a demo to the stakeholders and sped up the development process by 20% because it's as good as a fully functional app.
- Implemented a mechanism to rotate the private key used to sign a JSON Web Token to improve security in the microservices environment.
- Architected the shared infrastructure for the legacy software to allow it to achieve multitenancy on the cloud. It's estimated to save 60% of operational costs.
- Designed a sidecar service for the legacy software, allowing developers to use new technology and add features to the legacy software. It has sped up the development process by 30% because developers now benefit from updated software libraries.
- Conducted code review for the development team and set up the best practice for writing code. The best practice guide has sped up the development process by 20% because the developer can do a self-review before others.
- Improved the API performance by 30% by optimizing the hotspot method identified with Dynatrace.
Technologies: Java, Spring Boot, Angular, Jenkins, Kubernetes, Docker, Bash Script, OpenShift, OSGi, Hazelcast, Microservices, REST, JSON Web Tokens (JWT), OAuth 2, RxJS, Microsoft SQL Server, REST APIs, Full-stack, Full-stack Development, SQL, CSS, HTML, Agile Software Development, API Integration, HTML5, Java 8, Apache Maven, Amazon EC2, Front-end, Front-end Development, Redux, Architecture, Software Design, Legacy Code, Legacy Software, Integration, Amazon Web Services (AWS), Back-end, APIs, Cloud, Oracle PL/SQL, Databases, RESTful Microservices, MVC Design, Webpack, Node.js, Auth0, Single Sign-on (SSO), AngularJS, Web API, Web, Amazon S3 (AWS S3), Jest, JSON, User Interface (UI), Agile, DevOps, OpenAPI, Event-driven Architecture, Distributed Architecture, Amazon RDSIT Team Lead
2018 - 2019Topgate Corporation Sdn Bhd- Developed an HTML5 slot game with Phaser.io and TypeScript to serve as the base for all future HTML games, making the development process two times faster than a game developed using JavaScript.
- Migrated an old API from PHP to C# .NET Core, improving the performance ten times.
- Built a Jenkins CI/CD pipeline to build and deploy our software, decreasing the deployment time from two hours to 15 minutes.
- Developed a wallet API to support games developed by a third-party vendor. It has a WebSocket version, five times faster than the HTTP version, to support real-time games.
- Built the load testing software with TypeScript, which also works as a sanity test for the game engine. Some code is shared with the real game client. It reduced production issues by 90% and sped up the development process by 40%.
- Developed a UI to design a game interface with Unity. It is exported to a custom format to be consumed by the Phaser.io game. It allows the stakeholders to see the outlook before implementing logic. It sped up the development process by 50%.
Technologies: C#, PHP, Laravel, .NET Core, Unity, Android, iOS, Jenkins, Bash Script, Google Cloud, MySQL, TypeScript, Phaser.io, JavaScript, Microsoft SQL Server, .NET, REST APIs, Full-stack, Full-stack Development, SQL, CSS, HTML, C#.NET, Entity Framework Core, .NET 4, Entity Framework, .NET 5, API Integration, Chart.js, Bootstrap, Architecture, Software Design, Legacy Code, Legacy Software, Integration, Back-end, APIs, Cloud, ASP.NET Web API, Web Development, Databases, jQuery, Node.js, Web API, ASP.NET Core, Web, JSON, User Interface (UI), Leadership, DevOpsSystems Engineer
2013 - 2018Nextsense Sdn Bhd- Developed a real-time weather display app in HTML5 with a UI designer to allow the client to design the app's interface. The client can choose the widgets that are displayed on the app. It speeds up the development process by 50%.
- Created a Linux driver to allow Linux software to run on an embedded ARM board and interact with sensors via low-level IO like I2C. It enables the company to create a custom hardware board to talk to more variants of sensors.
- Built a back end that aggregated sensor data from a different weather station. It can be customized with an XML file to support the requirements of other clients.
- Created a POC to make the back-end support multitenancy and deploy it on the cloud.
- Developed a POC app to track ships with GPS. It has a map that shows the trace of the tracked ships. It generates alerts if the tracked ships go into a forbidden area.
Technologies: Java, Linux, GWT, Google Maps, JavaScript, Full-stack, Full-stack Development, SQL, CSS, HTML, LeafletJS, Chart.js, Java 8, Ant, Front-end, Front-end Development, Back-end, Web Development, Databases, Web, Maps, JSON, CSV Export, CSV Import, User Interface (UI)Debug Automation Engineer
2010 - 2013Intel- Worked on C# WPF software that allows engineers to drag and drop predefined actions to construct a flow to debug the hardware. It has a UI similar to Visual Studio and enables engineers without software knowledge to create a debug flow.
- Developed a debug flow with National Instrument TestStand that can grab the console log and dump the electronic signals with an oscilloscope when the hardware fails to startup. It improved the efficiency of debugging by 50%.
- Developed a holiday tracking web app for the team in ASP.NET.
Technologies: C#, Windows Presentation Foundation (WPF), ASP.NETIntern
2005 - 2006Techsense Solutions Sdn Bhd- Developed C++ software that aggregates data from different inputs like sensors, TCP, and more and sends it to a central station. It can also perform calculations on the incoming data and allow the front end to view it in real-time.
- Worked on Java Applet that displays data in real-time. The developer customizes the UI by changing the configuration file. It provides many widgets like real-time running charts, level gauges, wind charts, and so on, mainly used for weather monitoring.
- Built POC on a property selling website in PHP. It allows users to search a property for specific locations and show the photos and details of the property.
Technologies: C++, Java, PostgreSQL, HTML