Slide 1

Slide 1 text

会社を支える Pythonという言語戦略 - なぜPythonを主要言語にしているのか? Recustomer, Inc. CTO Shugo Manabe 「Pythonの多様性 深堀りLT Night」 ~バックエンドから機械学習 @ Findy

Slide 2

Slide 2 text

Profile : 眞鍋 秀悟 ( X: @curekoshimizu ) 略歴 ● 京都大学 / 大学院 ○ 入試一位合格 ○ 数学系 (高速な計算方法を専門) ● Fixstars ○ Executive Engineer ● Mujin ○ Architect ● Preferred Networks ○ Engineering Mananger ● Hacobu ○ 研究開発部部長・CTO室室長 ● want.jp ○ VPoP ● [Now] Recustomer ○ CTO 10年程Pythonを 業務で使ってきた 2

Slide 3

Slide 3 text

Python 3

Slide 4

Slide 4 text

そうそれは 応用性の高い 多様性の言語 4

Slide 5

Slide 5 text

もともと抱いていた 正直な Pythonへの感想 5

Slide 6

Slide 6 text

スクリプト言語 = 遅い・不安定 と思っていた (10年前) 6

Slide 7

Slide 7 text

Robotics という人生経験が 私を変えました 7

Slide 8

Slide 8 text

Robotics = バグの改修が 物理的に難しい (AWS上の更新とかではなく物理上のデータ更新) ・バグが出ると 人命を危険に晒す 8

Slide 9

Slide 9 text

Roboticsのコード = C++ と Python 9

Slide 10

Slide 10 text

私がいた会社・チームの roboticsに関するコード Pythonコード量 >>> C++コード量 10

Slide 11

Slide 11 text

24時間365日 Pythonという システムは 過酷な環境を 動き続ける感動を学ぶ 11

Slide 12

Slide 12 text

Roboticsという 瞬時に判断し行動する システムでも 使われいてる 12

Slide 13

Slide 13 text

スクリプト言語 = 遅い・不安定 と思っていた (10年前) 13

Slide 14

Slide 14 text

スクリプト言語 = 遅い・不安定 と思っていた (10年前) 14 こうした ネガティブなイメージが 払拭される経験を得る

Slide 15

Slide 15 text

ここまでの内容は Findy さんの記事に寄稿しております 是非読んでみてください🎉 15 Findyブログ

Slide 16

Slide 16 text

皆さんは Pythonという言語に 助けられたことは ありますか?

Slide 17

Slide 17 text

私はこれまで こうした分野に 助けられました 17

Slide 18

Slide 18 text

18 画像処理

Slide 19

Slide 19 text

19 画像処理 データ分析 数式処理 Web開発

Slide 20

Slide 20 text

20 画像処理 データ分析 制御 シミュレーション 数式処理 Web開発 競技 プログラミング アルゴリズム Daily スクリプト 言語 レンダリング MCP 数理最適化 機械学習 地理空間解析 ネットワーク 処理 幅広い分野で使ってきました

Slide 21

Slide 21 text

これらはすべて 趣味ではなく 業務で使ってきた 分野達 21

Slide 22

Slide 22 text

Pythonは 懐が深い 22

Slide 23

Slide 23 text

Pythonという言語は めちゃくちゃ 幅広い分野で 業務で活躍できる (これは他の言語にない大きな特徴)

Slide 24

Slide 24 text

この多様性が Recustomerで Pythonを主力に 置いている理由 24

Slide 25

Slide 25 text

Backendを Pythonで統一する ことができる 25

Slide 26

Slide 26 text

会社の技術判断として 考慮すべきこと = 会社の事業成長 26

Slide 27

Slide 27 text

27 画像処理 データ分析 制御 シミュレーション 数式処理 Web開発 競技 プログラミング アルゴリズム Daily スクリプト 言語 レンダリング MCP 数理最適化 機械学習 地理空間解析 ネットワーク 処理 いろいろな分野に成長しても 社内エコシステムを携えたまま大きくできる

Slide 28

Slide 28 text

例えば? Recustomer = EC分野 28

Slide 29

Slide 29 text

29 画像処理 データ分析 制御 シミュレーション 数式処理 Web開発 競技 プログラミング アルゴリズム Daily スクリプト 言語 レンダリング MCP 数理最適化 機械学習 地理空間解析 ネットワーク 処理 EC Backend

Slide 30

Slide 30 text

30 画像処理 データ分析 制御 シミュレーション 数式処理 Web開発 競技 プログラミング アルゴリズム Daily スクリプト 言語 レンダリング MCP 数理最適化 機械学習 地理空間解析 ネットワーク 処理 ECで画像に関わる技術は必須級

Slide 31

Slide 31 text

31 画像処理 データ分析 制御 シミュレーション 数式処理 Web開発 競技 プログラミング アルゴリズム Daily スクリプト 言語 レンダリング MCP 数理最適化 機械学習 地理空間解析 ネットワーク 処理 需要予測 など

Slide 32

Slide 32 text

32 画像処理 データ分析 制御 シミュレーション 数式処理 Web開発 競技 プログラミング アルゴリズム Daily スクリプト 言語 レンダリング MCP 数理最適化 機械学習 地理空間解析 ネットワーク 処理 地理的情報分析

Slide 33

Slide 33 text

Pythonは ● 遅く・不安定では許されない環境 で利用されており ● 事業の進化に強い言語 33 そんな理由でRecustomerは Pythonを主力言語として使っています!

Slide 34

Slide 34 text

Python統一を前提に 社内ライブラリを 特化して整備 34

Slide 35

Slide 35 text

例えば ● logging ● Result/Either型 ● Pub/Sub Module ● linter など 35

Slide 36

Slide 36 text

例えば ● 社内UI は React ではなく 素早く Streamlit で作る ● 社内分析基盤に Marimo (JupyterNotebook) 環境 など 36

Slide 37

Slide 37 text

色々なエコシステムを統一して 少ない人数で開発している会社 = Recustomer 37

Slide 38

Slide 38 text

38 統一こそが 開発生産性の近道! Pythonに力入れています! 是非カジュアル面談に! 全エンジニア = 9人ながら