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

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

2018年の目標的なものを深堀する(前半)

こんちわ。

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

 

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

 

私は某中堅規模のSIerに勤める主にサーバインフラやセキュリティを仕事にしているクソザコSEです。そんな属性のKZSEがどんな事を考えて目標を立てたのか興味のある方は最後までお付き合いくださいませ。

 

目次

 

概要

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

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. ブログを頑張ろう

 

個別にみていく

 

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を使っている現場を見たことはありません。だいたいCVSSVNあたりですね。

 

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

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

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

 

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

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

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

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

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

 

長くなってしまったので、7個目以降は別のエントリで書きます。

 

おわり。