Sep 2017 - Present
I learn how to be a better software developer when I work in CHT. I started as a junior engineer who didn't have software development experience to be a software developer who can design and implement the whole system by himself. The following projects were I participated in:
A. Information Sharing and Analysis Center (ISAC)
In this project, I work with a team composed of different companies. We used the bottom-up approach to design the system. Each member focus on developed the module they responsible, and discussed with other members how to build the API integration.
Skill: Java, Spring Boot, Spring JPA, Vue.js, GitHub
Member: Architect: 1, Developer: 6
Work Content: Develop:60%, Test:40%
=============================================================================================
B. Firewall policy management system (FireExpert)
FireExpert was a new product development project by another engineer and me. In this project, I introduced and implemented the ISAS development process method into FireExpert development and responsible for the system architecture design and made sure each module was right.
Skill: Java, Spring Boot, Spring JPA, Spring Security, Vue.js, Gitlab
Member: Developer: 2
Work Content: Design: 50%, Develop:30%, Test:20%
=============================================================================================
C. Asset management and risk assessment system
In this project, I was responsible for the whole system development, including the system architecture design, requirement analysis, unit tests, software deployment, etc. This product was originally a simple tool developed for a certain project. While the product developed, I think this tool can become a powerful product, so I used a more flexible design pattern to implement each module. Finally, I made this tool adapt to different company asset management methodologies and helped my company get a tender of NTD$35,000,000 from the government.
Skill: Java, Spring Boot, Spring JPA, Spring Security, Vue.js, Docker, GitLab
Member: Developer: 1
Work Content: Design: 60%, Develop:25%, Test:15%
=============================================================================================
D. Punch Clock App on Microsoft Teams - a collaborative project with Microsoft
This product is a Microsoft Teams application plugin from a collaboration case with Microsoft. In this case, I responsible for finished the prototype application from Microsoft. I needed to improve security issues and complete advanced features. I also needed to integrate the customer's Azure AD data into this application and built the Azure Authentication flow by Microsoft Teams SDK.
Skill: Node.js, React, PostgreSQL, Azure (App Service, App registrations), Microsoft Teams SDK
Member: Project Manager:2, Developer: 2
Work Content: Develop:35%, Maintain: 35%, Test:20%, Design: 10%