むち打ちエンジニアおじさんのブログ

エンジニア1年目の本音を綴ります。。。

ITストラテジスト過去問まとめ

平成26年度秋期

午後1

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_2/2014h26a_st_pm1_qs.pdf

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_2/2014h26a_st_pm1_ans.pdf

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_2/2014h26a_st_pm1_cmnt.pdf

 

午後2

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_2/2014h26a_st_pm2_qs.pdf

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_2/2014h26a_st_pm2_ans.pdf

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2014h26_2/2014h26a_st_pm2_cmnt.pdf

 

平成25年度秋期

午後1

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2013h25_2/2013h25a_st_pm1_qs.pdf

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2013h25_2/2013h25a_st_pm1_ans.pdf

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2013h25_2/2013h25a_st_pm1_cmnt.pdf

午後2

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2013h25_2/2013h25a_st_pm2_qs.pdf

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2013h25_2/2013h25a_st_pm2_ans.pdf

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2013h25_2/2013h25a_st_pm2_cmnt.pdf

 

※随時更新予定

高度情報処理技術者試験の最高峰を受験します。。!

ITストラテジストの資格を取ろうと決意しました。

まず始めに、この資格を取得しようと思った背景を書いていこうと思います。

僕は文系大卒のエンジニア経験2年目です。実務では、クラウド型POSシステムの設計、開発を行なっています。担当は主にWEB側でバックエンドからフロントエンドまでを対象に開発をしています。この業界に入ったのも、ちょっとした運とご縁で、もともとエンジニアになりたい!、という意思があった訳ではありません。そして、現在も長くエンジニアを続けようとは思っていません。具体的にいうと、あと1年でエンジニアを卒業したいと思っています。キャリアチェンジを図る予定です。また変わるかもしれませんが、次の職種は企画系の営業職、事業企画等を経験したいと思っています。そこから経営企画に携わり、30歳を過ぎる頃には独立して起業したいと考えています。あと余命1年程度のエンジニアという仕事を通じて、何か伝説を残したい、そう考えるようになりました。ITに関しては、下流分野は正直興味がありません。プロダクトマネジメントの分野も興味はありません。興味があるのは、事業戦略や経営戦略。そこで目をつけたのがITストラテジストでした。僕がこれを受験する理由は十分にあります。まず、情報処理技術者試験であり、現在の職種(IT業界)にマッチすること。次に、情報処理技術者試験の最高難易度の試験であること。つまりIT系の資格試験で一番難しいとされているものです。最後に、この資格は僕がエンジニアであり、そこから起業家になるための架け橋になる、ということです。30歳までに起業するという目標から逆算した時に、今応用資格試験の勉強、ITスペシャリスト系の資格の勉強、Java等のプログラミングの勉強をやっていては間に合いません。確かに、ITストラテジストは上流分野の試験であり、それは下流のスキルを土台にしていますが、順番を意識して、ステップを意識していては目標に間に合いません。また、正しいと言われる手順をとって歩んだ道のりは、既存の道を歩いてるだけにすぎません。せっかくなんで、めちゃくちゃなルートを辿っておもしろく生きよう!そんな意気込みを持って試験勉強に挑みます。

24歳がITストラテジスト取得したら、すごいですよね?かっこよくないですか?

夢ばかり語っていてもダメな訳で、地に足をつけて自信を俯瞰する必要もあります。合格することを目標に置いた時にやらなければならないことは、自らの能力を俯瞰し、試験を定量的に分析し、合格レベルに達するまでの具体的なロードマップを描かなければなりません。

 

このブログでは、僕の能力、試験の定量的な分析、合格に向けてのロードマップを書いていきます。


初回は、ITストラテジストの概要についてまとめます。

 

■そもそも、ITストラテジストとは??

IPAでは、ITストラテジストの対象者像を下記のように定めています。
「高度IT人材として確立した専門分野をもち、企業の経営戦略に基づいて、ビジネスモデルや企業活動における特定のプロセスについて、情報技術を活用して改革・高度化・最適化するための基本戦略を策定・提案・推進する者。
また、組込みシステムの企画及び開発を統括し、新たな価値を実現するための基本戦略を策定・提案・推進する者」

