Npn3gvwzmeezfheseoa9

沈記維 Chi Wei Shen

Software Engineer 

● Software Engineer with 4+ experience in back-end development. 

● Experience in several languages such as Python, Golang, Rust, Java. 

● Experience Network and Web development. 

● Love learning new things . 

● Good logic and communication skills.


[email protected]

Skills


Program Languages

- Python 

- Go 

- Rust

- Java


Database Systems

- PostgresSQL

- TimescaleDB

- MongoDB

- Redis

- Kafka

- Druid


Tools

- Git 

- Postman 

- Docker

- Selenium 

- FFmpeg

- Cypress

Experience

Lilee systems, Software Engineer, Feb 2021 ~ 現在

● Back-End Service Development: 

  • Maintained, designed, and developed robust back-end services to support various functionalities. 
  • Authored comprehensive development documents, and implemented unit tests to ensure code quality. 
  • Collaboratively proposed requirements and led the design of new features, aligning with project goals. 
  • Defined clear acceptance criteria for feature evaluation, and meticulously designed test cases for thorough validation. 

● Development of SafeART (Terminal 3) Product: 

  • Design the service architecture of the central control center and database
  • Utilized technologies such as Python(GraphQL), Postgres, TimescaleDB.


● Development of SafeRide Product: 

  • Designed and implemented APIs for real-time and historical data. 
  • Spearheaded the refactoring of SafeRide video functionality, overseeing VoD (Video on Demand) and event VoD operations: 
    • Including the design of a progress bar for chunked transfer encoding. 
    • Handled digital watchdog-related operations and created tools for VoD flow tracing.
    • Improved error handling for full VoD functionality and utilized ffmpeg to fill in missing video segments.
  • Conducted independent research on NVR systems, focusing on compatibility with IP cameras supporting the RTSP protocol:
    • Clarified functional and non-functional requirements, ensuring seamless integration between the NVR and RTSP-supported IP cameras. 
    • Dived deep into the RTSP protocol to enhance video recording and playback functionalities.
  • Optimized Reporting Service: Achieved a 91.5% reduction in data processing time for monthly reports, efficiently handling 500K records.
  • Utilized technologies such as Python, Golang, Redis, Postgres, TimescaleDB, and Kafka.
●Development of Locomotive Asset Management Service (Taiwan Railway, TC4.0):
  • Designed and implemented APIs to access historical train data, onboard systems, locomotive assets status, and real-time dispatch information. 
  • Engineered background jobs for daily scheduling, providing up-to-date information on train times and real-time train status.
  • Utilized technologies including Python, Redis (Pub/Sub), Postgres, and TimescaleDB to ensure efficient and reliable service. 


● Team Collaboration and Contribution: 

  • Facilitated knowledge sharing by introducing Computer Networks concepts to team members. 
  • Conducted code reviews, providing constructive feedback to enhance code quality within the team. 
  • Collaborated in designing End-to-End (E2E) tests to ensure system functionality and reliability. 
  • Authored clear and concise code documentation, contributing to maintainable and understandable codebase. 


● Work with Scrum

Zyxel, Software Engineer, Aug 2018 ~ Feb 2021

Responsible for the construction of the Data Service and the development and maintenance of the cloud system, "Nebula". 


● Nebula: 

- A network management system that integrates diverse devices including Wi-Fi access points, Ethernet switches, and security gateways. It consolidates these into a single cloud platform, offering a comprehensive solution for managing user network infrastructure. 

- Developed using Python 3.6 and the Flask application framework. - Designed and developed MongoDB schema and RESTful APIs. 

- Managed Nebula AP and Gateway Flex-related functionalities and configuration push settings. 


● Data Service: 

- A data processing system designed to manage the data from Nebula devices. Due to the vast data volume associated with Nebula, Cassandra was employed as the back-end database system. 

- Technologies utilized include Rust and Cassandra.

Trend micro, Intern, Jun 2017 ~ Aug 2018

● Autotest 

- Responsible for assisting P-QA in AP system testing

- Main test items: When the user connects to the Internet via Wi-Fi access points, confirm whether the system can correctly identify the currently opened application.

- Develop automated test to simulate the behavior of users browsing the web and using the APP

- Web side: Python with Selenium 

- Mobile side: Python with Appium

Yuan Ze University, Institute of computer science and engineering2015 ~ 2018

During studies, I worked as a teaching assistant for courses such as computer network, and participated in the TaNet-Taiwan Internet Symposium and published papers.

Chien Hsin University of Science and Technology, Department of Computer Science and Information Engineering2009~ 2013

The main focus is on the Internet learning course, and obtain relevant certificates.

Side project


Kerberos

Development Period: 2023/08/10 - Present 

Project Description: Designed and developed a Network Video Recorder (NVR) system focused on capturing video feeds from RTSP protocol-based IP cameras. 

Current Progress: Still in the software design phase, but have successfully implemented the capture of RTSP data streams and preliminary video recording functionality. 

Technical Details: 

  • Backend development in Golang with an emphasis on efficient data stream processing. 
  • Implemented parsing and streaming of RTSP protocol, with capability to connect to multiple IP cameras simultaneously. 
  • Designed video storage strategies ensuring data integrity and persistence. 

Contributions: 

  • Led the overall system architecture design and core functionality development. 
  • Ensured efficient data stream processing and storage through deep insights and optimizations in Golang.

Language: Go
Framework: Gin
DB: PostgreSQL, MongoDB

Ticket Tracking System

Ticket Tracking System uses Spring for development (Spring boot / Spring MVC). 

This system allows QA to report a bug, PM create new feature request and RD can mark a bug as resolved.

  • Language: Java
  • Framework: Spring boot / Spring MVC
  • Template: Thymeleaf
  • DB: MongoDB

Pokedex 

Every Pokemon has their own properties, such as {number, name, types,evolutions}. 

Now we want to build a Pokedex. 

  • Language: Python
  • Framework: Flask
  • DB: MongoDB

Cassandra-rs-driver

Create cassandra-rs-driver application rust version develop environment in build machine

  • Language: Rust
  • DB: Cassandra

Multi-Process-IPC

Implementation of Mean, Median, Mode Calculator using IPC

  • Language: Python

License


- Cisco Certified Network Associate Routing and Switching / CCNA

- Red Hat Certified Engineer / RHCE

- Ethical Hacking and Countermeasures / CEHv7 

- Certified Cabling Test Technician / CCTT