Home

[SOP] Landing Manual

Li

Li Wei

April 21, 20266 min read

【SOP】Landing Manual

Introduction

This manual provides every developer with a comprehensive, practical guide for the landing phase, helping you set up the development environment quickly, get up to speed fast, and develop efficiently.

Last updated: April 1, 2026

Environment Setup

The environment is optimized for macOS M‑series machines. If you are using Windows or other operating systems, you can look up the necessary configurations online as needed.

Development Tools

Homebrew

A popular package manager for macOS and Linux that makes it easy to install, manage, and update a wide range of open‑source software packages and tools.

Run the following commands in the terminal:

  • Install an app: brew install --cask
  • Uninstall an app: brew uninstall --cask (cleaner than dragging it to the Trash)
  • List installed apps: brew list --cask
  • Update all apps with one command: brew upgrade --cask
Node.js

Node.js is a JavaScript runtime that allows you to run JS on the server side. Managing it with nvm avoids permission errors (sudo) and makes version switching easy.

nvm is the Node version manager. Different projects may require different Node versions (e.g., legacy projects use v14, new projects use v20).

  • Without nvm: you can only have one fixed version installed, and switching requires uninstalling and reinstalling repeatedly.
  • With nvm: you can install multiple Node versions side by side and switch with a single command.

Install via nvm—run these commands in the terminal:

  • Install a specific version: nvm install (e.g., nvm install 18)
  • Switch version: nvm use
  • List installed versions: nvm ls
  • Set a domestic mirror (npm acceleration):
Oh My Zsh

An open‑source framework for managing Zsh configuration. It offers hundreds of useful plugins and beautiful themes, making your terminal both powerful and attractive.

Run in terminal to install:

  • Edit configuration: vim ~/.zshrc (after editing, run source ~/.zshrc to apply)
  • Change theme: locate ZSH_THEME="robbyrussell" in the config file and replace it with agnoster or another theme.
  • Recommended plugins:
    • git – enabled by default, provides shortcuts (e.g., ga stands for git add).
    • zsh-autosuggestions – auto‑completes command history.
    • zsh-syntax-highlighting – syntax highlighting for the command line.
  • Uninstall: uninstall_oh_my_zsh
SDK

Python – run the whole script below; it will automatically handle: installing the tool → downloading 3.12 → setting environment variables → applying changes immediately.

Java – run the whole script below; it will add the repository → download three JDK versions → write a version‑switch script.

IDE

IntelliJ IDEA – installation command:

Quick setup:

Activation: (if the company already provides a licensed account or a better activation method, you can skip this)

PyCharm – installation command:

Cursor – installation command:

Website:

Claude code – installation command:

Run the command in the terminal to start:

Statistics:

Codex – installation command:

Git

Install Git via terminal command:

Configure parameters:

Generate a Git key: replace the name, email, etc., with your own information.

Just press Enter through the prompts, then copy the key to the clipboard with the following command:

Add the Git key: go to the company code platform (usually GitLab) and add it under SSH Keys.

Maven

Install directly with brew:

According to company documentation, place the settings.xml file in the ~/.m2 directory and enable override in IntelliJ IDEA.

General Tools

  • Google Chrome: the most popular web browser.
  • Pixin: a lightweight clipboard‑history manager that lets you quickly recall and manage copied content.
  • Maccy: an efficient clipboard‑history tool for macOS, supporting fuzzy search, tagging, and hotkeys.
  • wget: a GNU command‑line downloader for HTTP/HTTPS/FTP, suitable for non‑interactive use on servers and in scripts.
  • Pandoc: a free, open‑source, cross‑platform (Windows/macOS/Linux) document converter that handles a wide variety of formats.
  • Clash Verge: a graphical network proxy client supporting multiple proxy protocols (Shadowsocks, VMess, Trojan, VLESS, etc.). Import proxy node configurations via subscription links and use rule‑based routing (direct for domestic sites, proxy for overseas).
  • Tmux: a command‑line tool whose full name is Terminal Multiplexer. It lets you run and manage multiple sessions, windows, and panes within a single terminal window.
  • 欧路词典 (Eudic): a multi‑platform translation tool supporting many language pairs, screen word capture, a vocabulary notebook, and custom dictionary extensions—great for learning and work.

Office Tools

Software Install Command Yuque brew install --cask yuque Feishu brew install --cask lark Tencent Meeting brew install --cask tencent-meeting WeChat Work brew install --cask wxwork

Resource Organization

During the landing phase, you need channels—both proactive and passive—to obtain internal information. They fall into two main categories:

  • Internal chat groups: Teams usually set up relevant groups, such as team group, requirement sizing/review/scheduling group, development‑process enforcement group (e.g., CR, change), monitoring‑alert response group, etc.
  • Company platforms: Based on internal documentation, daily‑use platforms include (but are not limited to) databases, monitoring dashboards, alert configurations, quality/efficiency tools (including code PRs), configuration centers, incident post‑mortems, log centers, and various middleware management consoles (e.g., scheduled jobs, message queues). Different departments and teams have their own business platforms. You need to know what each platform is, its purpose, how to use it, and become familiar with its features and metrics.

Business Overview

  • What the department does, who its users are, where the data comes from, and which modules are involved.
  • Which part of the department the team is responsible for, the modules it includes, how those modules interconnect, the capabilities they provide, key metrics, and required outcomes.
  • Which part you will be responsible for, and the upstream/downstream contacts and services.

Consider organizing the following questions:

  • Business structure: Summarize the upstream/downstream scheduling process and outline each node’s function.
  • Team projects: Briefly introduce each project, stating its goals and background.
  • Specific responsibilities: List the tasks and duties you will handle within the project.
  • Rationale: Explain why you chose the particular methods and solutions, including business needs and technical requirements.
  • Problems solved: Identify key challenges encountered in the project and how you addressed them.
  • Value and benefits: Clarify the direct value and benefits of your work, such as increased efficiency, cost reduction, or improved user satisfaction.

Originally written by Li Wei (李唯_) and published in Chinese on 后端技术栈全书 (Full-Stack Backend Engineering). Translated and adapted for DriftSeas with permission.

Keep reading

More related articles from DriftSeas.