Skip to content

Zhumei Song ​

Software Engineer based in Tokyo πŸ‡―πŸ‡΅

πŸ“Œ Summary ​

Senior Front-End Engineer with 10+ years of experience designing and building scalable, user-friendly web applications.

Front-End:

  • 9+ years of experience with React, 7+ years with TypeScript
  • Expertise in designing scalable, maintainable Front-end Architectures (Monorepo, Micro-frontend, Clean Architecture, etc.)
  • Proficient in writing clean code and developing user-friendly interfaces
  • Strong understanding of Domain-Driven Design (DDD) and data modeling
  • Expertise in performance optimization (ESM tree-shaking, code splitting, lazy loading, image optimization, reducing LCP, etc.)
  • Knowledge of front-end engineering best practices (Webpack, Vite, Eslint, type-check, testing, CI/CD, etc.)

Back-End:

  • 3+ years with NestJS
  • Hands-on experience building robust APIs (GraphQL, RESTful APIs)
  • Skilled in ensuring seamless integration with frontend applications
  • Expertise in Clean Architecture and Clean Code principles
  • Experience with Event-Driven Architecture

Product:

  • Experienced in pitching ideas to investors and stakeholders
  • Experienced in driving a product from 0 to 1 (CPF, FPF, PSF, SPF, PMF)

Team:

  • Team player, collaborating with team members (Product Owner, Designer, Backend Engineer, etc.) to achieve goals
  • Leading the development of projects from design to implementation
  • Mentoring junior engineers

🌈 Skills ​

Front-End:

Reactjavascripttypescriptvaltioreact querytailwindcssNext.jsstyled-componentsvitestorybookvitestplaywrightmonorepohtml5css3sassredux

Back-End:

Nest.jsnodejsApollo GraphQLGraphql federationrestful APIjestwebpackmongodbmongoosemonorepoOAuth2

DevOps & Deployment:

GitHub Actionssemantic releaseAWSDocker

Methodology & Architecture:

Clean architectureFunctional ProgrammingDeclarative ProgrammingDDDOODAgile Methodology

Others:

Self DrivenProblem SolvingTeam CollaborationCommunication

πŸ‘©πŸΌβ€πŸ’» Engineering Experience ​

Software Engineer @Atrae (2021.12 ~ Β· 3 yrs+)

Atrae is a Japanese IT company specializing in People Tech, I'm part of the Wevox product team. Wevox is a B2B SaaS web service designed to enhance organizational capabilities. Over 3,390 organizations have adopted Wevox, and has gathered more than 283.5 million survey responses data in total.

React/Next.js/TailwindCSS/Jotai/Valtio/Immer/Nx Monorepo/TypeScript/NestJS/NodeJS/GraphQL/Restful API/Axios/Urql/Docker/AWS/GitHub Actions

  • Led the front-end migration from a monolithic app to Nx monorepo, enabling the independent development and deployment of multiple products.
  • By separating the Domain and Application layers from the Presenter, the issue of an overly heavy Presenter was addressed. This made the scope of changes more manageable and significantly reduced the number of mock methods required during testing.
  • Manually implemented a Dependency Injection (DI) framework in React, achieving complete separation between interface definitions and implementations. This improved the decoupling and flexibility of the modules.
  • Limited the use of React to the Interface-Adapter layer and UI layer, reducing the system's dependency on React and specific state management libraries.
  • Refactored and migrated the survey answer application, which has over 500,000 monthly visits, to a Monorepo. The modular design supports independent development and debugging of different components of the application, improving development efficiency and future maintainability. By implementing on-demand loading of components, the page's First Contentful Paint (FCP) was improved by 50% (from 1.8 seconds to 0.9 seconds).
  • Used semantic-release for version management of both internal private packages and shared open-source packages, implementing semantic versioning and automating the release process.
  • Collaborated with back-end engineers to implement a unified front-end and back-end error-handling design through a shared package (including input validation and error handling). Provided a documented error-handling solution based on Error Codes.
  • Adopted a GraphQL Federation architecture in a new project, designing subgraphs based on aggregate roots, successfully avoiding circular dependency issues.
  • Developed GraphQL-based findAllWorkflowActions and findAllWorkflowTemplates APIs using NestJS, optimizing the performance of these queries.
  • Used Persisted Queries to reduce request size, decreasing bandwidth consumption and eliminating the performance overhead of having the server parse and validate query content on every request.
  • Applied Gzip compression to large JS files exceeding 10 MB, significantly reducing initial page load time.
  • Collaborated with designers to develop and maintain a reusable UI component library based on Material UI (including components such as LoadingButton, Steps, Rate, Spin, Selectable Table, etc.), enhancing team development efficiency and code consistency.
