アフィリエイト広告を利用しています


スキル無しのシステムインストラクターから、システムエンジニアへの転身日記。
◇◆◇ 2013年取得資格
LPICレベル1
LPICレベル2
LPICレベル3 Core
LPICレベル3 Speciality 302
LPICレベル3 Speciality 303
LPICレベル3 Speciality 304

Cisco CCENT
Cisco CCNA

Java SE 7 Silver
Java SE 7 GOLD

OSS-DB Silver

◇◆◇ 2014年取得資格
HTML5 Professional レベル1

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

30代 × 未経験 × プログラマー 転職の道 その2

前回に引き続き・・・。

2.未経験者の加点

先ほど、未経験だけど欲しくなる人というものを考えましたが、
私は以下のような人と考えます。

1.独学で学習をしてきて、それを成果物としてアピールできる人。
2.他業種でも一途に仕事を頑張ってきた事がわかる人。
3.今までの職歴で、ある程度ITを万遍なく触ってきている人。
4.志望動機が明確で、企業の募集の意図をくみとれている人。


上記にあげた人は、他の未経験者よりも加点がつくと思います。

1は、ITに限りません。その人が今後どのくらいできそうかというのは、
その業務に関する成果物をあげるのが手っ取り早いです。
多少、粗削りだったり間違っていたとしても、できる。やれる。といった言葉だけ発するより、中身があります。

2は、5年とか10年同じ企業に勤め、いろんなプロジェクトに参画してきて、
沢山の知識や経験を経て一途に働いてきた。というところは、とても評価されます。
そして、業界は違っても未経験でも、今後同様にまじめに働いてくれると思えるでしょう。

3は、今回のケースはプログラミングですが、オペレーターやインストラクターのように
ユーザーサイドに近いところで働いたことのある人。こういう人が、「上流」という
言葉に憧れて、開発やインフラの設計・構築をやりたく転職を志す人は多いでしょう。
全くの未経験者よりは、ミドルウェアに多少触れている人の方が、入りやすいでしょう。

4は、未経験でも、企業の求める人物像というのを理解していて、
そこに進んでいこうとしている人は、育ててみようと思うはずです。
ここが、少しずれている人だと、
それをやりたいなら、うちの会社じゃないんじゃないかな。とか企業が不安に思ってしまいます。


3.未経験者の減点


加点があるということは、減点があるということです。
以下は、あくまで私が感じた減点ポイントです。

1.学習しているとは言うが、学習内容に中身がない人。
2.転職回数の多い人、ブランクの長い人。
3.プログラミングを理解できなさそうな人。
4.履歴書や経歴書を盛って書いている。


加点との逆パターンですね。

1.プログラマとして面接を受けると必ず聞かれることがあります。
「今、プログラミングで何か勉強をしていることはありますか?」
ここで、ないです!ときっぱり言えば、じゃあ、なんでプログラミングやりたいと思っているの?
という風になりますし、Hello!Worldと出力するプログラミングをしただけで、
多少できる。と答えてしまうと、突っ込まれれば、努力が足りないことは露呈します。

2.これは私なのですが、転職回数が多い人は、続かないんじゃないか。と思わせます。
IT業界を渡り歩いているならまだしも、IT以外の経験を挟んでいると、
またプログラミングも続かないんでしょ。となり、いくら猛アピールしても説得力がなくなります。
ちなみに、私は通常の履歴書にはすべて書ききれないほど転職しています。
とっても不利です。面接までたどり着けないパターンが多いです。

3.プログラマだと、プログラマ適性検査が必ずと言っていいほど行われます。
規則性のテストですね。1.◇ 2.□ 3.◆となった場合、4.?に当てはまる記号は何か?
といったようなものが、50問くらい続くようなやつですね。
これができないからなれないわけではないですが、未経験でも、多少すらすら解けないと
適性がないのではないかと思われます。

4.これは私に限らず、多いと思います。
例えば、インストールしただけで、構築と書いたり、
経験として、Oracle、SQLServerなどと書いている割に、プロセスの再起動くらいしかしていない。
などなど。これをあたかも職務経歴書で経験したかのように書いていると、
面接のときにボロが出て経験には入らないと判断されます。

