ホンモノのエンジニアになりたい

ITやビジネス、テクノロジーの話を中心とした雑記ブログです。

2018年の目標的なものを深堀する

こんちわ。

昨日のエントリで2018年の目標的なものについて列挙してみました。

 

今日はもうちょっと深堀して何でこういう目標を立てたのかを整理していきたいと思います。ただの1年の決意表明なので、「ザコSEの目標なんて知るかボケっ!」という方は、そっ閉じしてください。

 

私は某中堅SIerに勤めるSO(その他大勢系)SEです。主にサーバインフラやセキュリティ関連の仕事をしております。そんなSOSEがどんな事を考えて目標を立てたのか興味のある方は最後までお付き合いくださいませ。

 

目次

 

概要

 まず昨日のエントリです。

kwnflog.hatenablog.com

 

このエントリで目標的なことを13個列挙しました。

  1. Webアプリを作ろう
  2. Pythonをそれなりに使えるレベルにしよう
  3. AWSか何かのIaaSを使おう
  4. Gitを使ってみよう
  5. DBMSをちゃんと理解しよう
  6. コンテナを触ってみよう
  7. 機械学習ディープラーニング、AIとかそのあたりの領域に手を出そう
  8. 統計学をやり直そう
  9. ラズパイかArduinoでIoT的なことをしよう
  10. ハッカソンかモノづくり的なコンテストにでよう
  11. 英語でコミュニケーションがとれるようになろう
  12. CTFで一人でもそれなりに戦えるレベルになろう
  13. ブログを頑張ろう

 

個別にみていく

前項の概要に記載した13個の目標について、個別にもう少し噛み砕いて書いていきます。なぜこの目標なのか、どこまで目指すのか。

 

1.Webアプリを作ろう

 なんでサーバ屋、セキュリティ屋がWebアプリを作るんじゃいと思う方もいるかもしれません。これはまぁ一種の危機感からですね。ぶっちゃけサーバ構築ってOSの設定が主なので作業内容としては単純なんですよ。厳密に最高の性能を出すといった厳しい要件があれば難しいですが、今は昔と違ってサーバに積んでいるリソース量が多いので、よっぽど変な設定を組んでいない限り、普通に満足の性能が出ます。芸術的なレベルで高速性能を実現できるSEをアサインするとか、並みのSEに試行錯誤させて高性能を実現するより、CPUとメモリをもう少し積みましょうかで終わるので。

 

WEB・ゲーム業界やフロントエンドサーバはまた違うのでしょうけど、SIerの主な仕事である社内システムでは「カネをかけてもっと性能を」というより納期までにまともに動く性能であれば問題ないよで終わるのです。

サーバ性能について突き詰めて学んでいくことも重要だと思いますが、優先度で考えるとサーバで動作するアプリケーションについての理解を深めるという方向に力をいれたいと思いました。というわけでまずはWebアプリを作ろうでした。

 

2.Pythonをそれなりに使えるレベルにしよう

エンジニアたるものプログラムの1つくらいは出来るべきである。という思い込みからの目標です。別に使えなくても仕事で困ったりはしないですが、やっぱり出来ると仕事の枠は広がります。海外製品のマニュアルを見ると、APIのexampleがPythonってことがよくあります。システム構築時にAPI叩くスクリプトをさくっと書けると作業効率上がるなぁと思う場面が割とあります。モノづくりのためにというよりは、ツールの1つとして今より使いこなせるようになりたいですね。

あとCTFでは大会後にwriteupという解法が公開されることが多いのですが、その多くはPythonで書かれています。この辺りを通じてレベルアップを計りたい。

 

3.AWSか何かのIaaSを使おう

SIerの中の人も何かとIaaSの選択肢を考えることが増えてきました。私の周りではここ最近ようやくIaaSが市民権を得てきた印象です。私は金融系システムを担当することが多いので「ようやく」と見えるだけかもしれませんが、そんな見え方をしている私でも、インフラ屋としてはもうIaaS全くわかりませんは通用しないのではないかと思う次第です。

私は不幸にもIaaSを使ったシステムの導入経験はありません。使う時に勉強すればいっか、と思いここまで来ましたが、気が付いたら世の中AWSが当たり前の世界になっていて、出遅れています。というかSIerの外の世界の人たちと話すと「俺終わってんな」と思います。もう仕事や案件がうんたらではなくて、とりあえずAWSを使ってみようと思います。

 

