Download - PyCon JP 2015 keynote
Possibilities of Python〜エンジニア・コミュニティ で組織は動き出す
株式会社ビープラウド佐藤治夫
PyCon JP 2015 Keynote 2015/10/11
Question
Do you like Python ?
自己紹介• 佐藤治夫( Sato Haruo )• Be Proud Inc. CEO
2006 年 5 月設立• Web の受託開発がメイン事業• connpass 企画・開発・運営• Python での開発実績: 70 プロジェクト以上( 2008/4 〜)• Python Professional Programming第 1 版 2012 年 3 月、第 2 版 2015 年 2 月 上梓
PyConJP(APAC) と私
<個人>2011 年「 Python で働くということ」 パネルディスカッション登壇2012 年 一般枠参加2013 年 - 2015 年 Patron 枠 で参加
PyCon JP 2014
©PyCon JP2014
Theme
未来の会社( Future Compamy) 1. 組織 (Organization) 2. エンジニア (Engineer) 3. 組織とエンジニア (Organization and Engineer)
Python を会社のメイン言語に採用( 2008 年 4月)↓会社が大きく変化↓変化の中で見えて来たもの
エンジニアが活躍する未来の会社はどうあるべきか
そもそも私が会社をつくった理由2006 年当時・当時の私 = プログラマ / フリーランス・世の中 ・企画 / 営業の人が組織で上 ・エンジニアの給料は低かった
エンジニアが活躍し、幸せになれる会社はどのような会社であろうか?↓「これからの時代の会社」を自分がつくろう
Python の採用2006 年 5 月〜 2008 年 3 月 主に Java 、 perlで開発↓
2008 年 3 月、会社のメイン言語を Python に決定 ・会社のメンバー 4 人(役員含む) ・ Python による開発実績は 0 件
Python を採用した理由「これからの時代の会社」を つくっていくエンジニアを採用したい↓Java 、 PHP のエンジニアは大手会社との争いになる→ 資金量でかなわない↓Python は個人で使っている人は多いが、仕事で使っている人は当時少なかった↓Python で仕事ができるようにすれば、大手会社と競争にならず、良いエンジニアが来てくれるのではないか
目をつけたのは技術よりも人
・仕事で使う機会が少ないのに自ら学ぶ技術への意欲・複数言語を知っていてバランス感覚が良い・自ら技術を選択する主体性
Python を採用した結果2008 年 4 月、 Python を採用することをひっそりと Twitterで宣言↓2008 年 6 月、 Python コミュニティ (Python 温泉 ) から1人目のエンジニアが紹介される↓2008 年 2 人入社↓2009 年 10 人入社… その後も次々と入社
リーマンショック後にも関わらず開発案件が増加した
Python の採用による会社方針の変化
選択と集中 PHP 、 Ruby 、 Java などの仕事は請けない方針↓信頼の輪を広げて行くパートナーとして任せてもらえる顧客との信頼づくり → 信頼される仕事をする → パートナーとして任せてもらえる顧客を紹介で広げて行く ※良い顧客は良い顧客とつながっている → 70 件以上の Python 開発実績につながっていった (営業マン 0 人)
Python の採用によりどのような人たちが集まってきたか?
変わったひとたち(Strange People)
ひとことでいうと… .
変わったひとたちが集まって来た
休みやプライベートの時間を使ってPython の勉強をしたり、集まってプログラミングにいそしむ変わったひとたち…
愛すべき変わりもの( Geek 、 Nerd )
10 月の 3 連休にプログラマ同士で集まって「ウェーイ」とはしゃいでるひとたち…
Q. 個性が強いエンジニアをどう束ねるの?度々、質問されること
Answer 束ねない(制御不能のため)
→ 彼らの声に耳を傾け、 彼らが望むように経営にしよう↑会社が変化していった
会社に起こった変化
会社の変化その 1
Python を好きな人たちが集まった↓会社自体が Python Community になった
Python
PyCon
FrameworkLibrary
Tool
BP
会社が Python Community になった効果・同じことに共感し、感動できる → 最新の情報が集まりやすい・ベースの価値観が一致している (影響 )読みやすさ , シンプル , Zen of Python → 合意の形成、意思決定の迅速化・ Document を積極的に書こうという人が多い (影響) Python標準ドキュメントの充実、 Sphinx →暗黙値の共有化、形式知化の促進
集まったひとたち・オープンソース を使い、恩恵をうけている・オープンソース・コミュニティ に参加している・オープンソースの Contributor として活動している↓会社も自然とオープンソース・コミュニティ型の会社運営に変わって行った
会社の変化その2
変化の中で見えてきたもの
これからの時代の会社とは?工業社会
(Industrial society)知識社会
(Knowledge society)
エンジニア( Engineer )( Knowledge Worker )
?
肉体労働者( Blue Worker )
エンジニア(ナレッジワーカー)が伸び伸びと創造性を発揮し価値を創り出せる会社
模索中
<現代社会>(Modern society )
エンジニアコミュニティ
エンジニア・コミュニティ( Engineer Community)
SoftwareDocumentConnection of people etc…
Python
PyCon
FrameworkLibraryTool
Meetup
価値(Value)
Engineer
↑
エンジニアが中心となり自発的に参加し、さまざまな価値を生み出しているコミュニティのこと。ここでは、主にオープンソースを中心としたコミュニティを指す。
・組織( Organization)・エンジニア (Engineer)・組織とエンジニア (Organization and Engineer)
知識社会の会社(これからの時代の会社) = エンジニア(ナレッジワーカー)が伸び伸びと 創造性を発揮し価値を創り出せる会社→ エンジニア・コミュニティにヒントがある
・会社 = コミュニティである・オープンソース・コミュニティ型運営から学ぼう
組織運営
同じことに共感し、感動することができる↓暗黙値が共有され、組織内の学習や情報共有につながる↓切磋琢磨の結果、会社が知識レベルがアップし、事業に活かせる↓ブランド化
会社 = コミュニティである
→ ジャンルは、事業に関係するものが効果的・雑談の積極的奨励・場作り(社内勉強会)
コミュニティ = 同じことに興味をもった人たちの集まり
1983 年 GNU Project1990 年代後半 Open Source Movement↓インターネットの発展↓ 多くのエンジニア が Open Source Project に参加↓Open Source Project の コミュニティ化↓組織運営・コミュニティ運営ノウハウを培う(エンジニア が創意工夫して培って来たノウハウ)→ エンジニアが活躍する、知識社会の会社にも有用
組織オープンソース・コミュニティ型運営から学ぼう
・フラットな組織 (Flat Organization)
・コミュニティ評議会 (Communtiy Council)
・コミュニケーション (Commnucation)
組織オープンソース・コミュニティ型運営から学ぼう
フラットな組織階層型か、フラット型か?
階層型組織・組織を管理しやすい・官僚制 → 管理のためのルールがつくられる・情報が階層間で滞りやすい → 意思決定のスピードが落ちる・どうしても出世に目が行く → 社内に目が向き、社外に対する意識が薄れがち
メリット 管理しやすいので、うまく回れば、上のひとは楽デメリット 内発的動機、自尊心、好奇心が失われ、創造性が失われる
フラット型組織 (Flat Organization)・目的ごとにチームをつくり、役割を決める・管理のためのルールは最低限 仕事をスムーズにするためのルール・情報が行き渡りやすい・出世を気にしなくて良い
メリット 価値を創り出すことに集中できるデメリット 組織の管理が難しい
フラットな組織への取り組み(役職無し)・社長含む役員2人以外は役職無し・名刺には好きな肩書きを記載
←肩書き
フラット型組織で大丈夫か?・セルフマネジメントと信頼関係を重視・管理する /管理されるの関係をつくらない
組織にかかるコストを削減できる・管理するコスト・管理されるコスト・コミュニケーションコスト→ 本来やるべき「価値を創り出す」ことに集中できる
会社の経営 = コミュニティの運営経営者 = コミュニティ・リーダー( = 役割) 経営者は偉い人ではない ↓ 権力ではなく役割である ↓ リーダーにとって重要なこと 権力ではなく、良い人格をもつこと
・フラットな組織 (Flat Organization)
・コミュニティ評議会 (Community Council)
・コミュニケーション (Communication)
組織オープンソース・コミュニティ型運営から学ぼう
コミュニティ評議会( Community Council )・コミュニティ全体を運営する役割を持つグループ・課題がある場合に、評議会に提出される・課題について評議会で議論し、方針を決定する
「 Art of Community 」 Jono Bacon 著 / 渋川よしき 訳 より
「 BP カイゼン」プロジェクト・会社を改善することを目的・月2回、1時間のミーティングを開催・社内誰でも参加できる・ redmine で課題管理。 課題がある場合、チケットを作成する・議事録は全社員に公開、オープンなプロセスで決定
Be Proud の取り組み
「 BP カイゼン」から生まれた制度BPRD2.0 (BeProud Remote Day)
・週5日間、いつでもリモート勤務可能・制度を維持できるように、自分たちで制度を育てている (例) ・アンケートを取り、問題点を改善する ・ Slack や bot などのツールを活用し、 皆が気持ちよく仕事ができるような仕掛けづくり
コミュニティ評議会を会社に置くメリット
・自分たちで良い制度を提案し、育てていくことができる → 当事者意識、参加意識が生まれる・決定プロセスがすべてオープンなので風通しがよい → 公正感が生まれる
・フラットな組織( Flat Organization)
・コミュニティ評議会 (Community Council)
・コミュニケーション (Communication)
組織運営オープンソースコミュニティ型運営から学ぼう
オープンソース・コミュニティ のコミュニケーション手段・ ML・ Issue Tracking System ( ITS )・チャット (Chat)・ビデオ通話 (Video Call)・オフラインミーティング (Offline Meeting)
時間、リソース、場所などの制約が多い・自然にさまざまな手段を使う・隙間時間で、成果を出している
Remote work for communication
導入しているコミュニケーションツール
時間、リソース、場所などの制約が多いのは会社も同じ↓
リモートワークの体制づくりにより制約を超える・時間 → 通勤時間の削減→時間を捻出する・場所 / リソース → 家庭事情などで会社に来れない人も仕事ができる
etc….
Q. リモートワークは チームでのクリエイティブな 仕事に向かないのでは?
リモートワークでは段取りが重要つくるプロセスアイデアを生み出すプロセス
必ずしも全ての時間、顔をあわせて仕事をする必要はない
チームで一緒に仕事 個別に仕事
「アイデアを生み出すプロセス」と「つくるプロセス」 を区別する
エンジニア・コミュニティ型組織運営のまとめ会社はコミュニティである・共感による社内知識共有→会社がレベルアップ・価値観の一致による意思決定の迅速化オープンソース・コミュニティ型運営から学ぼう・フラットな組織により価値・目的に集中できる・オープンな運営による当事者意識、参加意識、公正感の醸成・コミュニケーション手段の効率化により、 時間、リソース、場所の制約を超える
・組織 (Organization)・エンジニア (Engineer) ← Next・組織とエンジニア (Organization and Engineer)
知識社会の会社(未来の会社) = エンジニア(ナレッジワーカー)が伸び伸びと 創造性を発揮し価値を創り出せる会社→ エンジニア・コミュニティにヒントがある
創造的なエンジニアになろう
OrganizationContributionEngineer
<創造的>Value
idea
創造的なエンジニア = 主体的に価値を創り出そうとするエンジニアのこと
Open Source Contributor
Community自発的に参加Engineer
価値に目を向け、アイデアを持っている・どのようなソフトウェアが世界に役立つのか?・どのような機能が便利なのか?
Value
・社会にもたらされる価値に目を向けている・アイデアを持っている・自発的に参加している
・不安を乗り越え、主体的になる・技術に感動する習慣をもつ・価値を創り出すプロセスを学ぶ
創造的なエンジニアになる方法
創造的なエンジニアになる方法
・不安を乗り越え、主体的になる・技術に感動する習慣をもつ・価値を創り出すプロセスを学ぶ
創造性を失わせる最大の敵・不安 “できなかったらどうしよう”・恐怖 “できなかったらクビになる”
自分の外のことに怯え、主体性を失い、ディフェンシブな思考になる↓創造性を失う
創造的なエンジニアになるために不安を乗り越える方法
その 1. 技術を身につけるその 2. 今を生きる
その1:技術を身につける技術を身につける↓自信がつき、心が安定し、不安が少なくなる
創造的なエンジニアになるために不安を乗り越える方法
その2:今を生きる完成したプログラム
プログラミング 不安恐怖<欲しい結果>
不安・恐怖をもとに頑張る(外発的動機)↓集中できず、結果がでない
「できなかったらどうしよう」納期、品質、満足度 etc…
創造的なエンジニアになるために不安を乗り越える方法
完成したプログラム打ち込む /楽しむ一旦忘れる(頭の片隅に置く程度にする)
プログラミングそのものを楽しむ(内発的動機)↓集中できて、結果につながる(フロー状態)
プログラミング<欲しい結果>
創造的なエンジニアになるために不安を乗り越える方法その2:今を生きる
・不安を乗り越え、主体的になる・技術に感動する習慣をもつ・価値を創り出すプロセスを学ぶ
創造的なエンジニアになる方法
技術に感動する習慣をもつ(エンジニアを始めた当初)「おー、動いた!」「この技術は便利だ!」
↓ (経験を積んでくると)「動いて当たり前」「その技術は想定の範囲内。目新しくない」
感動すると創造的になれる
感動が少ない人は好奇心が薄れ、記憶も弱まる。→ 結果、退化していく
感動 好奇心 探求心 創造記憶 アイデア
「感動する脳」 茂木 健一郎 著 より子供のような好奇心、あるいは冒険心があって初めて、新しいものを生み出す力が生まれてくるのです。
ジェフ・ベゾス( amazon.com創業者)
・不安を乗り越え、主体的になる・技術に感動する・価値を創り出すプロセスを学ぶ
創造的なエンジニアになる方法
価値を創り出すプロセスを学ぶ
・要求開発・ U 理論・リーンスタートアップ etc…
価値を創り出すプロセス・考え方、イノベーションについて体系的に学ぶ↓創造的視点が生まれる↓アイデアが生まれる
・組織 (Organization)・エンジニア (Engineer)・組織とエンジニア (Organization and Engineer) ← Next
知識社会の会社(未来の会社) = エンジニア(ナレッジワーカー)が伸び伸びと 創造性を発揮し価値を創り出せる会社→ エンジニア・コミュニティにヒントがある
Open Source の Contributor のように仕事をしよう
会社貢献自分の強み(興味)を活かして役割を探し、貢献する
会社仕事労働契約で決められたことをする
役割 役割役割 役割
役割に対して報酬を支払う
会社貢献
報酬 果たした役割に対して報酬を支払う重要:役職に対して支払うのではない
シナジーで社会に価値を生み出す
会社貢献役割 役割役割 役割
強み
・自発的に参加したくなる組織づくり ・組織の目的 ・組織運営
価値創造エンジニア
<創造的>アイデア
<価値創造インフラ>
Synergy
まとめ
組織運営 ・会社 = コミュニティである ・オープンソース・コミュニティ型運営から学ぼうエンジニア ・創造的なエンジニアになろうエンジニアと組織の関係 ・オープンソース・コントリビューターのように仕事をしよう ・エンジニアと会社はシナジーで価値を生み出す
知識社会の会社 = 「エンジニア・コミュニティ」→ エンジニア(ナレッジワーカー)が活躍する会社
Python
PyCon
FrameworkLibraryTool
Meetup
Possibilities of Python
Value
「 Python が好き」という気持ちのもとに つながった Python Community が生みだしていく価値 = Possibitities of Python
SoftwareDocumentConnection of people etc…
→ これからの会社のありかたのヒントに
Thank you for listening!
PyCon JP 2015 Keynote Last Message
Possibility of Python
技術に感動しよう!ご清聴ありがとうございました