PearlAbyss
Summary
- July 2021 ~ December 2022
- GamePlatform Team
(Full time)
- Developed custom internal tools to enhance operational efficiency and streamline testing processes
- Implemented a monitoring and alerting system to quickly detect and share errors during the software build and deployment process, collaborating with QA and developers to improve work processes and productivity
- Maintained Jenkins CI/CD pipelines, focusing on resolving underlying issues to prevent recurrence of problems instead of merely responding to them
- Standardized the build system by:
- Consolidating version control tools from Perforce, SVN, and GitLab to GitLab
- Unifying build scripts from shell, Python, and Groovy to Groovy
- Centralizing build tools to Jenkins
- Constructed a monitoring and alerting system to collect critical error occurrence information from the engine
(using C++, ELK, and Slack)
Skills
Skills | Proficiency |
---|---|
Language | Python(***), Javascript(**), Typescript(**) , Groovy(**) , C++(*) |
Framework | FastAPI(**), Next.js(**), Nestjs(**) |
Database | MongoDB(*), MySQL(*), MSSQL(*) |
Collaboration Tool | Slack, Atlassian Jira/Confluence |
OS | Windows, Windows Server |
SCM | GitLab, VisualSVN, Perforce |
IDE | VSCode, Visual Studio |
CI/CD | Jenkins(***) |
Container | Docker(**) |
Monitoring | ELK(**), Grafana(*) |
Details
- Custom Internal Tools Development
- Developed and maintained various custom internal tools to enhance operational efficiency and streamline testing processes
- Utilized Python, TypeScript, and Jenkins to create user-friendly interfaces and automate repetitive tasks
- Collaborated with cross-functional teams to gather requirements and ensure tools met the needs of users
- Continuously improved tools based on user feedback and changing project requirements
- Monitoring and Alerting System Implementation
- Designed and implemented a comprehensive monitoring and alerting system to quickly detect and share errors during the software build and deployment process
- Utilized ELK stack (Elasticsearch, Logstash, Kibana) and Slack to collect, analyze, and visualize log data
- Collaborated with QA and development teams to establish effective alert thresholds and notification channels
- Conducted training sessions to help team members understand and utilize the monitoring and alerting system effectively
- Continuously refined the system based on user feedback and identified areas for improvement
- Jenkins CI/CD Pipeline Maintenance
- Maintained and optimized Jenkins CI/CD pipelines to ensure smooth and efficient software builds and deployments
- Investigated and resolved pipeline failures, focusing on identifying and addressing the root causes of issues
- Implemented proactive measures to prevent the recurrence of common problems, such as adding additional validation steps and improving error handling
- Collaborated with QA teams to incorporate best practices and standardize pipeline configurations across projects
- Build System Standardization
- Led an initiative to standardize the build system across the organization, improving consistency and reducing maintenance overhead
- Consolidated version control tools from Perforce, SVN, and GitLab to GitLab, simplifying source code management and collaboration
- Unified build scripts from shell, Python, and Groovy to Groovy, creating a more maintainable and scalable build process
- Centralized build tools to Jenkins, providing a single platform for managing and executing builds across projects
- Developed and maintained shared libraries and plugins to encapsulate common build functionality and promote code reuse
- Engine Monitoring and Alerting System
- Constructed a monitoring and alerting system to collect critical error occurrence information from the game engine
- Utilized C++ to instrument the engine codebase and capture relevant error data
- Leveraged ELK stack to store, process, and analyze the collected error data
- Integrated Slack to provide real-time notifications and alerts to the relevant teams
- Collaborated with engine developers to define error categories, severity levels, and notification rules
- Continuously monitored the system's effectiveness and made improvements based on insights gained from the collected data