私の名前はシャウハンです。

職歴

2019 年 7 月から 2025 年 3 月まで、彩雲科技でバックエンドエンジニアとして勤務しています。主な担当業務:

  • 2019 年に天気 API コアシステムを Python 2.7 から Python 3.7 へアップグレード
  • 彩雲天気アプリのプッシュ通知システムのリファクタリング
    • Python プロデューサーと Celery ワーカーを使用し、Protocol Buffers で Redis リストにプッシュタスクを書き込み、Golang ワーカーで消費する方式を実装
    • 毎秒約 3,000 件の通知送信を実現
  • 高スループットの内部 Flask & FastAPI サービスを Go+Gin で再実装し、高速な地理演算と気象観測所データ API を提供
  • 長年の既存コードを Kubernetes 上のモダンアーキテクチャに刷新
    • 2023 年第 1 四半期にダウンタイムなしでクロスリージョントラフィック移行を実現
  • 天気レイヤーのアニメーションシステムを開発(デモ)、マーケティングに大きく貢献
  • 気象観測所の履歴データのアーカイブと検索システムを構築。複数の Parquet ファイルにデータを保存し、Celery ワーカーで非同期読み取りと処理を実行
  • 複数のバックエンドエンジニアをメンタリングし、既存業務の理解を支援、採用活動にも参加
  • 部門間のコミュニケーション効率を向上させるための社内ドキュメントを作成

使用技術:

  • Redis (PubSub / Hash / List)
  • MongoDB (ジオインデックス / アグリゲーション)
  • Kubernetes (Deployment / Statefulset / Cronjob)
  • Python (Flask / Gunicorn / Uwsgi / NumPy / FastAPI / Celery / Parquet / Polars)
    • CPU 負荷の高いサービスでは Python の AsyncIO スケジューラの効率が低いため、FastAPI の使用を中止
    • NumPy でしか提供できない特定機能が必要な Flask サービスは継続使用
  • 地理演算 (H3 / Slippy Tiles / タイムゾーン / 行政区画チェック / 内包判定 / レイキャスティング / …)
  • Go (Hertz / Gin / Protocol Buffers / gRPC)
  • Rust (Python エクステンション開発、tzfpy など)

個人プロジェクト

以下の個人プロジェクトを開発しています:

  • 高速タイムゾーンパッケージ
  • 彩雲 API をサポートするwegoのフォーク版、 デモ
  • AQI(大気質指数)計算用の Go パッケージaqi

学歴

2015 年から 2019 年まで、北方工業大学で情報・計算科学の学士号を取得。

作成したリポジトリ

作成したリポジトリ

貢献したリポジトリ

貢献したリポジトリ

連絡先