Successfully reported this slideshow.
Your SlideShare is downloading. ×

『自走プログラマー』 が我々に必要だった理由

『自走プログラマー』 が我々に必要だった理由

Download to read offline

BPStudy#150〜自走プログラマーとはなにか
https://bpstudy.connpass.com/event/166409/

書籍『自走プログラマー』は「プログラミング入門者が中級者にランクアップ」するのに必要な知識をお伝えする本です。
実際の現場で起こった具体的な問題に対する120のベストプラクティスを紹介します。この本の企画のきっかけと、執筆によって起きた効果を紹介します。

BPStudy#150〜自走プログラマーとはなにか
https://bpstudy.connpass.com/event/166409/

書籍『自走プログラマー』は「プログラミング入門者が中級者にランクアップ」するのに必要な知識をお伝えする本です。
実際の現場で起こった具体的な問題に対する120のベストプラクティスを紹介します。この本の企画のきっかけと、執筆によって起きた効果を紹介します。

More Related Content

More from Takayuki Shimizukawa

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

『自走プログラマー』 が我々に必要だった理由

  1. 1. 『自走プログラマー』 が我々に必要だった理由 清水川 貴之 2020/2/28(金) BPStudy#150
  2. 2. ● 清水川 貴之 @shimizukawa ● (株)ビープラウド 取締役 / IT Architect ○ IT勉強会支援サービス connpass ○ オンライン学習サービス PyQ ● (社)PyCon JP 会計理事 ○ PyCon JP 年次イベントの見守り ○ Python Boot Camp 主催 自己紹介
  3. 3. 私が執筆・翻訳に関わったPython書籍 2018/2/28 2018/2/26 翻訳・監訳 補章執筆 進行管理 6章: デプロイ 9章: ドキュメント 2018/6/12 3章: package 9章: package (7章)ドキュメント
  4. 4. 私とプログラミング (プログラミング歴, Python歴)
  5. 5. 私とプログラミング ● 1975(0歳) 秋田県生まれ ● 1985(10歳) ファミリーBASICでマリオ走らせたり ● 1992(17歳) N88-BASIC(PC-9801)でゲーム作ったり ● 1993(18歳) C言語と8086アセンブラでゲーム作ったり ● 1995(20歳) 電気通信大学(調布)、バイトでC言語で組み込み機器開発 ● 2001(26歳)~ 1社目(C言語) ● 2003(28歳) 個人で  Python-2.3 使い始め ● 2005(30歳)~ 2社目(  Python-2.4/Ruby-1.7) ● 2010(35歳)~ フリーランス(  Python-2.6/Ruby-1.8) ● 2011(36歳)~ PyCon JPイベント立ち上げ(初回はmini版) ● 2011(36歳)~ 3社目 ビープラウド(  Python-2.7) ● 2014(42歳)~ PyCampやBP研修事業の講師(   Python-3.5) ● 2020(44.8歳)~ 今日(   Python-3.8)
  6. 6. BeProud と言えば Python
  7. 7. Pythonと言えばBeProud
  8. 8. BeProud とPython connpass ● IT勉強会支援サービス ● 2011秋~ サービス開始 ● サーバーサイド: Python + Django ● PyQ ● 2017春~ サービス開始 ● オンライン学習サービス ● サーバーサイド: Python + Django Pythonによる開発 ● 2006年5月23日 設立 ● Webシステムの受託開発 ● 2008年〜Pythonのみへシフト ● 2011年〜+自社サービス開発 ● 2017年〜+機械学習関連の開発 2011年リリース 2017年リリース
  9. 9. 私がBeProudで書いた 2冊目の本が 『自走プログラマー』 です
  10. 10. 『自走プログラマー』 本書には 「プログラミング入門者が   中級者にランクアップ」 するのに必要な 「自走するための知識」を 「120のベストプラクティス」 にまとめました。
  11. 11. 『自走プログラマー』 ….って何?
  12. 12. ビープラウドにおける自走のイメージ Rookie ========> =======> 自走 =======> tell-k, 清原 仕事を任せら れる度合い 常に誰かが一 緒に作業を見 ている必要あ り アサインされ たタスクについ て仕事ができ る。品質面で はしっかりとし たレビューが 必要 アサインされ たタスクについ て1人で動け る。レビューは 必要。 セルフマネジメ ントができ、自 分の判断で動 ける。レビュー をしても大筋 OKの場合が 多い。 プロジェクト全 体に渡る仕事 について任せ られる。場面 に応じてアドバ イスが必要 プロジェクト全 体に渡る仕事 について、全 面的に任せら れる メンバーとの 関わり 常に支援され る 支援される割 合が多い 支援される割 合が多い 支援することも あるが、支援さ れることもある 他の人を支援 していることが 多い 積極的に支援 している。 入社メンバーの多くは Rookie
  13. 13. 期待と現実 全員が自走することを期待されています(弊社に限らず) ...が、全員がいきなり自走できるわけがない 自走するには、プログラミング以外にも、幅広いスキルが必要です。 プログラミング 要件の把握 仕事の進め方 質問の仕方 調べ方 アドバイスの仕方 ドキュメンテーション デプロイ 運用保守 トラブル対応
  14. 14. では、 自走力はどうやって身に付ける?
  15. 15. 先輩の背中を見て身に付ける? これにはいくつかの問題がありました ● 身につくものは師匠によって異なる ○ 色んな人が色んなアドバイスをする ○ 船頭多くして船山に登る(弊社、教えるの好きな人が多くて..) ● Rookieは実践で善し悪しを見分けられない ○ 別の方法をまだ知らないので、比較出来ない ○ 見よう見まねで実践してしまい、、、 ■ なぜここに関数プログラミングを持ち込むのか!!
  16. 16. 実プロジェクトで「守」学ぶ難しさ 守破離 は、『利休道歌』にある「規矩作法守り尽くして破るとも離るると ても本を忘るな」を引用したものとされている。 -- 守破離 - Wikipedia よ り - 守: 教わった型を徹底的に守る - 破: 自分に合った型を模索し既存の型を破る - 離: 型から離れて自在となる Rookieは、「守破離」が混在した実プロジェクトで「規矩作法を守り尽くし て」と言われても、難しい
  17. 17. 本書を執筆した目的 ● プログラミングの「守」を伝える ○ ビープラウドのベストプラクティス(守)を言語化 ● 「Python入門者(Rookie)」を「中級に引き上げる」 ○ 入門後、自走できるまでに必要なピースを埋める ● 個々の専門書で埋められない知識のピースを埋める ○ 開発プロジェクト全体を網羅する120のトピック ○ 専門書と専門書のスキマを埋める
  18. 18. ベストプラクティスの言語化 ● 自分で感覚として理解していても、伝えるのは大変 ● 何度も同じを事を説明せずに済む ○ プロジェクト毎に同じようなことを調べている ○ 教える人によってもバラツキがある ● 「なぜそれがベストか」の解説がある ○ プロジェクトでは、説明する余裕があるとは限らない ○ 説明する文章が洗練されていて受け入れてもらいやすい ○ 抽象化されているので応用が利く
  19. 19. 社内で清水川が実際に伝えたトピック ● 01/31: dictからの値取得に fruits.get(order.fruit) ○ 63. 臆さずにエラーを発生させる ● 01/07: 値が存在しない場合にもNULLでデータ登録したい ○ 49. NULLをなるべく避ける ● 01/09: クラスのメソッドをCeleryタスクにしたらselfがうまく渡せない ○ 95. Celeryのタスクにはプリミティブなデータを渡そう ● 02/12: Pythonの最新を使うにはソースコードからビルドしてインストール ○ 80. OSが提供するPythonを使う ● 02/19: 動作確認できるようになるまでレビューに出せない ○ 34. 一度に実装する範囲を小さくしよう ● 02/20: IPアクセス元で制限している環境に社外からアクセスするには? ○ 106. ssh port forwardingによるリモートサーバーアクセス ● 02/28: 非同期処理が失敗したらFileNotFound例外 ○ 66. 専用の例外クラスでエラー原因を明示する
  20. 20. 執筆によって起きた効果 ● 執筆を通して「何が、なぜベストなのか」考えを整理できた ● レビューやチャットでベストプラクティスを素早く伝えられた ○ 下書き時点から、社内に伝えるのに役立った ○ どう伝えよう・・?と考える時間を省略できた ● 今この人にこの章を読ませたい! ○ 頻繁にあります ● あ、この本は改訂で載せよう! ○ 出版までやり切った、ではなく、伝えたいことが増えていっている
  21. 21. 『自走プログラマー』 で一番恩恵を受けたのは私 だった!!
  22. 22. ありがとうございました

×