減点は、他にもたくさんあるでしょうが、私自身が上記をよく感じました。
では、私自身は、この加点減点どうなのか。

次回へ続く・・・。

30代 × 未経験 × プログラマー 転職の道 その1

もうすぐ、転職して1年が経ちます。
プログラマーになるべく、30歳を過ぎてプログラム未経験で入社したい。
と、強い意志で挑んだ結果、散々な目にあいました。

今の会社も、プログラマーとして応募したわけではなく、
運よくプログラマーとして採用されたという経緯があります。

やはり、開発経験のない若くない人間を採用するには、
開発経験のある多少若い人と戦える何かがないと、いけないのですね。

私が転職をするうえで感じたことを書いてみます。

1.未経験でプログラマー志望として面接

未経験で募集をかけている企業は、ある程度育ててもいいから人材が欲しい。
という思いがありながらも、人材を募集しているくらいなので、
今の開発や、今後予定されている開発に人を投入したいと思っているのです。

よって、開発経験がない人よりも、ある人が優遇されるのは当然です。

それでも経験がある人なんて、そうそう採用できません。
経験がある人で転職をしたいと思っている人が、今働いている環境と同等、
またはそれ以下の企業で働きたいと思うのでしょうか。
普通であれば、条件面のアップや、新たにやりたいことがあって、
それに挑戦できる環境がある企業を選ぶのです。

よって、経験者を採用することが難しいので、未経験可と書いているのです。

未経験だけど欲しくなる人。それはどういう人でしょう。

続く・・・。

JavaEEの前に復習をしてみる その15 文字列のフォーマット指定

文字列処理って深いな…。そろそろ飽きてきたかもしれませんね。
私じゃないですよ。見てる人がww

今回は、文字列を表のように出力するときにどのように記述すればいいのか
を考えてみたいと思います。

以下にコードを記載します。
shade,shake,shakoといった3名がいまして(playerName*)、
それぞれ職業をもっています(playerJobs*)。
そして所持金をランダムで表示します。

package test;

public class StringFormatTest1 {

public static void main(String [] args){
final String playerName0 = "[Name]" ;
final String playerName1 = "shade" ;
final String playerName2 = "shake" ;
final String playerName3 = "shako" ;
final String playerJobs0 = "[Jobs]" ;
final String playerJobs1 = "proglammer" ;
final String playerJobs2 = "fish" ;
final String playerJobs3 = "shrimp" ;
final String playerMoney = "[Money]" ;

StringFormatTest1 sft = new StringFormatTest1();

System. out.println(playerName0+playerJobs0+playerMoney);
System. out.println(playerName1+playerJobs1+sft.PlayerMoneySet());
System. out.println(playerName2+playerJobs2+sft.PlayerMoneySet());
System. out.println(playerName3+playerJobs3+sft.PlayerMoneySet());

}

public int PlayerMoneySet(){
int playerMoney = (int)(Math.random ()*100000);
return playerMoney ;
}

}


結果は、
[Name][Jobs][Money]
shadeproglammer1445
shakefish60882
shakoshrimp39569


となります。

全部くっついて、わけが分からなくなりましたw

かといって、
System. out.println(playerName1+" "+playerJobs1+" "+sft.PlayerMoneySet());
といってスペースで誤魔化すのも、なんかプログラミングじゃないですよね。

そこで、コードを書き換えてみます。

package test;

public class StringFormatTest1 {

public static void main(String [] args){
final String playerName0 = "[Name]" ;
final String playerName1 = "shade" ;
final String playerName2 = "shake" ;
final String playerName3 = "shako" ;
final String playerJobs0 = "[Jobs]" ;
final String playerJobs1 = "proglammer" ;
final String playerJobs2 = "fish" ;
final String playerJobs3 = "shrimp" ;
final String playerMoney = "[Money]" ;
final String Format0 = "%6s %10s %7s" ;
final String Format1 = "%6s %10s %d6" ;

StringFormatTest1 sft = new StringFormatTest1();

System. out .println(String.format(Format0,playerName0,playerJobs0,playerMoney));
System. out .println(String.format(Format1,playerName1,playerJobs1,+sft.PlayerMoneySet()));
System. out .println(String.format(Format1,playerName2,playerJobs2,+sft.PlayerMoneySet()));
System. out .println(String.format(Format1,playerName3,playerJobs3,+sft.PlayerMoneySet()));
}

public int PlayerMoneySet(){
int playerMoney = ( int)(Math.random ()*100000);
return playerMoney ;
}

}


