6+ years of working experience in software development, in particular web app and mobile development with various tech stacks
1+ year of working with Python (CLI app), Linux system, networking and virtualization technologies
Experienced in working with TypeScript/JavaScript and various FE tech stacks, e.g: Svelte, Angular, React and Nuxt.js/Vue…
Experienced in working with FE dev tools, e.g: managing mono-repos, module federation with Nx.dev, webpack, Vite/rollup…
Familiar with mobile (iOS/Flutter) development and WebView technologies
Familiar with cloud services, e.g: AWS SNS for notification, S3 for storage, Lambda for data transformation, Azure AD B2C for managing end-user identity
Having strong urge to learn and build web apps that are lightweight, fast and easy to use
Curious mind, like to know how everything’s made, how it works..
Love to build things that’s lightweight and fast by default!
Relevant Work Experience
Flow Networks
(March 2021 - now) --- Senior FE Engineer
iOS - Flutter - AWS SNS
Svelte
Angular
Azure AD B2C
GoBear VN
(July 2020 - March 2021) --- Senior/Lead FE Engineer
Using Nuxt/Vue to Build Purchase Form/flow that are highly customizable for the backoffice team, also providing end-user a friendly and easy-to-use interfaces
Leverage Nuxt (SSR) to rewrite data flow, to optimize TTFB (Time-to-first-byte), TTI (Time- to-interactive), also to resolve security concerns for API that should not be exposed to “outside-world”
Unifying codebase of 2 products (same stack) into 1 codebase. The purpose is to provide data model reusability, flexibility, convenient ways for product configurability and ease of deployment.
Analyzing requirements from product team, discussing and proposing ideas for a better design
Resolving task dependency with BE team, oversight my teammates and maintaining code quality
KMS Technology
Ceterus
(May 2020 - June 2020) --- Senior/Lead FE Engineer
Working mostly with HighchartJS to visualize figures from financial data
Refactoring react-router, route component to be reusable and ease of development in the long run
Elsevier
(Mar 2020 - May 2020) --- Senior FE Engineer
Making AngularJS shared components updated with the newest style guide.
Documenting how to use these components and its APIs.
EditShare
(June 2019 - Mar 2020) --- BE/System Engineer
Implementing REST APIs providing interaction with ACLs of Linux system using Python/Twisted
Writing unit tests for APIs using Pytests
Using Ansible to transform a VM node into an apt-mirror server for the internal team. This resulted in much easier and quicker when updating from these servers instead of the public node (with only 100Mbps line).
Using Vagrant/libvirt to provide virtualization, team now can create an Vagrant node (for testing) with just a few command lines (Python script)
Giving demos/presentations to client at the end of Sprint.
Troubleshooting VMs and network errors, working closely with IT team to provide smooth infrastructure for the internal team.
Digital Picture - Revegy
(Oct 2018 - May 2019) --- Senior/Lead FE Engineer/Acting Scrum Master
Analyzing new requirements to prepare a new proposal, and the result is that we won a new contract with DP.
Implementing base structure: define base services, models and how should components interact with each other.
Integrated JointJS model into Ember model, resulted in better data synchronization and render/update performance for SVG elements.
Working mostly with the data layer in Ember: collaborate with BE developers to define APIs, define models and relationships between them.
Analyzing risks in grooming/planning, provide solutions for technical challenged tasks.
Identifying and resolve blocker issues, ensure the team follows the defined process right.
Core - Revegy
(July 2016 – Oct 2018) --- FE Engineer
Working independently and effectively with assigned tasks, clarify requirements with QA and BA if needed.
Using Ember and JointJS to implement intensive interaction feature, such as: draw org chart and allow user to interact with it (drag/drop/update attributes)
Was able to resolve render performance issues by removing unnecessary DOM access on data changed (even accessing some DOM props could cause reflow/layout)!