スポンサーリンク

エンジニアとして,成功するための5つの秘訣 (3つのIN,2つのOUT)

開発者・エンジニアが,自分の仕事を成功させるためにはどうしたらよいか。


言いかえれば,「幸福なエンジニア」になるには,どうしたらよいか。



この手のエンジニア向けの情報源は山ほどあり,把握しきれない。


しかし,あらゆるノウハウは,5つに分類できる。

3つのインプット:

  • (1)健康と体力を意識し続ける。
  • (2)仕事術を実践し続ける。
  • (3)技術を収集し続ける。

2つのアウトプット:

  • (4)収集した事柄を,毎日書きためる
  • (5)資格などの,自分なりのマイルストーンを目指し続ける。


本エントリでは,この「分類」の概要を示す。

以下詳細。



なお,この「5つの分類」では,1つ前の項目が,次の項目の前提事項となっている。

(1)〜(3):3つのINPUT

自分が知識を収集し,意識し,身に付けていくべき事柄(インプット)。

(1)健康と体力を意識し続ける。

身体的な「もとで」が無ければ,何もうまく行きはしない。

健康と体力は大前提であり,活動の基盤となる。

関係する要素
  • 十分な休息。
    • 生活のリズム,すなわち睡眠。
    • power nap(15分のプチ昼寝)
  • 身体的な健康。
    • 病気(風邪とか)や事故の予防。
    • 生活習慣。
      • 短期的な症状:あちこちの痛み。肩こり,腰痛,眼の痛み,歯,胃腸。
      • 長期的な症状:肝臓など臓器,糖尿病など。
      • 食生活。
これが欠けるとどうなるか

こういった事に関心を持たない人間は,何事も長続きしない

一時的に「頑張っている」ように見えても,その頑張りのせいで自分の首を絞め,いつか壊れてしまうかもしれない。

あるいは,まともなパフォーマンスを出さず,メリハリがなく,ダラダラと作業し続ける傾向を持っているかもしれない。


逆に,健康や体力を気にし過ぎると,本業がおろそかになる。

「健康であること」は,最終目的ではないはずだ。

「得た健康を使って,何をするのか?」を考えるべきだろう。

情報のサンプル

要領よく働いて睡眠時間を確保しよう
http://itpro.nikkeibp.co.jp/article/C...

    • ウサギと亀の話は長期戦では逆転する。よく睡眠を取って,要領よく仕事をこなせ。


眠いとき我慢しない「プチ昼寝」は大正解
http://itpro.nikkeibp.co.jp/article/C...


エンジニアが目を傷めてしまうのを防止するために(目疲れ+眼精疲労の予防と対策)
http://language-and-engineering.hatenablog.jp/entry/20100124/p1


体に良い座り方、いす選びのポイント
http://jibun.atmarkit.co.jp/llife01/s...

  • 前かがみは×。頻繁に「座り直し」をするのは○。


書籍:

(2)仕事術を実践し続ける。

行動を改善するための方針である。「仕事術」全般。

また,社会人としての基礎的な部分。


(1)で考えたような「利用可能な身体」があることを前提事項とし,(2)では,その身体を「どのように用いるか?」を扱う。

関係する要素
  • 対人関係。
    • コミュニケーション。
    • リーダー論。…チームや部下をどう扱い,育てるか。「プロジェクトマネジメント」の一歩手前の,人間的な側面。
これが欠けるとどうなるか

こういった事に関心を持たない人間は,ひたすら仕事の生産性が悪かったり単なる技術オタクだったりする。


逆にこればっかりやっていると,方法論を追求するあまり,中身が伴わない。

また,理想の状況を追い求め過ぎて,欲求不満になるかもしれない。


ノウハウを自分ではなく他の人に当てはめてしまうと,問題が起きやすい。

例えば,「あの人は能率が悪い」という事に注目するあまり,批判的になり,嫌悪感さえ感じるかもしれない。

こういうのはかえって,本人にとってストレスを増やしてしまう事になり,不幸である。


あくまで自分に当てはめて,自分が実践するようにする。

情報のサンプル

毎日2時間を節約するための15のコツ + α
http://lifehacking.jp/2007/10/time-sa...

  • 最も不快なタスクを先に片付ける
  • 仕事の重心は午前に
  • 常に先を読む:5分後・今日の午後・明日・来月・来年に自分は何をしているか?


“仕事が速い人”の7つの特徴
http://itpro.nikkeibp.co.jp/article/W...

  • あらかじめ批判されることを想定して話す(「応酬話法」)
  • 常にアウトプットする