結果は、

[Name] [Jobs]     [Money]
shade  proglammer 88,037
shake  fish       74,024
shako  shrimp     60,585



このように見やすくなりました!
何が起きたのでしょうか。

まず、変数に加わった
final String Format0 = "%-6s %-10s %7s" ;
final String Format1 = "%-6s %-10s %,d" ;

を見てみましょう。

ここで言う
%s … 文字列
%d … 数字
- … 左詰
, … 3桁ごとにカンマ
数字 … 文字列の数


といった正規表現とはまた違ったフォーマット指定ができます。
(こういうのがあるから正規表現をいつまでも覚えられないのだがww)

System. out .println(String.format(Format1,playerName1,playerJobs1,+sft.PlayerMoneySet()));

あとは出力の仕方ですが、
String.formatを使って、自分で作った定型FormatのFormat1を指定して成形します。

文字列1つ成形するのにも、クラスを一個成形用に作らないといけないですね。
文字列深いなぁ。きっちり覚えないとな。
この辺を当たり前に使えるか使えないかで、一日にコードをかける時間が変わってくるのです。
オライリー使った時に、この辺って出てこなかった気がするな・・・。
それとも、あまりの分厚さに失念したのか・・・。

SEばっかりやっているから、JavaEEの技術をまた忘れてきた。脳みそよ。もっと頑張れ!!

IT 勉強会・セミナーの需要

過去にも紹介しましたが、私が勉強会に参加する為のサイトは、
下記3つが主要です。

アテンド
http://atnd.org/beta
connpass
http://connpass.com/
DoorKeeper
http://www.doorkeeper.jp/

定員割れを起こすほど人気のセミナーは、どういったものが多いかというと、
HTML5関連のもの、最新技術の入門的な内容。
こういったものは、100名だろうが200名だろうが、
あっという間に埋まってしまいます。

定員割れを起こしても、当日にかなりの人数がキャンセルします。
なので、当日の夕方まで待ってみるのも手ですね。
そしてキャンセルすら入れない人もいるので、当日に会場まで行ってみるのも手です。

大きいセミナーは、大抵入場無料ですが、コワーキングスペースを使って行うような
小規模・中規模のものだとコワーキングスペース利用料だけお支払いする場合もあります。
(こういった場合、コワーキングスペースを前後に使用しても構わない)
あとは、アルコールを飲みながらとか、懇親会を称して食事を最後に出してくれるところもあります。

たまに、食事だけしに来てるんじゃないかという人も見受けられます。
懇親会なのに、だれとも話さず、ただ食事だけをテーブル回って食べたいだけ食べて、早々に帰宅。
やらないけど、セミナーってほぼ毎日どこかで行われているから、食費かからないで暮らせるかもなww

ちょっと脱線してしまいましたが、ITの技術に関してはみんな貪欲。
しかし、極めている人って言うのは、やっぱり少ないし。へー、なるほど・・・。と
わかったふりをして、一切自分で試さないと言う人も多いだろうな。

私も、Chefはやりたいけど、いろいろと工数や今後の自分の業務を予測すると、
気が引けてしまうところもありますしね。

やりたい事多すぎるんだよな。だから、何か一つを極めることができない。
でも一つ極めている人って、広く浅い知識も豊富だよな。不思議だわ。

PHPとJavaとRuby

プログラマーとして大きい仕事をしていく為には、Javaは必須だと思っていて、
Webアプリケーションといえば、Javaのサーブレットとjspの組み合わせをTomcatで!
といった認識ではいますが、最近ちょっと違和感を感じるのですね。

