IT業界に来た新人に、僕からも本音を

というかさ、そろそろIT業界っていう大雑把な括りは、少なくとも働き方のスタイルについてはやめるべきだと思うんだ。就業していない人がIT業界といってイメージするのはプログラマだけど、職業プログラマですら多くのスタイルがあって、その一つ一つが仕事のやり方やクライアントの方針によって作り上げられて言っているわけです。
そして、エンジニア、と広げると、ユーザー側にも存在するし、マネージャやアーキテクトやコンサルという存在も欠かせません。それらが全て同じことを出来る必要がないし、逆に専門性を求めれば求めるほど、専門以外のことは他の人を上手く使う能力に転化していくわけです。
ということを踏まえて、まずこの記事、IT業界に来た新社会人に本音を言っておく - はなぢー戦記に突っ込みます。というか、最初のほうのいくつかだけですよね、IT関連って。

  • 少なくとも2種類以上の言語でエディタとコンパイラ or インタプリタだけでプログラムを書けないうちはプログラマを名乗らないでください。
    • プログラムを書けるってのは"Hello World!"でもいいのかな?なら賛成。そうでないなら基準が曖昧ですね。まあ業務プログラマは大抵プログラムと運用シェルくらいは書いて一人前ですよね。PL/IとJCLでもいいかしら。
  • クラスライブラリを使うのではなく、作ったことがない人はオブジェクト指向を理解したと言わないでください。
    • わからないでもないけれども、理解はできるだろ。マスターしたとは言わないと思うけど。個人的には「正しく使う」の基準には達して欲しい。コピペの氾濫するJavaプロジェクトは気が遠くなる。
  • 会社で必要と言われてることを全部勉強する必要はないですが、会社では要らないことも勉強してください。
    • と、言われても、何を勉強すれば良いかわからないですよね。そうでもない?ならば貴方は大丈夫。でも、最初は言われたことだけ勉強してもいいから「今やっていることが何のためか」を意識するようにしてください。あと、新人研修で習ったことは業務で使わなくても継続的に勉強するなり、発展させた方がよいですよ。
  • 先輩の言うことはせめて Web で裏を取りましょう。先輩とは無責任なものです。
    • コレはダメ。先輩は大概無責任(と言い切ると微妙)ですが、Webも無責任です。正しいドキュメント(参考書でもWebでも)にあたることが肝心。何が正しいかって?先輩に聞いてみましょう。ダメならWebで聞いてみましょう。「どこかに書いてあった」は、その情報が正しく判断できる技術的勘を身につけるまでは参考にする程度に留めましょう。
  • ある技術について勉強するなら本は2冊以上買いましょう。全然違うことが書いてあります。
    • さて、じゃあどっちが正しいの?
  • この業界は最新技術動向についていくのは大変ですが、基本的なところは30年ぐらい変わってません。
    • コレ重要!試験に出ますよ!というか、たまに雑誌記事で特集されるとおり、最近技術者になった人はリソースを贅沢に使うことに慣れてしまっています。データ構造とアルゴリズムの基礎だけは、どんな業務をやるにしても必要です。
  • 先輩が「これは奥が深い」と言ったらそれは「簡単にするのをサボってる」のです。
    • ちょっと短絡的ですね。深遠を除くことも大事です。
  • 仕事でミスして、罪滅ぼしに貴重なプライベートの時間を削って残業してキャッチアップして、残業代をきっちり清算してください。してくれない会社だったら、それは法に反していますので犯罪組織です。
    • 会社に所属する意味はこれですから。個人事業主で請負なら時間関係ありませんから。でも、犯罪組織を勢いづかせているのが組合のことがあるのに注意。あと、自分の会社がどういう業種として登録されているかに注意。
  • これからはグローバリゼーションの時代ですので英語を勉強する前に、ちゃんとした日本語が使えるようにしてください。説明するのに「ここ」とか「これ」とか言わずに「仕様書18ページの上の図」とかちゃんと言ってください。
    • 先輩達が「あれをさ」「ああ、あれね」と言っているときは特定の何かを指していますからね。安易に真似しないように。
  • わからないことをわかったふりをされると超迷惑です。しばきたくなります。
    • わかったふりをすること自体は構いません。しかし、それを放置しておくのは犯罪です。わかったふりをした後は全力で調べろ!その場でわかっていないとお話にならない時は、若いうちなら恥にならないのでその場で聞いてください。
  • 仕事は、覚えるんじゃなくて、ノートとペンを常に持ち歩いて記録してください。同じ事を2回聞かないためにはどうしたらいいか考えてください。
    • 記録はあくまで同じ事を聞かないためです。仕事は覚えましょう。そして、記録の確認も怠らず。でも、いつノートすら持ち込めない過酷な現場での障害対応をしなくてはならない事態が発生するかわかりません。覚えて済むことは覚えとけ
  • でも2回聞かないといけなくなったらちゃんと聞いてください。
    • 3回目は多分ありません。
  • ドキュメントは1年後の自分が読めるように書けるようになってください。
    • もちろん、今、目の前にいるレビュアーも読めなきゃダメですよ
  • 失敗したら、次はどうやったら「自動的に」同じ事にならないか、を考えてください。「今後気をつけます」は反省してない意味だと捉えます。
    • 儀礼的には「今後気をつけます」が必要なことは多いです。鵜呑みにしないよう。でも、前半は重要です。
  • 「どうしたらいいですか?」じゃなくて「こうしたいんですけどいいですか?」と聞いてください。
    • そこまでいかなくてもいいので、やりたいことを明確にして、今まで考えて上手く行かなかったことを教えてください。話はそれからだ!
  • (追加)「なんでそうしたい?」と聞いたら、理由を言えるようにしといてください。
    • まあそうですね。
  • (追加)略語は何の略かちゃんと調べましょう。調べてない先輩の上を行ってください。
    • 「GNU」なんかを調べて混乱しないように(笑
  • (追加)スペルミスは致命的なミスです。辞書を引きましょう。
    • ライブラリなんかにもたまにスペルミスはあります。それが新語になることもあります。でも恥ずかしいからあんまりやらないでね。

さて、こうして突っ込みを入れてみると、大きくは外れていないということに気付いてしまいました。最初の二つがあんまりだったからどうかと思ったんだけど、普遍的な話が多くて心がけとしては重要ですね。

じゃあ、僕の本音は

正直なところ、全員に多くを期待してはいません。次代を担うことができるのは50人につき2〜3人もいれば上出来です。多すぎくらいかな。しかし、せめて一人前の技術者にはなって欲しいと思っています。業務系SIerとして、様々な役割で働いていくわけですが、先のエントリでも書いたとおり、僕達のバックグラウンドは技術です。そこに関してサボる人はどこかで上手くいかなくなってしまいます。というわけで、いくつか要求してみます。

  • 勉強しろ。とにかく勉強しろ。意味がわからなくても覚えろ。何でもいいから。
  • ソフトウェア工学とは言わんからアルゴリズムとデータ構造の基礎だけは身に付けろ。付かなくてもいいからそういうものがあることだけは覚えとけ
  • 小さな失敗は出来るだけしておけ。積み重なって大きくなる前に発覚させろ
  • 間違ってもいいから発言しろ。若いうちは誰も君に正解を求めていない。口を開くか、開かないか、それだけだ。
  • 日本語でおk
  • 論理的思考に慣れておけ。結論には根拠が必要。

多分に抽象的ではあります。実際に新人を目の前にしたときはもっと細かいことを言うと思うけど、ほんとに一言で言えば「日々勉強」に尽きます。なんでもいいから「昨日の俺は今日と違う俺」になってください。それこそ、ショートカットの一つでも覚えれれば。