プログラマのレベルアップ

プログラマのレベルアップ
スキル
ここを
目指そう!
高
プログラマのスキル分布
例えば
ドラゴンクエスト?
ドラクエを始めたら・・・
という話の前に・・・
ドラクエしたことある?
ドラクエを始めたら・・・
まずは何をする?
敵を見つけては倒す
!
敵を倒すと・・・
お金と経験値が手に入る
お金は・・・
宿に泊まるとか、
薬草を買うのに使う
宿に泊まると、
お金は減る
(´・ω・`)
薬草を買っても、
お金は減る
(´・ω・`)
経験値は・・・
すべて自分のもの!
しかも
減らない!
ヾ(@⌒▽⌒@)ノ
増え続ける!
d=( ̄∇ ̄*)b
一定の値まで増えると
レベルが上がる!
レベルが上がると
強くなる!
( ̄^ ̄)
つまり・・・
レベルを上げるために
敵を倒す!
では???
プログラマの場合は?
やりかたはともかく
レベルアップ重要!
若いうちにやるべきこと
経験値を貯めて
レベルを上げる
レベルが上がるほど
経験値を貯めやすくなる
どうすれば
レベルアップできる?
敵を倒す?
プログラマの敵って?
納期?
仕様変更?
バグ?
敵を倒さなくても
経験値を
増やせればいい!
どうすれば
経験値を増やせる?
経験値の貯め方
未来の自分に投資する
• 楽する方法を覚える
• 知識を詰め込む
• 開発者コミュニティに参加する
• たくさんのコードを書く
• たくさんのコードを読む
楽する方法を覚える
時間を節約する方法を調べて覚える
一度覚えれば何度でも使える!
• タイピング速度
• ショートカットキー
• ツール
• コマンド
知識の数が理解を促進する
知識
理解
理解
理解
理解
開発者コミュニティに参加する
多数の社外開発者と交流する
• 自分の会社の外の世界を知る
• 外から自分の会社を見る視点
• 社外とのつながり
たくさんのコードを書く
書いたコード量で差が出る
• 過去のコードを見て自分の成長を知る
• サンプルコードを真似る
• 自分なりのコードを書く
• バグが生まれる。。。
←敵?
• バグをつぶす
経験値を獲得
たくさんのコードを読む
読んだコード量で差が出る
• OSSプロジェクトのコード
• さまざまな実装方法
• コードを見る目を養う
• 良いコードを自分のものにできる
求められるプログラマとは?
募集広告などを見ると・・・
• Java経験者
• C/C++経験者
• Perl経験者
• MySQL・Oracle経験者
本当に求めらているのは?
募集広告に出にくい条件
• きちんと文書を作れる
• コミュニケーション能力
• 問題解決能力
• なんでも取り組もうとする態度
• 多くの技術力を持つ
できることを増やす 1
プログラミング言語
• C/C++
• PHP
• Java
• Perl
• Ruby
• JavaScript
できることを増やす 2
設計手法
• 構造化手法
• オブジェクト指向
• アスペクト指向
• サービス指向
• テスト駆動
できることを増やす 3
その他
• ネットワーク
• DB
• UML
• 各種ツール
• 英語
スキル≒できることの数
高
最初に書いたピラミッド
できることの数
多
ここを
目指そう!
求めらる技術力は?
•
•
•
•
•
•
プログラミング言語
DB(テーブル設計能力)
オブジェクト指向設計能力
コード読解力
英語
その他(あればあるほどGood!)
とにかく
行動を起こし
経験するのが重要
経験値を貯めて
レベルを上げよう
RPGしてる場合じゃないよ
たまには息抜きも必要だけど・・・
自分の人生で
経験値を貯めよう!
ゲームと違って
やり直しはできない
おしまい
じゃなくて
これをきっかけに
経験値を貯めるための
新しい人生への
第一歩
に、なればいいなー