どうもいろいろ調べて行くと、自分が趣味でやりたい分野はPHPやRubyだったりする事が多いのです。
例えば、Wordpressは、もうがっつりPHPです。プラグインや、ウィジェットなどを自分で
開発したい!と思うからには、PHPをがっつり覚えなければいけないのです。

そして、Webエンジニア(インフラ)として活躍するにしても、ChefやFluentdなんかは、がっつりRubyです。
今までJavaで書かれているもので、ちょこっと有利になったのはJenkinsくらいじゃなかろうか。

今の会社を面接する前に受けた、開発系の企業ではJavaをまず学習してもらい、
PHPはJavaと似ているから、そこから勉強し直しても時間はたいしてかからない。
と言っていましたね。1社だけではなく、何社も。
ある人売り企業では、プログラミング未経験の自分に、Ruby案件に面接を受けさせようとしてましたね。
正直、今となっては、JavaだろうがRubyだろうがプログラミングの入り口としてはどちらでもよかったとは思います。
その時点では、Rubyという言葉を聞いた事があるくらいで、現在需要がかなりあるという認識はありませんでした。

なんにしても、1つの言語で仕事をまともにできる状態でもないのに、
Javaだー、PHPだー、Rubyだーなんて言っている場合ではないのですが、
基本的なお作法は、どの言語も抑えておいて損はないのです。
特に趣味の分野ですが、Wordpressでウィジェットに簡単なアプリを載せて運用したいとは思っていますので、
PHPは趣味程度ですが、早めに習得するべきだなとは思います。

PHPが手軽だと言われているのは、個人的には、
レンタルサーバーや、VPSがPHPのインストールまでをサポートしてくれるからであると思っています。
レンタルサーバーだとPHPが使える環境で、データベースまでつけて無料です!なんてところもありますが、
まず、レンタルサーバーでJava,Tomcat完備、サーブレット動かせます。無料です。なんてところは見た事がありません。
そして、動かす為にVPSを借りて、月1000円です。JDK、Tomcat、MySQLインストールして、
設定ファイル書き換えて…、iptablesでアクセス絞って・・・という環境構築の敷居が高い気もしますね。

PHPはサーバサイドスクリプトなので、Web特化型で行く!と決め込んだら、それでいい気もしますね。
Javaを学習しておけば、Web以外にもプログラミングできますしね。
それでも結局、仕事としてプログラマーとして食いつなぐには、Javaなのかなと思います。

JavaEEの前に復習をしてみる その14 文字列の切り出しと正規表現

前回の続きですね。文字列関連です。
あ、何気に、この辺、Java SE 7 Gold の文字列処理の試験範囲ですので。
取得を目指している人は、さらっと読めるようになってないとピンチかも。

オラクル認定資格教科書 Javaプログラマ Gold SE 7 (EXAMPRESS)

新品価格
¥4,410から
(2014/3/8 21:24時点)




オラクル認定資格教科書 Javaプログラマ Gold SE 7 スピードマスター問題集 (EXAMPRESS)

新品価格
¥3,780から
(2014/3/8 21:25時点)




あれ??スピードマスターでも出るんかい!!おじさん、びっくりしたわぁ。
同じ翔泳社でつぶし合うのですね。でも、スピードマスターは問題集だからな。
ササッと受かりたい人は、問題集でもいいかもね。
参考書そろってきたなぁ・・・でも、Java SEは、もう8だしな。ついてけないわー。

1.文字列の切り出し

public class JavaString3 {

public static void main(String [] args){
String st4 = "アサイー飲んで運動して健康な生活を送る" ;

System. out.print(st4.substring(0,1)+st4.substring(2,3)+st4.substring(9,11)+st4.substring(18));

}
}


st4.substring(int index,int endIndex)
ということで、文字列の最初の切り出しと、切り出しの終わり位置を指定して文字を切り出します。
endIndexを指定しないと、切り出し位置から最後の位置までを表示します。

結果は、ちょっとしたクイズ。クイズでも何でもないですね。