ITストラテジスト試験は情報処理技術者試験の中でも最難関のひとつで、IT系では唯一、弁護士や公認会計士、医師等と並び厚生労働大臣によって高度専門知識等に指定されている資格です。

試験は以下の4つに分かれています。

  • (1)午前Ⅰ 多肢選択式(四肢択一) 30問(50分)、試験時間9:30~10:20(50分)
  • (2)午前Ⅱ 多肢選択式(四肢択一) 25問、試験時間10:50~11:30(40分)
  • (3)午後Ⅰ 記述式 4問出題-2問解答、試験時間12:30~14:00(90分)
  • (4)午後Ⅱ 論述式 3問出題-1問解答、試験時間14:30~16:30(120分)

出題範囲は以下の通りになっている。

f:id:rinAtoZ:20170417232725p:plain

また、IPAが公開しているシラバスの概要を以下にまとめました。

  1. 経営戦略に基づく情報技術を活用した事業戦略の策定
  2. 情報技術によるビジネスモデルの策定
  3. 事業戦略の実現可能性確認
  4. 情報システム戦略の策定
  5. 全体システム化計画の策定
  6. 個別システム化構想・計画の策定
  7. 適切な個別システムの調達
  8. 製品・サー ビス・業 務・組織・情報システムの改革プログラム全 体の進捗管理
  9. システム活用の促進
  10. 戦略の達成度評価
  11. 組込みシステムの企画,開発,サポート及び保守計画の策定・推進

詳細は以下のPDFに記載 

https://www.jitec.ipa.go.jp/1_13download/syllabus_st_ver3_1.pdf

シラバスの大項目だけでこれだけの範囲があるります。とにかく、超難しい試験だということです。そして、最難関は午後Ⅱの論文。実務経験を元に書くもの出そう。。。実務経験がなくても、なんとかするしかない!

 

■勉強時間配分
午前と午後の比率は1:2程度。つまり4,5月は午前、6,7,8,9月は午後、最後の10月に総復習を行うといったスケジュールを立てた。やはり、午後の論文が相当難易度が高いのでここに比重を置いて勉強する。また、論文も安定して高得点が狙える程度になるまで演習を続ける。

 

■勉強順序
午前、午後、復習として直前に午前、午後を解く。午前の勉強を通して、基礎知識を固める。また午前の勉強では、深く勉強するべき用語は固めておく。これは、特に論文で問われやすい題目についての基礎知識を固めておくため。


■勉強方法 共通
記憶の定着を図るため、問題を構成に分ける事。元々、出題範囲は示されているのでそれにそって問題を分類する。また、学んだ事はアウトプットをする。つまりは、1週間に1度進捗をブログにアップする。

 

■勉強方法 午前1
50分30問 8年分 240問
過去問からの出題が多いそう。
過去問題集を利用し、演習中心の勉強をする。過去8年分の問題を暗記する。

 

■勉強方法 午前2
40分25問 10年分 250問
これも午前1と同様に過去問から出題される事が多いそう。
範囲は中小企業診断士と被るところがある。午前1に比べ出題範囲は狭まるが、問われる内容が深くなるので、理解と記憶の定着を意識する。範囲は以下になっている。


セキュリティ、システム戦略、システム企画、経営戦略マネジメント、技術戦略マネジメント、ビジネスインダストリ、企業活動、法務


■勉強方法 午後1

※後日更新予定 

■勉強方法 午後2

ITストラテジスト試験の論文は、主に通常のシステム開発に関する問題が2問、組み込み機器に関するものが1問出題される。そのため、あらかじめどちらかに絞って演習をするとやりやすいらしいので、組み込み機器に関する知識がない僕は、システム開発に絞る対策方法をとる。

また、論文を書いていくに当たって僕は実務未経験者なので、まず情報システム開発の流れを頭に入れる。この流れは上記で示しているIPAが公開しているシラバスを参照する。

※後日更新予定

【ほぼ資料のみ】IT業界俯瞰してみたー

IT業界の俯瞰したスライドを仕入れたので公開しようと思います。結構わかりやすく整理されているなーといった印象。参考までにどうぞ。

 

 

f:id:rinAtoZ:20170405001623p:plain

僕が属しているのは、左下BtoBです。受託開発ではなく、パッケージ開発です。

