Enviar pesquisa
Carregar
プログラマ人生論
•
Transferir como PPTX, PDF
•
4 gostaram
•
2,967 visualizações
ymmt
Seguir
挫折だらけのプログラマー人生を振り返ってみました。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 13
Baixar agora
Recomendados
マルチスレッド学習のミッシングリンク
マルチスレッド学習のミッシングリンク
Satoshi KOBAYASHI
Oss coding style
Oss coding style
Toshihisa Tanaka
Rustの最初の難関を超えるための第一の技
Rustの最初の難関を超えるための第一の技
Masuda Tomoaki
CA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについて
Huy Do
Howtoよいデザイン
Howtoよいデザイン
Hiroki Yagita
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
Kiyoshi Ogawa
青本勉強会2章
青本勉強会2章
Keiichirou Miyamoto
Pythonでも型をつけたいだけの人生だった
Pythonでも型をつけたいだけの人生だった
hiroya akita
Recomendados
マルチスレッド学習のミッシングリンク
マルチスレッド学習のミッシングリンク
Satoshi KOBAYASHI
Oss coding style
Oss coding style
Toshihisa Tanaka
Rustの最初の難関を超えるための第一の技
Rustの最初の難関を超えるための第一の技
Masuda Tomoaki
CA15卒勉強会 メタプログラミングについて
CA15卒勉強会 メタプログラミングについて
Huy Do
Howtoよいデザイン
Howtoよいデザイン
Hiroki Yagita
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
.NET micro FrameWork for TOPPERS (.NET基礎)@基礎勉強会
Kiyoshi Ogawa
青本勉強会2章
青本勉強会2章
Keiichirou Miyamoto
Pythonでも型をつけたいだけの人生だった
Pythonでも型をつけたいだけの人生だった
hiroya akita
アーキテクトになるには
アーキテクトになるには
ymmt
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
vaccho
N88-BASIC Language
N88-BASIC Language
sunflat
Dmedia
Dmedia
Akao Koichi
What's Operating System?
What's Operating System?
Naruhiko Ogasawara
マイコンを語る
マイコンを語る
otmb
自作ゲーム配布方法の歴史
自作ゲーム配布方法の歴史
sunflat
技術書執筆とリモート
技術書執筆とリモート
Kenji NAKAGAKI
Awful Guy in Early Ages of Japanese Computer / 昔の人はえらかった
Awful Guy in Early Ages of Japanese Computer / 昔の人はえらかった
Naruhiko Ogasawara
8bit 時代のプログラミング事情を訪ねて
8bit 時代のプログラミング事情を訪ねて
suno88
GC黄金時代
GC黄金時代
Narihiro Nakamura
土日でさっさとサービスを作る
土日でさっさとサービスを作る
Esehara Shigeo
Project erp
Project erp
Kazuki Aranami
使っていない貴方は損をしている? ~サイボウズのカスタマーサービス、全て見せます~
使っていない貴方は損をしている? ~サイボウズのカスタマーサービス、全て見せます~
Cybozucommunity
「サイボウズ Office」管理者のための、 最新バージョン徹底解説
「サイボウズ Office」管理者のための、 最新バージョン徹底解説
Cybozucommunity
Webアプリケーションをもっと楽しく! 〜フロントエンドのお仕事〜
Webアプリケーションをもっと楽しく! 〜フロントエンドのお仕事〜
Yusuke Amano
日本型チームワークマネジメントの輸出~海外拠点におけるkintoneの成功事例~
日本型チームワークマネジメントの輸出~海外拠点におけるkintoneの成功事例~
Cybozucommunity
rebaseにまつわる3つの誤解
rebaseにまつわる3つの誤解
ymmt
28歳からのプログラマー
28歳からのプログラマー
Esehara Shigeo
kintoneを進化させる2つの方法
kintoneを進化させる2つの方法
Cybozucommunity
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
Example of exiting legacy system
Example of exiting legacy system
TakamchiTanaka
Mais conteúdo relacionado
Destaque
アーキテクトになるには
アーキテクトになるには
ymmt
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
vaccho
N88-BASIC Language
N88-BASIC Language
sunflat
Dmedia
Dmedia
Akao Koichi
What's Operating System?
What's Operating System?
Naruhiko Ogasawara
マイコンを語る
マイコンを語る
otmb
自作ゲーム配布方法の歴史
自作ゲーム配布方法の歴史
sunflat
技術書執筆とリモート
技術書執筆とリモート
Kenji NAKAGAKI
Awful Guy in Early Ages of Japanese Computer / 昔の人はえらかった
Awful Guy in Early Ages of Japanese Computer / 昔の人はえらかった
Naruhiko Ogasawara
8bit 時代のプログラミング事情を訪ねて
8bit 時代のプログラミング事情を訪ねて
suno88
GC黄金時代
GC黄金時代
Narihiro Nakamura
土日でさっさとサービスを作る
土日でさっさとサービスを作る
Esehara Shigeo
Project erp
Project erp
Kazuki Aranami
使っていない貴方は損をしている? ~サイボウズのカスタマーサービス、全て見せます~
使っていない貴方は損をしている? ~サイボウズのカスタマーサービス、全て見せます~
Cybozucommunity
「サイボウズ Office」管理者のための、 最新バージョン徹底解説
「サイボウズ Office」管理者のための、 最新バージョン徹底解説
Cybozucommunity
Webアプリケーションをもっと楽しく! 〜フロントエンドのお仕事〜
Webアプリケーションをもっと楽しく! 〜フロントエンドのお仕事〜
Yusuke Amano
日本型チームワークマネジメントの輸出~海外拠点におけるkintoneの成功事例~
日本型チームワークマネジメントの輸出~海外拠点におけるkintoneの成功事例~
Cybozucommunity
rebaseにまつわる3つの誤解
rebaseにまつわる3つの誤解
ymmt
28歳からのプログラマー
28歳からのプログラマー
Esehara Shigeo
kintoneを進化させる2つの方法
kintoneを進化させる2つの方法
Cybozucommunity
Destaque
(20)
アーキテクトになるには
アーキテクトになるには
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
N88-BASIC Language
N88-BASIC Language
Dmedia
Dmedia
What's Operating System?
What's Operating System?
マイコンを語る
マイコンを語る
自作ゲーム配布方法の歴史
自作ゲーム配布方法の歴史
技術書執筆とリモート
技術書執筆とリモート
Awful Guy in Early Ages of Japanese Computer / 昔の人はえらかった
Awful Guy in Early Ages of Japanese Computer / 昔の人はえらかった
8bit 時代のプログラミング事情を訪ねて
8bit 時代のプログラミング事情を訪ねて
GC黄金時代
GC黄金時代
土日でさっさとサービスを作る
土日でさっさとサービスを作る
Project erp
Project erp
使っていない貴方は損をしている? ~サイボウズのカスタマーサービス、全て見せます~
使っていない貴方は損をしている? ~サイボウズのカスタマーサービス、全て見せます~
「サイボウズ Office」管理者のための、 最新バージョン徹底解説
「サイボウズ Office」管理者のための、 最新バージョン徹底解説
Webアプリケーションをもっと楽しく! 〜フロントエンドのお仕事〜
Webアプリケーションをもっと楽しく! 〜フロントエンドのお仕事〜
日本型チームワークマネジメントの輸出~海外拠点におけるkintoneの成功事例~
日本型チームワークマネジメントの輸出~海外拠点におけるkintoneの成功事例~
rebaseにまつわる3つの誤解
rebaseにまつわる3つの誤解
28歳からのプログラマー
28歳からのプログラマー
kintoneを進化させる2つの方法
kintoneを進化させる2つの方法
Semelhante a プログラマ人生論
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Kouji Matsui
Example of exiting legacy system
Example of exiting legacy system
TakamchiTanaka
Programming camp code reading
Programming camp code reading
Hiro Yoshioka
Scrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pub
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
Hiro Yoshioka
フレームワークの良さを教えてやろう SAStruts + S2JDBC
フレームワークの良さを教えてやろう SAStruts + S2JDBC
Kazuma Kimura
Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01
Ken SASAKI
第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料
直久 住川
Java frameworkの昔と今
Java frameworkの昔と今
Tomoteru Sannomiya
Programming camp 2008, Codereading
Programming camp 2008, Codereading
Hiro Yoshioka
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
Yuto Takei
Net fringejp2016
Net fringejp2016
Yusuke Fujiwara
鹿駆動
鹿駆動
Shinichi Kozake
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Daisuke Nishino
Pythonの非同期処理を始める前に
Pythonの非同期処理を始める前に
koralle
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
Shuji Morisaki
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態
npsg
Semelhante a プログラマ人生論
(20)
パターンでわかる! .NET Coreの非同期処理
パターンでわかる! .NET Coreの非同期処理
Example of exiting legacy system
Example of exiting legacy system
Programming camp code reading
Programming camp code reading
Scrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pub
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
フレームワークの良さを教えてやろう SAStruts + S2JDBC
フレームワークの良さを教えてやろう SAStruts + S2JDBC
Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01
第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料
Java frameworkの昔と今
Java frameworkの昔と今
Programming camp 2008, Codereading
Programming camp 2008, Codereading
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
Net fringejp2016
Net fringejp2016
鹿駆動
鹿駆動
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
Pythonの非同期処理を始める前に
Pythonの非同期処理を始める前に
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態
Último
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Último
(10)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
プログラマ人生論
1.
プログラマ35歳定年説
Wikipedia (プログラマ#プログラマ定年説) “プログラミング技術は進歩が激しく、技術の陳腐化 も著しいため、常に新しい技術に目を向け習得して いくバイタリティや、場合によっては永年の努力に よって培ってきた技術を捨て去る柔軟性が必要であ る。また、年功序列的賃金体系のもとでは、高年齢 のプログラマはコストが高すぎると考える企業があ る(特にプログラミングを単純作業と考える企業に 多い)。俗にIT土方とも呼ばれデスマーチとなった 場合は徹夜が続いたり体力が必要となってくる。そ のため、プログラマとしての限界は30~35歳前後で あるという説が存在した。これは「プログラマ35 (30)歳定年説」と呼ばれる。”
2.
プログラマ人生論
山本泰宇 (@ymmt2005)
3.
子供時代
「プログラム」を初めて見たのは小学校低学年 マイコンのBASICで PRINT するもの 10 INPUT “1+3=?“; A$ 20 IF A$=“4” THEN 50 30 PRINT A$, “WRONG!” 40 GOTO 10 50 PRINT A$, “CORRECT!” 60 GOTO 10 一目ぼれ(笑) PRINT は「ぴーあーるいんてじゃー」と読んでました MSX2 を5年生のころ手に入れる ゲームを作ろうとして絵心がなく挫折
4.
中高時代
遊びすぎて、親に MSX2 を捨てられる
5.
大学時代
• Pascal でマージソートを書こうとして挫折する 1年目 • 情報科学科で、周囲とのレベル差に心が折れる 2年目 • 授業で C++ を一日で覚えたことにされて挫折する 3年目 • オープンソースソフトウェアをビルドしまくる • 研究室まわりで、スレッド作ってと言われて挫折する 4年目 • Scheme は実用に向かないと思い知る
6.
大学院時代
• 分散 GC の研究で1カ月デバグしても動かなくて挫折する 1年目 • 結局まるまる作り直して動いた • C/C++, 各種アセンブリ, Java 等を覚える 2年目 • あれこれやるも、研究としては成果が出ず 3,4年目 • 挫折してサイボウズに入社 5年目
7.
社会人時代(その1)
• 独自組み込みDBを常駐型に変える初仕事に挫折 • 大規模版グループウェアの管理システムを作る 1年目 • 製品基盤の刷新プロジェクトに異動 • MySQL の OEM 契約を MySQL AB とする 2年目 • 外国人との交渉に四苦八苦したが、無事締結 • 刷新はほぼ終わる • Garoon2 プロジェクトマネージャーに抜擢&異動 3年目 • Garoon2 進めている最中に開発部長に抜擢 • もはやコードを書く時間などなくなる 4年目
8.
開発部長の頃の私
9.
社会人時代(その2)
• 開発本部長になるが、限界を感じて挫折、降格 5,6年目 • 開発の主流から外れて社内ニート • CTOとしてオンプレミス向けの新基盤開発を進める 7年目 • 一方でクラウド化を提案して自分の首を絞める • cybozu.com の全体設計とプロジェクト管理を務める 8,9年目 • インフラの開発もこなし、無事去年リリース • CTOを返上してただのプログラマになる ナウ
10.
プログラマー人生のまとめ 振り返ると挫折と失敗ばかり • まだできないことにチャレンジしてきた証 • 最初からいいものなんか作れないよ! 35歳まで •
部長とかCTOとかの肩書インフレ • 経験不足がたたって成果は出なかった • 社内ニートしている間に技術的な見識は深まった 35歳~ • 思うように成果が出せるようになりました
11.
最近のお仕事紹介 ストレージシステム •
高可用、高機能 • バックアップと遠隔データセンターへのレプリケーションも 社内勉強会 • モダン C++ プログラミング • Linux システムプログラミング • マルチスレッドプログラミング • ネットワークプログラミング PKIを利用した二要素認証 • CAの自動管理 • Windows XP や iPhone/iPad 対応が肝
12.
勉強会の内容紹介
マルチスレッドプログラミン モダン C++ プログラミング グ モダンの定義 スレッドプログラミングとは コーディングスタイル スレッドとその実装 const , explicit はきちんとつける 解決可能な問題の種類 初期化・初期化子・定義 共有メモリモデル デストラクタと継承 いつマルチスレッドプログラミングをするべきか 名前空間を適切に使う メモリを同期するということ コピーと参照を使い分ける メモリ階層 文字列 リオーダーとメモリバリア std::string のススメ メモリモデル cybozu::String アトミック操作 例外 キャッシュラインとフォールスシェアリング 例外クラス マルチスレッドプログラムの落とし穴 例外の投げ方・受け取り方 レース 例外指定は使わないこと デッドロック 例外安全 スタベーション RAII 同期プリミティブ コピー制御 ブロックするもの スマートポインタの使い方 ブロックしないもの STLコンテナの使い方 Tips テンプレートとの正しいつきあい方 volatile の正しい理解 モダン C++ ライブラリ キャンセル sleep, fork とスレッド C++11 について
13.
結論
プログラマ35 歳定年説はやは り間違い 新人の皆さん サイボウズで が勉強する機 は35歳以上 会が沢山あり のプログラマ ます も大活躍!
Baixar agora