Position: Front End Developer
Category: JavaScript
English level: fluent
Years of experience: 7


- The project aimed to build out an e-commerce platform. I activetly interacted with the client and gathered requirement.
- They were wondering how to make decisions to select appropriate technology and programming language for the project.
- I recommended to build the FE with React and BE with Node.
- With powerful features of React, it was easy to modularize the frontend app and optimize the rendering speed.
- GraphQL Apollo was convenient to manage the application state well and it optimized data fetching process at presentation layer.
- GraphQL-Yoga was convenient to create GraphQL server and was easy to focus on business domains.
- Almost of the codebase was written with TS because it enables us to reduce type-related errors easily and it improves the overall team workflow.
- TypeORM suits well with TS and with it, we were able to build the data fetching layer efficiently and I solved (N + 1) problem related issues and things like that, optimizing data retrieval times by 30%.
- Redis was also used as the backend of the API so it was responsible to store hot-queried results and those like session information.
- PostgreSQL is one of the fastest SQL database and was implemented to use.
- For ease to deployment, those application components were all dockerized and pushed to AWS ECR.
- The DevOps team used Jenkins to automate the CI/CD pipelines and used AWS ECS as container orcheastration. Sometimes, I also took part in some DevOps work because I had alreay well-built understanding in CI/CD and AWS.

- I had to ensure that the platform was secure and reliable. I implemented various security measures such as user authentication, data encryption, and secure payment processing. They also tested the platform extensively to identify and fix any issues.

- Finally, I had to optimize the performance of the platform to ensure that it could handle a large number of users and transactions. I used techniques such as caching with Redis and PostgreSQL database indexing to improve the speed and efficiency of the platform. 

- Despite the challenges, the team was able to successfully build an e-commerce platform that met all the requirements and exceeded the expectations of the client. The experience taught me valuable lessons about project management, technology selection.