Project experiences
2020-11 - Now | Thoughtworks
2022-10 - 2023-10 | BI, Report and Data
-
Assuming the primary responsibility for a team that works with AWS Quicksight, a business intelligence (BI) service operating at cloud-scale, my role includes:
- Writing high-performance SQL with an emphasis on Common Table Expressions (CTEs) and Indexes.
- Managing datasets (primarily in PostgreSQL) using a code-first approach, while also establishing pipelines and designing the team's workflow.
- Handling multiple environments asset migrations
- Maintaining and resolving issues left by the previous team
-
In addition to the responsibilities already mentioned, my role also includes:
- Providing support during the go-live process.
- Writing backend API service code using the Kotlin language.
- Performing simple frontend tasks, primarily involving copy-pasting work with TypeScript and React.
2022-02 - 2022-10 | middle-end(build backend API)
- Closely collaborated with the client to construct a middle-end server for business, enabling rapid website development that integrated content and online product offerings from third-party vendors.
- Took over a legacy application with long, complex classes and minimal unit tests, which presented challenges in maintenance and quality.
- To enhance maintainability, Lintao implemented a new onion architecture and utilized ArchUnit to safeguard the architecture.
- Collaborated with the team to introduce new automation checking components, ensuring the quality of newly added code.
- Modified the Jenkins pipeline to enhance the Continuous Integration and Continuous Deployment (CICD) process, facilitating the roll-out of semantic versions into higher environments.
- Undertook some simple frontend tasks, involving copy-pasting work with TypeScript and React.
2020-11 - 2022-02 | Build new API server and it's frontend
- Acting as the main contributor to the codebase, swiftly coding while maintaining high quality standards.
- Implementing backend APIs, coupled with TypeScript work, to effectively present data to users.
- Designing and implementing 'Printing' and 'Notification' submodules, bolstering code stability, maintainability, and extensibility.
- Establishing a unified payment process, leveraging the template pattern to ensure different flows follow similar patterns, while achieving their unique goals.