「この人無能だな」と思われる人の3つの特徴
http://d.hatena.ne.jp/fromdusktildawn...

  • 批判だけで斬新な解決案を持ち出さないなら無意味


新人SEの心得
http://www.itmedia.co.jp/enterprise/a...

  • いやな仕事ほど取り組み方が注目されている
  • 自分で仕事を取りに行け


初心者SEの心得 10ヶ条
http://www.page.sannet.ne.jp/yamato99...

  • 作業記録を残せ
  • 分からないなら、明日考えろ


書籍:

(3)技術を収集し続ける。

技術がなければ,技術者ではない。

また,いま持っている技術もすぐに古くなる。技術面で成長し続けないなら,すぐ使い物にならなくなる。


前項(2)で取り上げたのは,職種を問わず必要な,普遍的な考え方。

この(3)で取り上げるのは,自分の「専門分野」に関する事柄。つまり,具体的なスキル。

関係する要素


これが欠けるとどうなるか

「口先だけの人」になる。

「実行するだけのスキルが無いにも関わらず,大言を吐いてしまい,その結果プロジェクトをデスマーチに陥れてしまう」という事も生じうる。


フロー型のスキルしか持っていない人は,開発プロセスの全体像が分かっていない

なので,スケジュール上の判断が甘い。

その人は,プロジェクト管理上のリスクになってしまう可能性がある。


ストック型の知識しか持っていない人は,時代の変化について行けない

色々知ってるわりに,具体的な作業が全然できない。

「偉そうな割に,使えない」という人になってしまう。



逆に,技術面だけに特化してしまうと,単なる「技術オタク」になり,人間として扱いづらい人になってしまう。

つまり,遅かれ早かれ,仕事を失うということである。

情報のサンプル

今,Web技術者が「食べていく」ために必要な3つのスキル
http://language-and-engineering.hatenablog.jp/entry/20080930/1222796966


市場価値の高い言語は?
http://www.atmarkit.co.jp/news/200902...

  • 求人数はJava、年収はC#がトップ


プログラマーを採用する際に重視すべき10の資質
http://japan.zdnet.com/sp/feature/07t...

  • 1:好奇心
  • 3:速読力と理解力
    • 「プログラマーの生産性という観点で見た場合、コードのタイピング速度はあまり重要ではない。プログラマーの1日の大半は、読むという作業に費やされるのである。」
    • 6:自己学習能力
    • 10:上司をたてられるか?


ハッカー養成塾
http://d.hatena.ne.jp/higepon/2007040...

  • 道具にこだわれ
  • コードを書いたら公開しろ
  • 古典・名著を読め


ハッカーになろう (How To Become A Hacker)
http://cruel.org/freeware/hacker.html

  • linux(UNIX)と,英語。
  • 「(Python, Java, C/C++, Perl, LISP)を勉強しておく。これらはもっとも重要なハッキング用言語」


ITproの「selfup」カテゴリ
http://itpro.nikkeibp.co.jp/selfup/in...

  • ITパーソンに向けて、スキルアップやキャリアアップに役立つ記事を提供します。

(4)〜(5):2つのOUTPUT

ここからは,アウトプットについて述べる。

(4)収集した事柄を,毎日書きためる。

毎日,小さな進歩を積み重ねる」ということ。

前項の(3)で吸収した技術を,この(4)で「蓄積して形に残す」のだ。


この際,蓄積の形態が「検索性が高いこと」は重要なポイント。

チリが積もっている所で,それら蓄積した物があとから取り出しやすくなっていれば,仕事のスピードは毎日上がってゆく。

関係する要素
  • ブログ。
    • 例えば,その日のコーディング作業で新しい関数を使ったら,その日の終わりに自分のブログに,小さなサンプルコードを投稿する。
    • もし人に見られたくなかったら,プライベートモードでブログを運用すればよい。
  • ソーシャルブックマーク。
    • はてなブックマークとか。数えきれないほど多くのWebサイトを目にしても,それだけでは忘れてしまう。役に立つサイトをクリップして蓄積してゆく。
    • 「ブックマークが一定量までたまったら,その内容を体系的に整理して,ブログに投稿する。」というのは良いサイクル。
  • 自分のwiki。
    • 「ネット上にある,自分のメモ帳」という認識。
  • 日記や手帳。
    • 紙媒体も役立つ。ただし,どちらかというと「技術上の進歩の蓄積」ではなく,(2)の「仕事術」に近い使い方になると思われる。スケジューリングとか。