4.Gitを使ってみよう

サーバ屋にとっては構築対象にはなるものの、利用対象にはならないバージョン管理システムです。私が今まで入ったプロジェクトでサーバ屋がバージョン管理システムを使うのはhostsファイルの管理くらいでしたので、あまり使う機会がありませんでした。一時期バッチ屋をやっていた時にCVSを使っていましたが、その時にバージョン管理システム恐怖症に罹患してしまい今までなるべく触らないようにしてきました。

(バージョン管理システム恐怖症は別エントリで書きたいと思います。何の話かはだいたいわかりますよね)

しかしながら落ち着いて世間を見回してみれば、右を見てもGit、左を見てもGit、ギットギットギットの世の中なのでもう見ないふりはできないなと。Webアプリをつくろう、Pythonをやろう、とか言っているわけですから、ついにやるべき時が来たなと思っています。(遅ぇ)

ちなみにSIerが出入りしている大手顧客のプロジェクトでGitを使っている現場を見たことはありません。だいたいCVSかSVNあたりですね。

 

5.DBMSをちゃんと理解しよう

サーバ屋にとってはインストール、インスタンス作成あたりが作業内容です。DB構築は仕事ではあまりやったことないですが、ちょっと経緯がありDBMS恐怖症に罹患しています。Webアプリやろうとか言っているわけですから、そろそろちゃんとやろうと。ちなみに昔、Oracle Bronze認定取得指令を受け勉強していたことはあります。その時は案件に急に火がついて、取得指令自体が無かったことになったのですが、ブロンズのSQLを合格水準までは勉強してましたのでこれは今でもかなり役に立っています。

でもインフラ屋の真髄はSQLではなく、あくまでDBMSやストレージという枠になると思うんです。今年はこの恐怖症に打ち克ち、世間一般以上のDBMS使いになろうと思います。

 

6.コンテナを触ってみよう

私は手を動かすまでに時間がかかるザコSEの部類に入るのですが、アンテナはしっかりと張っています。なのでDockerが日本で注目され始めた時はいち早くキャッチアップして「これは来るぜ」と確信した記憶があります。あれから数年、確信はしていましたが、ここまで何もせずに時を重ねてきてしまいました。

最近はセキュリティ関連の案件を担当することが多いからかもしれませんが、SIerの仕事をやっている中で、コンテナが絡む仕事はまだ聞こえてきません。

ただ仕組みはどう考えても合理的なので、セキュリティ周りの信用が得られれば仮想化が普及した時と同じような形で一気に普及すると思っています。

コンテナは勉強するというよりは何となく使ってみて、出来ること・出来ないことを肌感覚で理解しておくレベルで十分かと思っています。仮想化の時もそんな感じでしたからね。

 

7.機械学習、ディープラーニング、AIとかそのあたりの領域に手を出そう

SIerの仕事としては全くもって関係ない目標です。これは趣味に近い目標になるかもしれません。ディープラーニングで文書生成とかしてみたい。

ちょっとやってみたレベルでどのくらいのエンジンが出来上がるのかとか、チューニングがどのくらい大変なのかということを実際に動かしてやってみたいです。AIはエンジニアリングの話だけではなく、世間一般にどういう風に理解されているかも知りたいので、一般向けの書籍も何冊か読んでおきたいですね。

  

8.統計学をやり直そう

私は学生の時に確率・統計学、経済学を駆使して研究してました。専攻していた分野に未来を感じなかったため畑違いのIT業界に入りました。というわけでデータサイエンスには興味があるんですよね。でももう10年前の知識なので復習しないとと。

学生の頃は国内で走り始めたRを使っていて、Rjpwikiにも書き込んでいました。その頃ITのことは全然わからなかったけど、あーでもないこーでもないと言いながら試行錯誤していたのはすごく楽しかったです。

あの時のピュアな心を取り戻したい。

偉そうに且つ推測で書きますが、世間一般で言われているデータサイエンスのレベルが、当時私が大学院で学んでいたレベルほど高くは無いとタカをくくっています。たぶんビジネス向けに特化しているか、この数字がいくつならOKとかそれくらいのレベルなんだろうと思い込んでいます。これを確認しようじゃないかと。