あとで、別記事で紹介しますが、この切り出し技術があれば他サイトの更新情報をまるっと抜き取ることができます。
あくまで個人で楽しむだけになりますが、成形して自分で分かりやすいように使ったりできると思います。

2.正規表現

あまり得意ではない。正規表現です。
正規表現の書き方って、言語依存な仕様になっていたりするので、
Rubyだったり、シェルスクリプトだったり、Javaだったりで分からなくなります。

勿論、今回は、Javaの正規表現です。

例えば、プログラムに使うユーザー名は、最初の文字は数字が禁止で
6文字のユーザー名で指定しなければならない場合のプログラムを作ります。


public class JavaString4 {

public static void main(String [] args){

String userName1 = "2man001";
String userName2 = "tw0Man";
String userName3 = "shadeday0" ;

System. out.println(userName1.matches("[a-zA-Z][a-zA-Z0-9]{5}" ));
System. out.println(userName2.matches("[a-zA-Z][a-zA-Z0-9]{5}" ));
System.out.println(userName3.matches( "[a-zA-Z][a-zA-Z0-9]{5}" ));
}
}



結果は、

false
true
false


です。

正規表現って、全く触れたことがないとただの暗号ですよね。
matches を使って、一致する場合はtrue。それ以外はfalseと返すようにしています。

問題のここですが、
[a-zA-Z][a-zA-Z0-9]{5}

まず初めに、[a-zA-Z]ですが、1文字目をアルファベットのa~z、またはA~Zと一致するとしています。
そして、[a-zA-Z0-9]{5}は、a~zとA~Zと1~9と一致するを5回繰り返すとしています。

String userName1は、1文字目が数字なのでNGですね。
String userName2は、1文字目がアルファベットで、残り5文字がアルファベット、または数字なのでOKです。
String userName3は、6文字以上なのでNGです。

もし、条件が、「6文字”以上”のユーザー名で指定しなければならない場合」であったなら、
System. out.println(userName3.matches( "[a-zA-Z][a-zA-Z0-9]{5,}" ));
とすればOKです。
数字の後に「,」をつけるだけです。

もし、条件が、6文字以上かつ8文字以内のユーザー名で指定しなければならない場合」であったなら、
System. out.println(userName3.matches( "[a-zA-Z][a-zA-Z0-9]{5,7}" ));
数字の後に「,7」と終点を指定するだけです。

何とかここまで理解したところで、混乱させますが、
実は、
System. out .println(userName1.matches("[a-zA-Z][a-zA-Z0-9]{5}" ));
System. out.println(userName0.matches( "[^\\d]\\w{5}" ));

と書いても一緒なのです。

\\d(\d)は、「0-9」を意味しており、[^]は、否定になるので、「0-9以外」となります。
\\w(\w)は、[a-zA-Z]を意味しております。

よって結果は一緒なのです。

そして、私だけかな。正規表現の書き方で混乱するポイントはもう一つあって、

文字列の頭にAがつくという条件の時は、「^A」
文字列の最後ににZがつくという条件の時は、「Z$」を使います。

え?「^」は否定なんでしょ?行頭文字にも使うの?
先ほどの、否定は忘れて、下記コードを見てみましょう。

package test;

public class JavaString5 {

public static void main(String [] args){

String userName1 = "ABC" ;
String userName2 = "XYZ" ;


System. out .println(userName1.matches("^A\\w{2}" ));
System. out .println(userName2.matches("X\\wZ$" ));


}
}


ここでは、
1行目の出力文では、Aから始まり、[a-zA-Z]な3文字だった場合True
2行目の出力分では、Xから始まり、[a-zA-Z]な2文字目を持ち、Zで終わる場合Trueになります。

"^A"の場合は行頭指定、"[^A]"の場合は、A以外の文字列となります。
焦っていると間違えそうなので、ここは要注意ですね。

ちょっとグダグダですが、正規表現を使うと、文章の切り抜きが楽にできます。
またの機会にでも、実際のサイトから文章を切り抜いてみたいと思います。

JavaEEの前に復習をしてみる その13 文字列の調査や検索

