分この連載も早いものでもう23回です。これまで2年近く,ありがとうございました。これまでの総括というわけではありませんが,エンジニアとして成長していくために筆者が必要だと思うことについて,あらためてまとめてみます。1.逃げないなんといっても一番成長するために必要なことは,逃げないことだと思います。トラブルはもっとも成長するチャンスですが,逃げていてはもちろんそのチャンスを活かすことはできません。トラブルではなくても,とにかく逃げるということは,イコール経験値を貯めることを放棄することにほかなりません。逃げなければ,経験値が貯まるだけではなく,周りからの信用も獲得し,より重要なタスクを任されるようになれ,さらに成長することができます。逃げないだけではなく,逃げない上に結果を出すことが重要ですが,結果というのはそのとき自分が持っているスキルが足りていれば出る,そうでなければ出ないものなので,これはできる限りまでトライするとしか言いようがありません。スキルが及ばず無理な場合には,それに対処できる人に任せるのも重要なことで,それは逃げることにはなりません。エンジニアが成長するためには(エンジニアだけではないですが⁠)⁠,この逃げないというのが一番重要だと思います。武器を手に入れる世の中にはさまざまな技術,知識,道具などがありますが,その中でも本当に役にたつ武器というものがいくつかあります。インフラエンジニアであれば,tcpdumpやstrace(などのシステムコールトレーサー⁠)⁠,各種statを計測するコマンドあたりがそれにあたります。いった強力な武器を手に入れて使いこなすことは,それ自体が自身の成長にもつながりますが,それと同時にこういった本質的な武器を手に入れて使いこなすことこそが,本質を見抜くために役立ちます。UNIXやLinuxであれば,パケットとシステムコールと各種statや,あとは/procや/etc,ライブラリの仕組みあたりを知れば,もうだいたい怖いものはなくなると言えます。当然ながら,何が本当に武器になるのかを見極める力も必要になってきます。それには場数を踏むことも重要ですし,他人の意見や経験を参考にすることも重要です。いう意味では,情報収集のスキルというのも大変に重要だといえます。情報収集自体が一番強力な武器であるとも言えるでしょう。3.力を手に入れるここでいう力というのは技術力ではなくて自分の意見や考えを通す力です。それは周囲からの信頼であったり,影響力であったり,権力であったり,胆力であったりと要因はさまざまです。エンジニアたるもの(エンジニアだけではないですが⁠)⁠,自分が正しいと思ったことはそれを貫けるほうが,人の言うままに動いているよりは成長します。自分が間違っていてそれがわからないままにそれを押し通すのは自分にとってもマイナスですが,まあえてしてそういう人は遅かれ早かれ自分の意見が通せなくなります。余談ですが,意見が正しくない人の意見が通ってしまう組織というのは最悪ですね。そのために,自分の意見がまっとうな理由で通りやすくなるように努力しましょう。それには,自分の成果をきっちりアピールするとか,重要なタスクを進んで引きうける(そして結果をきちんと出す)とか,昇進などのチャンスがあれば迷わず手を挙げるなど,ものおじしないで前進していくことが重要です。それは,マネジメントを厭わないということにもつながります。なんとなく,エンジニアはマネジメントにいくようでは「上がり」だ(悪い意味で)と言われるような風潮がありますが,そんなことはないと思います。1台のサーバを運用するのと1000台のサーバを運用するのは,ほとんど全く別のことです。routeひとつでいいルーティングとBGPフルルートも,ほとんど全く別のことです。エンジニアの成長とはちょっと違いますが,スティーブ・ジョブズが数人しかいない会社にずっといたとしたら,あれほどの事は成し遂げられなかったでしょう。権力というのは正しく使えば夢や野望を達成する武器になるのです。やるのであれば,でかいフィールドに立つほうが身につくものは増えていきます。そのためにはマネジメントをする機会があればそれを逃さず,チャンスとして活用していきましょう。4.こだわる結果を出すことは重要ですが,必要最小限なのか,それを越えていくのかというのもまた重要です。トラブルが発生したときに,それを解決することは一番重要ですが,それ以外にも再発防止をすることや,運用の改善をすることなど,できることはたくさんあります。この「こだわり」というのが,エンジニアにとっては大変重要です。サーバがたくさんあるときに,環境の違い(バージョンなど)を気にしないのか,全部がきっちりそろっていないと気がすまないか,無駄なファイルやプロセスなどをギリギリまで削ぎ落とさないと気がすまないか,とにかくこういったこだわりというのはそのまま成長につながることが多いと言えます。他にも,運用から手動の部分を減らすためにスクリプトやmakefileを作ったりとか,バージョン管理を取り入れたりとか,こういった作業のひとつひとつが自身の経験値や知識を増やすチャンスになります。5.トラブルに遭遇することこれは自分の意思だけではどうにもならない部分もありますが,とはいえトラブルに遭遇するというのはもっともスキルと経験を増やすチャンスです。自転車やスキーは転ぶほど上手くなるのと一緒です。トラブル対応中は,ドラゴンボールの「精神と時の部屋」のように,同じ時間が長く感じられます。それも深刻であればあるほど顕著になります。結果を出すこと(解決すること)が一番重要なのですが,解決に取り組む時間自体が成長の大きな糧になります。だいたいインフラエンジニアというのは減点法なものですが,トラブル解決は加点になる貴重な機会でもあります。トラブルは三段跳びで経験などを手に入れるチャンスです。なければそれに越しことはありませんが,あったら是非積極的に取り組みましょう。解決すればそれはボーナスポイントです。解決するまでのステップも経験になるとはいえ,解決しないとその過程の答え合わせができません。解決するとそれだけ,自分の信頼も獲得することができ,それはそのまま力にもなっていくことでしょう。6.投げださない逃げないと似ているかもしれませんが,これは場面場面で投げださないという意味ではなくて,あるフィールドにおいては一定期間結果を出すまで続けるという意味です。一般的には結果を出すまで3年が目安といいますが,これは個人差はあると思います。成長に1年,活躍に1年,育成に1年とかいったりしますね。筆者の場合はだいたい2年だった気がします。会社都合解雇や,経営方針変更など,本当にやむをえない場合もあるとは思いますが,それでもたいがいの場合においてはどんな状況でも成長の機会というものはあるものです。ジョブホッパーは次のキャリアを見つけるチャンスも減っていきます。選択肢が減るということはそれだけチャンスも減るということです。何か不満があったらその解消にチャレンジしてみましょう。コミュニケーション力や交渉力,営業力すらエンジニアキャリアにとってはプラスになります。本当に自分が良いと思うことをやりたければ,経営者になることでさえひとつの選択肢になりえます。7.情報発信する経験や知識を貯めこむだけではいずれ頭打ちになります。自分の得たものを発信していきましょう。それは,職場の仲間かもしれないし,自分の部下かもしれないし,同じ業界の友達かもしれないし,不特定多数に対してかもしれません。情報発信するには,自分の中だけにあるときよりも細かいところがはっきりしていなければなりません。文字化できない情報は伝達できないので,自分の知識経験を文章にできなければなりません。それはつまり,自分の知識経験を整理するということになります。情報を発信するには,曖昧なところがあってはいけません。自分の中だけの知識経験であるときはなんとなくで済ませていたところも,ちゃんと調べて裏を取る必要があります。それは,自分の知識経験がより明確なものになるということです。それに加えて,情報発信するということは,発信した情報に責任を持つということです。これは,一番最初に挙げた「逃げない」に通じることでもあります。情報発信することで,新たな人のネットワークができていき,またそれが自分にとっての糧にもなっていきます。今回は最後ということもあって,これまでの連載を要約して,エンジニアの成長にとって筆者が重要だと思うことを,あらためて挙げてみました。みなさんがエンジニアとして成長していくことを祈っています。アスキー,So-netなどでネットワーク,サーバエンジニアを経験。オン・ザ・エッヂ(現ライブドア)のデータセンターである「データホテル」を構築,運営。ZETA株式会社)を設立,代表取締役就任(現任)。CX」シリーズとして検索エンジンやレコメンドエンジンを開発,販売している。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。