f:id:rinAtoZ:20170405001628p:plain

適当に挿入したけど、何ぞこのスライド笑 何が言いたいんやら笑

f:id:rinAtoZ:20170405001634p:plain

この図からすると実際に開発を行うのは4次請まで下がるのかー。そして、人月単価はMAX90万円。これが売上になるので4次請の会社の20代のMAXでの月収は30万くらいになります。

f:id:rinAtoZ:20170405001642p:plain

BtoCのWEBサービスのビジネスモデルです。広告モデルは事業規模が大きい会社が存続しているイメージ。課金系、仲介系のビジネスモデルはベンチャーでも比較的始めやすいイメージがあります。

f:id:rinAtoZ:20170405001647p:plain

僕はBtoBのパッケージ開発、webエンジニアでこのグルーピングに該当するのかな。

f:id:rinAtoZ:20170405001652p:plain

ウォーターフォール経験したこと無いからわかんねえww 僕のプロジェクトはアジャイルかな(いちよう)

f:id:rinAtoZ:20170405001656p:plain

このくくりだと、受託開発がSEの仕事なのかー。受託開発じゃ無いから、俺はPGなのか??

f:id:rinAtoZ:20170405001702p:plain

こういった遷移でITアーキテクチャが変化したのか。初めて知りました。。。。

f:id:rinAtoZ:20170405001708p:plain

ちょっと技術系の話に偏ってきたww マシン依存系のOSに携わったこと無いから汎用機系はイメージできないなあ。そもそもマシン依存系のOSって何で依存する設計になるの????

f:id:rinAtoZ:20170405001712p:plain

ライセンスってつえーーーーーー。そりゃ世界的な企業になりますわ。IBMの請負から脱却してOSをライセンス販売してなかったらこれだけの世界的な企業にならなかったのだろうなー。

f:id:rinAtoZ:20170405001716p:plain

ここが僕の一番の苦手分野です。。。SQL難しいなあ。。。

f:id:rinAtoZ:20170405001724p:plain

おおお、勉強になります!!!

f:id:rinAtoZ:20170405001723p:plain

業務ではスクリプト言語しか触ってないから、javaとかも触ってみたいなー。

 

以上、IT業界?(結構込み入った技術系のスライドもあったけど)の俯瞰したスライドの紹介でした。

アメリカでは2020年までに人口の半分がフリーランスになるってさ。えええええええええええ

アメリカでは2020年までに人工の半数がフリーランスになるってさ。。

え、、、、想像できないなああ。。。

そんな記事を読んで、びっくりしました。そしてあくまで日本のフリーランス市場に関して少し調査をしてみました。

そもそもフリーランスの定義って何かというと、個人事業主とほぼ同義だそう(正確に言うと、結構な違いがあるけど)。フリーランスと言うのは個人で仕事を受注し、仕事をして報酬をもらい、それを単発的に行う人のことを指すらしい。例えば、Airbnbのホストとかはフリーランスに当たる。

日本におけるフリーランスの人口は約1300万人だそうで、思ってたより多い。。。

www.lancers.co.jp

サラリーマンとして働いているので、あまりこう言う世界が想像できないです。まあ、個人で財務管理しないといけない人が増えてきているってことは事実なんだろうな、と急成長しているfreee(会計クラウドシステム)とかみて思います。

で、ここからが日本のフリーランスにおける話の僕の持論になってきます。

フリーランスという業態は間違いなく増加していくと思います。特にこれだけネットというインフラが整備されてきた時代では様々な情報が行き交い、それをキャッチしていく。ただし、それらの情報は人並みだと淘汰されてしまう。なので、人と違うことや人並みはずれた技量を示したもので自己をアピールする必要が出てきます。つまりは、自己と他社の差別化が非常に重要な時代になってきます。

例えば、フリーモデル。ここ数年でそんなフレーズがバズりました。現状、モデルという言葉が一人歩きしてしまい、どんな人でもモデルを名乗れます。モデルという職業は誰にでもなれるんですね。(フリーモデルをディスってるわけではありません。)

また、youtuberでも同じことが言えます。動画を撮って、投稿するだけで誰でもyoutuberになれます。