ということで統計学の復習と世間一般から求められているレベルを知ることを目標に定めます。

 

9.ラズパイかArduinoでIoT的なことをしよう

これは機械学習と同じ理由です。やってみたい。

センサーからのデータ取得やモーター動かしたりですね。簡単に書いていますが、たぶん実際にやってみようとなったら相当の苦労があると思うのです。センサーの感度調節だとか、モーター制御、タイミング、重心とかそういうの。で、これってやってみないとうまくいかない難しいポイントがわからないんですよ。

何でそんなポイント知りたいのかと言うと、1つはガチ勢に会った時に聞けるからです。専門家と話すチャンスに巡り合った時にググればわかる内容を聞くのは勿体ない。ググってもわからない話を聞き出すのが有益です。

もう1つは、初歩的な部分でもやってみたのと、やってないのとじゃ全然違うからですね。特にIT系には多いと思いますが、インストールして基本的な使い方で動かしてみれば半分はクリアというモノが多いです。動かすだけなんだけど、大抵の人がやらないからやった人が優遇されるという場面は割に多い。

アパートの部屋に生息しているGを駆除するキラーマシンを作るのが夢。

 

10.ハッカソンかモノづくり的なコンテストにでよう

やっぱりITの本質は、それを生かして無駄をなくすことだったり、新しい価値を作り出すことにあると思います。でもそれってSIerでサーバ伯爵やっているだけでは成し得ないとも思っています。

じゃあどうするか?

作れる場所に出ていかないといかん。SIerの仕事で、新規事業を一から百までやり切れるものは殆ど無いので、外の世界に出ていく必要があると思います。色んな意味で怖いですが。(((。・´ω`・。)))

こいつはハードルが高いっすなぁ。見る前に飛べる人にとってはとりあえず行けばいいんでしょ?と思うでしょうけど、石橋をたたき割って安心するタイプの私にはなかなかきつい。

こうやって明文化してゴールのある方向を意識するだけでも意義があるはず。うん。

 

11.英語でコミュニケーションがとれるようになろう

これは今年の非技術テーマの中で最大の目標です。技術文書やコミュニティの書き込みを読むことくらいは出来ますが、ボチボチ英語でお話出来るレベルになりたい。

実践的な取り組みが一番なのかもしれないですが、変に崩れた英語を身に着けるより基礎からじっくりとやり直したいので文法と単語から始めます。とりあえず年明けてから単語はちょろちょろ始めているので継続してやっていきたいと思います。

こういう継続力がモノを言うテーマは指標が無いと辛いので、TOEICを何回か受験しようと思います。当面は3月開催のテストで600点を目標にします。

 

12.CTFで一人でもそれなりに戦えるレベルになろう

CTFは分野が多岐に渡るため、あれもこれもやっていると目に見える成果が出づらいです。去年がそうでした・・・

今年はWEBを中心にやっていこうと思います。英語で書かれたwriteupのまとめみたいなエントリを上げれば英語学習、Python学習と合わせて一石三鳥計画。

具体的な目標は今年のSECCONでWEB分野のミドルレンジ問題くらいまでを戦えるようにしたい。

 

13.ブログを頑張ろう

ブログは具体的な目標設定をしません。書きたい時に書ける内容を書くのがいい。

このブログは開始してから2か月弱で、閲覧してくれる人も少ないですがアクセス数が少しずつ増えているのは純粋にうれしいし、SEOの勉強にもなっています。

私はSEOとか広告っていうのはなんかこう邪なモノというイメージがあったのですが、だいぶ印象が変わりました。そんなに不埒なものではなさそうだと。

今年は当面、SIerへの文句・愚痴・批判を書いたり、ITニュースを深堀して調べた内容を書いていきます。あと動かしてみたり作ったものをまとめていくエントリも書いていきたいと思います。

 

 

と、このように1年間走っていきたいと思います。

最後に偉そうに二言。

 

目標なんてのはなぁ、進む方向決めたら細かいこと考えないで全力疾走すりゃいーんだよ!!!そんでなぁ、たまに走ってきた道を振り返れば、それでいいんだ!

 

おわり。