Stringって文字列を表示するだけのものではなくて、
文字情報の比較・検索・抽出にも使えるので、例えばYahoo天気のページから
今日の天気や明日の天気のデータを抽出するような時にも使えます。

今日は、Stringを使った文字列操作を学習してみます。

1.文字列の調査

public class JavaString {

   public static void main(String [] args){   
      String st1 = "Javaを勉強しています" ;   
      String st2 = "javaを勉強しています" ;
   if (st1.equals(st2)){
         System. out .println("この文字列は一緒です" );
      } else if (st1.equalsIgnoreCase (st2)){
         System. out .println("大文字小文字を区別しなければ一緒です" );
      } else {
         System. out .println("違います" ); 
      }
   }
}

例えば、上記のようなプログラムを作った場合、結果は、
「大文字小文字を区別しなければ一緒です」
という結果が返ってきます。

ここでは、
st1.equals(st2)
st1.equalsIgnoreCase (st2)

の2つを使っていますが、

st1とst2が同一であるかを比較する構文になっています。
st1.equals(st2)の場合は、文字列の完全一致を求めているので、
st1とst2は、Java と java の違いがあるので同一と判断されません。

しかし、st1.equalsIgnoreCaseは、大文字小文字を区別しませんので、
同一の文字列として認識し、else ifの結果が返ってくるといったようになります。

あと、よく使うのが、文字列の長さを調べるlengthですね。

System. out.println(st1.length());

とすると、12という文字列の長さを返すことができます。


2.文字列の検索


以下のようになプログラムを書きます。

public class JavaString2 {

    public static void main(String [] args){

      String st3 = "ブログ記事にJavaScriptとJava" ;

      System. out .println(st3.contains("Java" ));
      System. out .println(st3.startsWith("ブログ" ));
      System. out .println(st3.endsWith("Java" ));
      System. out .println(st3.indexOf("Java" ));
      System. out .println(st3.lastIndexOf("Java" ));
     }
  }

結果は、

true
true
true
6
17

一つ一つの役割ですが、

st3.contains("Java" )


こちらは、Javaが文字列に含まれていればTrueを返します。

st3.startsWith("ブログ" )


こちらは、頭にブログという文字列があればTrueを返します。

st3.endsWith("Java" )

想像がつくかとは思いますが、文字列の最後にJavaがあればTrueを返します。

st3.indexOf("Java" )

こちらは、Javaを頭から検索して何文字目にJavaがあるかを示します。
(0)ブ(1)ロ(2)グ(3)記(4)事(5)に(6)Java
で、6という数字が返ってきます。

st3.lastIndexOf("Java" )

こちらは、文字列の最後からJavaという文字列を検索して、
頭から何文字目にあるかという検索の仕方です。最初のJavaよりも最後のJavaの文字列の方が優先されます。

文字列操作だけで、かなり楽しい感じです。
次回も文字列に関する記事を書いていきます。

インフルエンザ発症

まさかのインフルエンザ発症をやってしまいました。

私は、風邪で会社を休んだりしたことが、ほとんどありませんので、まさか自分が・・・とは思っていました。
朝起きると、体がだるい・・・昨日体調悪かったのもあり、一応、熱を測ると37.8度。平熱は35度台です。
あ、だめだ。久々にやらかしたわ・・・。会社に連絡を入れ、とりあえず一日休みをもらう。

恐らく5年ぶりくらいに体調不良で会社を休んだ・・・。病院があく時間になったので、
ふらふらと病院へ向かう。病院で熱を測ると、38.4度。お、あがってきた・・・。

意識がもうろうとする中、診察室へ呼ばれ、昨日は熱を測ったかと聞かれる。
インフルエンザの検査キットは、高熱が7時間以上続いている確証がないと、
ただしく表示されないとのこと。夕方にもう一回来れるか?と聞かれるも、
昨日から熱はあったのではないかと思うし、もう既に朝から5時間は経っていたので、
インフルエンザだったら、もう出るだろう。と思い、検査キットを試すも、陰性。

抗生物質だけもらって帰宅。朝からずっと頭痛が続き、食欲もなく、とてもつらい。
ベッドで1日過ごし、次の日を迎える・・・。

次の日。熱を測る。39.4・・・。うげ。。抗生物質全く効いていない。
病院があく時間まで、何とか耐える。もう一回熱を測る。40.2度。あわわ・・・。
タクシーに乗って、病院に行くことも考えたけど、とりあえず、ふらふらと病院へ向かう。
そして、病院で再度検査。陽性。はい、アウトー。
予防接種は受けていましたが、新型インフルエンザにかかってしまいました。
その場で、点滴を打たれ、ふらふらと自宅に帰りました。
頭痛と気持ち悪さが一日続き、眠りにつくのも一苦労でした・・・。

そして、次の日、午前中の時点では、まだ38度ありましたが、夕方になるにつれて平熱に。
食欲も出てきたので、栄養補給のため食事をとる。
テレビをみたり、携帯をみたりというのも多少ができるようになる。

そして、待期期間のため2日会社を休みました。まだ体調は戻らないので、
徐々にならしていき、休暇最終日に布団やまくらカバーを全部洗って、除菌スプレーを部屋中に散布。
嫁さんを実家に帰していたので、戻ってきてもらえるよう準備・・・。

そして、なんとか水曜日から復帰するのでした。
いやー、ひさびさにやらかしましたね。手洗いうがいもしてましたが、
毎日人ごみの中で生活している以上、防げないものだなぁと思いました。
皆様も、体調にはくれぐれもご注意ください。

AWSのセミナーに参加してみた

仕事を定時で終わらせて、新宿までセミナーを受けに行ってきました。
今回のセミナーはAWSに関するもので、自分にとって興味のある以下4本立てでした。

・オートスケーリング
・Cloud formation
・Chef Server
・クラウドを使うユーザが考えるべきこと

仕事を終わった時点で、体調があまりよくない感じはしていましたが、
このまま帰るだなんてもったいないし、なんとかなるでしょ。と思っていました。
先に腹ごしらえを・・・と入ったラーメン屋。居酒屋兼ラーメン屋だったので、出てくるのが非常に遅く、
ちょっと余裕を持って行ったのですが、ギリギリでした。

1.オートスケーリング
オートスケーリング自体は、スポットインスタンスを使ったオートスケーリングを運用してみて
どうだったかといった内容でした。
ソーシャルゲームにオートスケーリングを利用しているので、ピークタイムになったら、
単価の安いオークション形式のインスタンスを自動で増産して、不可に耐えられる仕組みです。

なるほど。AWSにはCloudWatchという監視の仕組みがあって、付加状況に応じて、
オートスケーリングでインスタンスを増産という仕組みは考えているけれど、
事前にピークタイムを予測できるような場合は、不可が上がる前に増産するというのも手ですね。

そしてスポットインスタンスは、安い反面、自分より高い値段で入札されるとサービスに乗っかった
インスタンスすらも落とされてしまうので、やっぱり複雑だなぁと思いました。
いくら安いとはいえ、本番サービスに乗っけられるのは、全部自社サービスだから責任も自分らでとれるといったところでしょうか。
ちょっと大胆すぎて、受託とかだったらこのやり方は提案できないだけに、発表としては面白かったですね。

2.CloudFormation
これは、もっと早めに勉強しておくべきだったとは思います。が、うちはAWSでのインフラ構築をメインでやっています!
といった会社でないと、なかなかエンジニアが使いこなすレベルまではいかないかなぁと思います。
ネットワークから、インスタンスの使用、セキュリティーグループまで、リソースの集約(スタックと呼ばれる)を作っておいて、実行することで一気に構築できるといったものです。

発表者の方も言っていましたが、記述がJSONなので。入り口としては、かなり抵抗のあるものです。
AWS屋さんだったら、ぜひ使うべきものだということはよくわかりました。
WEB+DBのサービスを今日中に作ってよと言われても、スタックを作っておいたものがあれば、
その要件に合わせて、修正してあげるだけで作り上げられますからね。