つまり、ここで言いたいことは、フリーランスが流行る世の中では誰でもそれらの職種を名乗ることができます。それをチャンスだと捉えて、様々なフリーランスがそこに集中します。ただし、思ったように仕事が取れません。思ったように再生回数が伸びません。

その理由は簡単で、マジョリティーになってしまうと需要は分散されてしまいます。ここではマイノリティーになる必要がある、といったことを言いたいわけではありません。

マジョリティー化する職業に対して、しっかりと自己の能力を磨くことができる必要が大事です。

youtuberなら動画の画質を上げる、視聴者が求めるコンテンツを提供する。フリーモデルならターゲットを絞ってその人たちに向けたアピールをする。

当たり前のことかもしれませんが、そのような努力と工夫は今以上に必要になってきます。会社の財力やネームバリューがあるので、契約が取れる、受注できる時代はもう数年ごに終わると思っています。

それらに執着せずに、消費者が本当に求めているものを提供できる人のみが生き残っていく世界になっていくと思います。(※個人単位で)

 

少し長くなりますが、ここからはスタートアップの話にシフトチェンジします。

上記のフリーランスの話に共通することですが、スタートアップもネームバリューや財力も大手に比べるとありません。そこで重要なのは、アイデアとスキルです。大手勤務の誰よりもスキルがあり、誰もが思い浮かばないようなアイデアを持って進めるビジネル。そんなもののみ、生き残っていく時代になると思います。

スタートアップにおいて、こんな記事を見つけましたのでシェアします。

medium.com

 

 

 

フロントエンドの処理は軽くしちゃいなぁ

フロントエンドの処理は軽くしちゃいなぁ

 

最近はフロント側での処理に凝りすぎて、サーバーサイドに盲目になっていたのでメモ。

 

そもそもwebアプリケーションにおいて、レスポンス速度は本当に大切。そんな事も忘れてjsで複雑な処理を書いて満足していた。サーバーサイドでも出来るような事をも。

今日実感したのは、

 

サーバーサイドで出来ることはぜんぶそっちでしちゃって、フロントエンドでは最小の処理で済ませるべき。

 

改めて書いて見ると当たり前だし、恥ずかしくなるけどjsに夢中になり過ぎてこんな事も忘れてた。今では1つ1つの処理を引数に変数をおいてajax通信してたけど、この引数が確定してる事からそれらを配列に格納して引数として渡し、通信を一回きりに抑える。

たまには、codeigniterに夢中になってみるのも良いのでは??

 

あ、それと最近はコーディングの速度を上げるように意識してる。コードの行数で測るのはどうかとも思うが、1番定量的に見れそうなのでメモしておく。

 

12/19 327行

12/22 289行

12/23 380行

 

まぁ、会議とか話し合いとかあるし、改修作業なので書いた分減らしてるからこの程度かな、と。何よりも迷わず、バグも無しに書けるようになりたいなぁ。

 

意識している事としては、

  • 集中力
  • タイピング速度の向上
  • コーディング前にロジックを整理する

 

他にアドバイス等あればお願いします。

 

以上です。

 

 

『来週の部会で新人のプレゼンあるから、、』

今日上司から、『来週の部会で新人のプレゼンあるから、それが新人賞の一次先行になるよ』と。

唐突でびっくりした。僕の会社には、その年一番の新人を表彰する文化がありそれが新人賞というものだ。もちろんそれを目指して1年頑張ってきた。最近は意識せず、ただ目の前の目標や業務だけを追いかけていた。だから今日唐突に新人賞のプレゼンを知らされて驚いた。

 

流石に新人の中で自分の立ち位置くらい、わかる。僕が感じているレベルとしてはまぁ、真ん中くらい。資格も人より多く取ってるわけでも無ければ、これといった成果も残せていない、と思う。

今日上司からプレゼンのことを告げられた時、悟った。

 

新人賞とれないだろう、と。

 

そして少し悲しくなった。別に勉学をさぼっていた訳でもないし、むしろ他より勉強した方だと思う。電車の移動中は本やブログを読んで勉強し、業務も遅くまで残って取り組んだ。休日の2日に1日はサーバーを立てたり、プログラムを動かしてみたりしていた。

それでも同期との差はそこまで縮めることが出来なかった。

 