Front-End Lead @Monstarlab Japan (2018.12 ~ 2021.11 Β· 3 yrs)

MonstarLab Group is a global software development and consultation firm.

React/Redux/Redux-Saga/Immer/Sass/styled-components/axios/Docker/AWS/GitHub Actions

  • Collaborated with frontend engineers across different branches of the organization to promote React best practices internally.
  • In a coffee label printing web project, optimized the performance of displaying a list of over 5,000 label images by using a virtual list, resolving page lag issues.
  • Designed and developed a live-stream comment feature capable of handling over 100,000 concurrent users. Ensured the safety of counting concurrent comments by utilizing atomic counters. Employed throttling to control comment refresh frequency and maintain performance. Used Python scripts to simulate a high volume of concurrent requests and tested the feature’s ability to handle 100,000 simultaneous users.
  • Led the development and maintenance of components for the design system in a large-scale stock trading web project.
  • Trained junior engineers and through code reviews to improve code quality and knowledge transfer.
Front-End Lead @Monstarlab China (2016.03 ~ 2018.11 Β· 2 yrs 9 mos)

React/Redux/Redux-Saga/Immer/Sass/styled-components/axios/Docker/AWS/GitHub Actions

  • Collaborated with the CTO office to promote a front-end and back-end separation development model across all company web projects, enabling simultaneous development and improving overall efficiency.
  • Wrote test code for shared components across projects, achieving unit test coverage and enabling easier refactoring.
  • Led the formulation and implementation of front-end code review standards for the company’s web projects, enabling knowledge transfer and code quality.improvement among front-end team members through mutual code reviews.
  • Designed and developed the WebView for a large-scale ticket booking hybrid application, utilizing a shared WebView for iOS and Android native systems, which significantly enhanced development efficiency.
Front-End Engineer @Monstarlab China (2014.10 ~ 2016.02 Β· 1 yrs 5 mos)

Html5/CSS3/SASS/JavaScript/jQuery/React/React Router/gulp/rollup

  • Designed and developed interactive, responsive web pages based on jQuery, ensuring optimal user experience across various terminal devices.
  • Self-taught React and successfully implemented a front-end and back-end separation in a video streaming website project.
Freelancer (2009.07 ~ 2014.09 Β· 5 yrs 3 mos)

Html5/CSS3/SASS/JavaScript/jQuery/PHP/WordPress

  • Self-learned web development skills during college. Worked as a landscape architect after graduation but pursued a passion for web development through side projects.
  • Served over 20 companies, including architecture design firms, landscape design firms, IT companies, game companies, and watch sales company. Delivered successful digital marketing and promotion projects for more than 30 brands.

🌱 Independent Projects ​

Working on doing the AI-powered application:

Daily Delight

The foundations of the projects development are:

Multiple Projects Development Workspace

GraphQL Federation Workspace

Shared Github Actions Library

@zhumeisong/semantic-release-config

@zhumeisong/git-cz-config

@zhumeisong/common-error-exception

🎨 Goals & Vision ​

I believe simplicity is powerful and I enjoy practicing anything that helps simplify things.

Creating a new problem to solve an old one may seem like progress, but it often amounts to running in larger circles.

I aim not just to complete tasks like building pages or APIs but also to delve deeper into low-coupling, high-cohesion software architecture.

I seek roles with work content that includes:

  • Resolving technical debt
  • Managing Complexity Across Multiple Services
  • System performance data visualization and improvement

These areas align with my strengths in tackling complexity and driving impactful solutions.

My approach to work is:

  • Selecting a worthy challenge (to aim at creating value)
  • Thoroughly analyzing simple matters (to manage risks and prepare for the future)
  • Simplifying complex matters in action (to deliver quality products while controlling costs)
  • Articulating complexity in a simple manner (to ensure successful knowledge transfer)

πŸ’¬ Languages ​

  • πŸ‡―πŸ‡΅ Japanese: Professional working proficiency (N2)
  • πŸ‡ΊπŸ‡Έ English: Full professional proficiency
  • πŸ‡¨πŸ‡³ Chinese: Native

πŸ† Activities ​

  • [Xinyao Cup Hackathon, Code for City] 1st Place with a product of deep learning in image Processing: colorit - Chengdu, Sichuan, China (2018.01)

πŸ‘©πŸΌβ€πŸŽ“ Education ​

Chengdu University of Technology - B.S. Landscape Architecture - Chengdu, China (2008.09 - 2012.06)

πŸ’š Personal ​

I love traveling, gardening, and writing blogs to share my learning and experience.

Hoping to complete a trip around the world with my family.

Last updated: