中小企業に勤めるITエンジニアの徒然日記

中小企業に勤めるITエンジニア(三十路女子)が日々のよしなしごとや、IT技術についての記事をつらつらと書いていきます。

2015年11月

三十路を迎えて、徐々に中堅エンジニアと呼ばれる年代に入って行ってるつれ子です。

私の会社の平均年齢は29歳なので、やっと平均を超えたところです。

年齢分布としては30代前半がボリュームゾーンで、40代がちらほら、50代が数人くらい。中央値は32、3歳くらいだと思います。

さて、最近は20代中盤から後半の若手の教育にも携わることが多いのですが、若手とはいえIT技術が好きで積極的にスキルを身につけようとしている人は、技術力が非常に高いなあと感心します。

私と一緒に仕事をしている人もそうですが、全然勉強しない下請プログラミングしかしてこなかった30代中盤の社員よりもアーキテクトとしての力は全然上です。

もちろんそんな若手ばかりではありません。私は若手向けに技術研修をすることがありますが、研修コンテンツの内容よりも「自ら学んでいけるようにやる気を出させることができるか」を主眼においています。

端的にいうと、技術面で私と一緒に仕事をしている30代中盤の先輩みたいにならないようにするにはどうすればよいか?というところです。
注:かなり先輩をdisってますが、あくまで技術面だけの話ですので悪しからず。


では、自ら学ぶ気を出させるにはどうしたらいいか?ということですが、そもそも自ら学ぶ気を出すというのは、子供の頃からの学習習慣がどうだったかに大きく影響されるものだと思います。
うちのような中小企業は、専門学校や入学難易度の低い大学を卒業している社員が多数を占め、学習習慣が身についていない人が多いです。
もたろん、あくまで傾向であってそうじゃない人も多くいます。


私が研修等で実践しているのは、社内のスキルが高いエンジニアの例を多く出す、ということです。
なるべく色んな人の多少エピソードを盛りつつ話をします。

なぜ、こういうことを意識しているか?

うちの会社のように社外で仕事をしている人が多い場合、他にどんな技術を持った社員がいるのか、また、自分は社内でどのくらいのスキルレベルなのかを知ることが難しいです。
学ぶ環境が、どころか環境以前の問題ですね。

そのため、社内にはスキルが高い人が多くいることを伝えることで、暗に危機感や競争意識を煽り、勉強してスキルを身につけないと、という気持ちにさせます。

もちろんそんな気持ちになる人ばかりではなく、むしろなる人の方が少数かもしれませんが、ゼロではないと考えています。

こういった活動の回数を増やし、参加者を増やしていくことで、社内の雰囲気が変わり、自ら進んで学ぶ環境ができていくのではないかと思っています。

このエントリーをはてなブックマークに追加

まず、テーブルを用意する。

カラムは、ネットワークアドレス、サブネットマスク、国。

IPアドレスは符号なし4バイトなので型はint unsignedにします。


create table ip_range
(
network_ip int unsigned,
mask int unsigned,
country varchar(128)
);



ipv4.fetus.jpに日本に割り当てられているIPアドレスの一覧があったので一番最初に書いていたIPアドレスレンジを使用します。

1.0.16.0/20
  ↓
ネットワークアドレス:1.0.16.0 = 0000 0001 0000 0000 0001 0000 0000 0000 = 16,781,312
サブネットマスク:255.255.240.0 = 1111 1111 1111 1111 1111 0000 0000 0000 = 4,294,963,200

テーブルに登録しておきます。
insert into ip_range values (16781312, 4294963200, 'japan');


ロジックとしては、

1.クライアントIPアドレスとサブネットマスクをビットごとにANDをとる
2.1の結果がネットワークアドレスと一緒であれば、そのIPアドレスレンジに含まれる


SQL文は、

SELECT country FROM ip_range
WHERE network_ip = mask & [ipアドレス]




このエントリーをはてなブックマークに追加

Laravel5でアップロードされたファイルをチェックするValidatorを作成する

Laravel5のカスタムバリデーターを作成するのが思いのほか簡単だったのでメモ


zipファイルの中に対象のファイルが存在することをチェックするValidatorを作成します。

       
■CustomValidatorクラスの作成

\app\Validatorに作成する。


このValidatorでは、ZIPファイルの中にaaa.txtがあることを確認する。

配列$parametersの一番最初の要素にファイルのパスを設定してもらう
use ZipArchive;

class CustomValidator
{
/**
* zipファイルの内容を確認
*
* @param unknown $attribute
* @param unknown $value
* @param unknown $parameters
* @return boolean
*/
public function validateCustomZipFile($attribute, $value, $parameters){

$adhtml = '';

$zipfile = $parameters[0];
$zip = new ZipArchive;
if ($zip->open($zipfile)){
$fp = $zip->getStream('aaa.txt');
if(!$fp){
// 失敗
return false;
}
}
return true;
}
}






■App\Providers\AppServiceProviderのbootに追加

use Validator;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider {

	public function boot()
	{
		// カスタムValidator
		Validator::extend('default_html', 'App\Validation\CustomValidator@validateCustomHtml');
	}
	
	
	
	
}





■Controllerにバリデート処理を追加
    アップロードされたファイルのパスをValidatorのパラメータに設定します。
	// バリデーションルール
	$custom_rules = ['file' => 'zip:'.$request->file('file')];
	$custom_msg = ['file.zip' => 'zipファイルの中に対象のファイルがありません'];

	// バリデーション処理の呼び出し
	$v = Validator::make($request->all(), $custom_rules, $custom_msg);
	if ($v->fails()){
		return redirect()->back()
		                 ->withInput()
		                 ->withErrors($v->errors());
	}


以上

とっても簡単でした。
このエントリーをはてなブックマークに追加

情報処理技術者は平成28年度から新規区分「条法セキュリティマネジメント」が追加され、13区分になります。

エンジニアではなく、ビジネスマンが受験する「ITパスポート」「情報セキュリティマネジメント」を除く、11分野について、合格者平均年齢から「いつ」「何を」受験するのがよいのか考察しました

2015年は秋期試験の結果が出ていないので、2014年度の合格者平均から算出しています。

ITエンジニアが入社後に受験する試験

合格者平均が20台後半の試験です。
ITエンジニアとしての基礎を固めるための試験と言えるでしょう。
入社後5年以内には取得しておきたい資格です。

  • 25.8才・・・基本情報技術者
  • 28.5才・・・応用情報技術者


自分の専門性が確立されてきたころに受験する試験

30代に差しかかかると、この業界では中堅とみなされると思います。
特に中小企業のソフトウェア開発会社は社員の平均年齢が30代前半と若いところが多く、自分の色を出していくためにも取得しておきたい資格です。

  • 32.4才・・・データベーススペシャリスト
  • 33.6才・・・情報セキュリティスペシャリスト
  • 33.8才・・・ネットワークスペシャリスト
  • 34.3才・・・エンベデッドシステムスペシャリスト

ベテランと呼ばれるころに受験する試験

30代後半になると、プロジェクトを任されたり、ベテランエンジニアとして後輩の指導をしているのではないでしょうか。
また、直接開発に携わらなくても、コンサルタントとして活躍したり、ベンダからユーザ企業へ転職してIT戦略に携わるなど、
上級のエンジニアと認められるためにも取得しておきたい資格です。


  • 36.7才・・・システムアーキテクト
  • 38.0才・・・プロジェクトマネージャ
  • 38.5才・・・ITサービスマネージャ
  • 39.5才・・・ITストラテジスト
  • 40.3才・・・システム監査技術者


資格をコンプリートすること自体にあまり意味はないですが、マルチに活躍したい人や会社から報奨金が出る人であれば、すべての資格を取りたいと思うのではないでしょうか。(私もそうです)

その場合、合格者平均から考えると、40才までに資格を取得することをお勧めします




参考:2009年からの合格者平均年齢
(春秋両方ある基本情報、応用情報、セキュリティについては、春の値を採用しています。)

年度 FE AP SC PM DB ES AU ST SA NW SM
2015 25.5 28.7 34.3 38.1 31.9 34.0 40.5 - - - -
2014 25.8 28.5 33.6 38.0 32.4 34.3 40.3 39.5 36.7 33.8 38.5
2013 25.4 28.3 34.0 36.9 31.8 33.9 39.9 38.7 36.1 33.6 38.1
2012 25.0 29.0 34.2 37.3 31.8 34.3 40.5 39.2 35.7 32.5 37.7
2011 25.2 29.3 34.1 37.2 31.4 33.3 39.4 38.8 35.5 32.7 37.4
2010 26.2 28.6 34.2 36.9 31.8 33.3 39.3 39.3 34.5 32.7 37.0
2009 26.3 29.5 34.0 36.3 30.6 33.5 38.9 39.1 34.7 32.2 36.6

FE:基本情報技術者
AP:応用情報技術者
SC:情報セキュリティスペシャリスト
PM:プロジェクトマネージャ
DB:データベーススペシャリスト
ES:エンベデッドシステムスペシャリスト
AU:システム監査技術者
ST:ITストラテジスト
SA:システムアーキテクト
NW:ネットワークスペシャリスト
SM:ITサービスマネージャ



このエントリーをはてなブックマークに追加

↑このページのトップヘ