志半ばで退職した同期で、親友が僕には1人いる。そいつに言った事が頭の中に過ぎる。

 

『新人賞取れんかったら会社辞めるよ。』

 

やっぱり才能無かったのかな、、、。

そう思ってしまうと辛いから、少しでも自分の事を慰めることにする。

まず、レベルたけーよ。同期と言っても4年、6年プログラム書いてた理系にそんな簡単に追いつけるわけない。むしろ、そいつらのレベルまで近付いた事を褒めて欲しいくらい。まぁ、実力主義の社会でそんな事言ってられんけれど。

次に、僕だって一定の成長と成果残した。新人賞を取るという意味では運は悪かった。3ヶ月やってきたiOSの開発は頓挫して無くなったし、その後未経験のWEB開発にうつった。慣れるだけで時間かかるのに、直ぐに成果なんて出せないわ。そんな中でも、もう2つの機能は実装できた。しかも今では、チーム内で一番ロジックが複雑な機能の開発をしてる。実装スピードもチームのメンバーにだんだんと追いついてきた。スピード感でいうと、メンバーの0.8倍くらいだ。システムの構成も理解してるし、派遣社員さんの質問にも難なく答える事はできる。スキルはこの3ヶ月相当に伸びた。伸び代でいうと同期の中でもトップレベルだと思う。

最後に、好きには敵わない、とほんとに思う。周りの同期と比べて思うのが、コーディングが、システムのアーキテクチャを考えるのが大好きで、僕はそこまで好きではないという事だ。やっぱり好きなものには勝てないと、今になって思った。

 

この半年の学びを纏めようと思う。

・モバイルアプリのUI設計をした。

・基本、詳細設計を作成した。

iOSで一機能開発した。(swift)

・小売業界の知識に詳しくなった。

・バーチャルマシンの構築、開発機環境の移行を行えるようになった。

・機能から逆算してDBを設計できるようになった。

・GITでのバージョン管理を行えるようになった。

JavaScriptPHP環境でWeb側の2機能を作成した。

・スコープを意識して、クロージャーや即時関数等使えるようになった。

jQuery,その他ライブラリを用いて開発を行えるようになった。

・同期、非同期の違いを理解して、機能を設計する事が出来るようになった。

・同じ処理を1つに纏めたりしてコードの軽量化を考えれるようになった。

DHCPFTP等サーバーの役割を理解出来るようになった。

・まじ、わんちゃん等の非ビジネス用語を使用しないようになった。

・決算書を大枠で読めるようになった。

基本情報技術者資格を取得した。

・自宅でLAN環境を構築して、raspberrypi でwebサーバーを立てて、簡単なアプリケーションを動かした。

phpフレームワーク、codeigniter を使えるようになった。

・ライブラリーとフレームワークの違いを説明出来るようになった。

・最近のフロントエンドの流行り(リアクト、アンギュラーとか)を知っている。

・シェルコマンドを叩いて簡単なネットワークの設定等できるようになった。

 

 

 

配属されて7ヶ月。僕の成長はこんなもんか、、と思う。来週から新人賞プレゼンが始まる。不安、憂鬱になっても仕方がないので今日も仕事をする。

 

以上です。

 

今日の良記事まとめ

qiita.com

javascriptのthisの概念を簡単に4種類に分けてくれた。読んだけど、半分くらいしか理解できなかった。。 

qiita.com

やっぱりもともとの概念理解しないとコード書けない。クラスベースとプロトタイプベースの違いを勉強しなければ、、、。

 

即時関数のメリットと主な用途|もっこりJavaScript|ANALOGIC(アナロジック)

これは本当にそう。しっかりとメリットを理解して使い分けないと!まあ、javascriptみたいにスコープ定義が曖昧だからこそのコードだけども。

 

VScodeをまだうまく活用できていなかったので、、、。英語の説明書読みますか。。

 

qiita.com

グローバル変数減らそうと思ってクロージャーに書き換えようとしたけど、いたるところに散らばりすぎて結局断念。うまい方法ないのかね、、const,letも使えないし、、。

 

developer.mozilla.org

これは良記事!しっかり読み込みまする!

 

以上。

土日はNode.jsにでも挑戦しようかな!