AWSの素 のようなテンプレートをたくさん作っておいて、一瞬で構築を済ませるといったようなものですね。
ある意味では、高位な魔法は時間がかかるので、魔方陣をあらかじめ作っておいて、敵が来たら発動するだけ!といった
ゲーム的発想で自分を納得させてみる。そう、Jsonは魔方陣なのだから、そう簡単に理解できるわけないw
まぁ、やればできるんですよ。きっと。やりますよ。きっとw


3.Chef Server
これはAWSではないですが、AWSと組み合わせて利用されることも多く、1台1台設定ファイルを変更するのではなく、
Chef Serverで設定ファイルやアプリケーションのインストールなどを一元管理するものですね。
つまり、Cloud FormationでAWSサービスを立ち上げたら、中身的な変更はChefで管理するといったことができます。

Chefも結構敷居が高く、レシピやナイフといった新たなChef独自の仕様を理解していく必要があります。
あとは一人だけ覚えてしまうと、その人に頼りっきりになってしまう感じも否めないなぁと思いました。
新しい技術って、一人だけができても実際運用する際には、とても苦労しますよね。
インフラって結構一人当たりの負荷が高くて大変ですしね。
この発表者の企業は、結構有名な会社でしたが、インフラを2.5人で回しているといっていました。
とても信じられません。。。

4.クラウドを使うユーザが考えるべきこと
ITの専門学校が減っていることから、技術者が減少しているという切り口からスタートしました。
やはり技術者不足と、リーダーとして活躍できる人材をどこの会社も欲しがっているということ。
またクラウドへの移り変わりの速さに、経営層やエンドユーザ層がついてこれていなく、
現在の技術者さんたち、苦労していませんか。といった話もありました。

たしかにね。うちの会社も誰一人AWSインフラできませんからね。
ここを極めれば会社で、かなり力を発揮できる反面。失敗したとき、誰も自分のフォローはできませんよということ。
これじゃ、誰も率先して新しい技術に挑戦しないし、インフラ離れが加速するのも分かりますね。


5.まとめ
実際、もっとたくさん細かい話は聞きましたが、
技術的にどうこうという話よりも、実運用に対してこうでした。という話を聞けたので、
最新技術をライトな感覚で聞くことができたなぁといった感じです。
ライブコーディングのような形式で、頭フル回転で参加するといったものもいいですけどね。
こういった恐らく自分の会社には当てはまらないだろうけど・・・といった自分が踏み込まない世界を
知るといったものも大事だなぁとは思いました。

そして、この時点では土曜日にもAWSのセミナーの参加を予定していて、
また週末に聞ける!と楽しみにしているのでした。

ITセミナーの参加意義×朱に交われば…

セミナーの目的はいろいろであるが、その1つとして意識の向上がある。
何だ、普通の目的じゃん。といった感じではあるが、
どう意識を高めるのか。高めると言うよりは高まる。高めてもらう。
といった第3者の力で自動的に上げてもらう感じだろう。

どうやったら意識が高まるのか、それは1流の中に紛れる事。
セミナーは内容にもよるけれど、1流の人間がたくさんいて、
自分の技術や仕事に誇りを持っている人たちがいる。
その人たちと交流する事で、自分もやれる。挑戦できる。と感じる事ができる。

ここで言う1流の人間というのは講師を指しているのではなくて、
周囲で一緒にセミナーを受講している人達を指している。
講師はもちろんなんだけど、講義を聞いて、はい、さよなら。だと、
あー、すごかったな。で終了してしまう。

セミナーのあとの懇親会が重要なのは、講義が終わってからです。
懇親会で隣になった人に、「今日の講義わかりました?どうでした?」と話しかける事で、
こう思った。ここは違うと思った。など、自分ひとりでは見いだせなかった価値観を得ることができる。
また、その人の仕事内容や所持しているスキルの話など、大変勉強になる。
一般的な生活で言う、舞台や映画を観終わった後に友達と感想を言い合うあれですね。
結構自分ではさらっと流していたところが重要な場面だったり、相手が理解できなかった場面を、
自分はこういう風に解釈したと伝えて賛同をもらったりね。

とてもいい刺激になりますよ。これからも参加していきたいと思います。
    >>次へ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。