これが欠けるとどうなるか

自分のスキルが向上してゆくための,自分なりの「仕組み」をもし持っていないとしたら,

その人の進歩は行き当たりばったりなので,成長しない


その人に対して何か教えても,どうせしっかり身につかず,忘れる。

学んだ労力や教えた労力が無駄になる。

そして,成長するという見込みがないのであれば,「この人に投資する価値はない」と見切りをつけられることになる。



しかし逆に,技術を収集する事に対してあまりに多くの労力を割き過ぎて,目標を見失ってしまう場合もある。

技術の「コレクション」は,最終目的ではないはずだ。

何かしらのゴールやマイルストーンを達成するための「手段」,それが技術であるはず。

情報のサンプル

「毎日マインドセット」で人生の最小単位「毎日」をカイゼンする
http://lifehacking.jp/2007/12/everyda...

  • 毎日を楽しむ
  • 毎日を小さな一歩と見る
  • 毎日の習慣を絶やさない

(5)資格などの,自分なりのマイルストーンを目指し続ける。

数カ月以上の単位での,中規模の目標。

前項までの(1)〜(4)を行なっていくための,すべての動機づけとなるもの。方向性。


仕事上の出来事,例えば「プロジェクトのカットオーバー」「納品」なども,確かにマイルストーンだ。

しかし,それだと,仕事が「目的」になってしまう。

ここでは,「自分なりの」マイルストーンを持つことを勧める。

そして,そのマイルストーンを達成するための手段の一つが,仕事なのである。

関係する要素
  • 資格の取得。
    • IT関連の資格。
    • 語学の資格。
  • 役職や立場の取得など。
  • あるいは,「ドリームライン」の設定。
    • 「自作のOSSのリリース」とか,「海外旅行」とか,いろいろあるはず。
これが欠けるとどうなるか

目標がなければ,日々の行動や決定の方向性が立たず,結局なにも成し遂げられない。


逆に,これだけに傾倒してしまうと,将来を夢想するだけで,目の前の小さな事をおろそかにするようになる。


手を付ける順序としては,以下のような4ステップが考えられるだろう。

  1. とっかかりとして,とりあえず自分の興味のある点について(4)の小アウトプットを頑張ってみる。
  2. そのうち,自分のやりたいこと,中期目標が見えてくる。(5)のマイルストーンが設定できる。
  3. 設定したマイルストーンに合うような(4)をさらに続ける。
  4. (5)が達成される。また新しく(5)を設定し直す。
情報のサンプル

主なIT資格の一覧とリンク集
http://language-and-engineering.hatenablog.jp/entry/20101225/p1


情報処理技術者試験
http://www.jitec.ipa.go.jp/

  • 例えば,
    • 基本情報技術者
    • 応用情報技術者
    • データベーススペシャリスト


ITILファンデーション (v2+v3) 試験対策リンク集(模擬試験問題集や独学用の解説サイトなど)
http://language-and-engineering.hatenablog.jp/entry/20100618/p1


ミニ・ドリームライン:仕事の合間にいきなりバケーションへ
http://lifehacking.jp/2007/10/vacatio...

  • 3〜6ヶ月先に到達可能な目標を
  • いつかやろうではなく今に引き寄せるように

まとめ

これらの5パターンは,暗記しておこう。

各パターンのキーワードは,それぞれ

  1. 健康
  2. 仕事術
  3. 技術
  4. 小アウトプット
  5. マイルストーン

というものだ。


今後,

  • 「自分の仕事を改善したい」
  • 「仕事をより楽しみたい」

と思った時,いろいろなアドバイスに出会うことになるだろう。


それらのアドバイスは,今回取り上げた5パターンのどれかに必ず分類される。

つまり,これら5つの全てをバランスよく行なう事が,エンジニアとしての成功の鍵と言えるだろう。


補足

ここで取り上げた5パターンは,何を成し遂げる際にも共通して当てはめることができる。


本エントリでは技術者向けの目標達成という事だったが,何にでも当てはまるように汎用化すると,以下のようになる。

  1. 身体的な基盤。
  2. 行動の基盤。
  3. 対象領域での円熟性。
  4. 小規模なアウトプットの継続。
  5. 中規模マイルストーンの達成。

5のために,3と4を毎日行う。

そして,3と4に対して最大限のリソースを割り振ることができるように,1と2を行なうのである。