この記事は「システムアーキテクト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。
はじめに簡単な自己紹介をしておく。私は40代の会社員で本業はITコンサルタントだ。2019年にITストラテジスト、2021年にプロジェクトマネージャに合格した。高度IT資格の攻略法が見えてきたので、今回システムアーキテクトでも試す。
まだ合格していないタイミングで恐縮だが、挑戦ログは今しか書けないので、こうして記事にする次第だ。
システムアーキテクトとは何か(概要)
- どんな資格?国家高度IT資格。「業務とITのグランドデザイナー」の専門家であることの証明。経営者が大まかな方向性を出したあと、それをどうシステム構築するか。建築で言うところの設計士にあたる仕事。
- メリットは?この後、10年は学びと仕事に使える。メタバースやNFTはユーザーからは見えないが、無数のネットワークとコンピュータが必須。その組み合わせは大量で、「ユーザー満足度とコストの最適バランス」がサービスの良し悪しを決める。その心臓部を握るのがシステムアーテクト
- どんな試験構成?
- 午前1、午前2、午後1、午後2の4部構成。4部すべて合格することで資格取得
- 午前1は四択が30問。6割で合格(過去問の暗記勝負。学習目安は約300問)
- 午前2は四択が25問。6割で合格(過去問の暗記勝負。学習目安は約100問)
- 午後1は国語問題が2題。6割で合格(国語問題なので解き方を覚える。学習目安は約10題)
- 午後2は論文試験。評価Aで合格(文字で伝える面接。論文形式なのでコツの理解・ネタの準備・書く練習を)
システムアーキテクト挑戦ログ
午前2 事実・学び
- 過去問のうちシステム開発に関わる部分を20問ほど再確認。概要は以下
- ユーザーのやりたいことをシステムで作るやり方。まずシステム要件定義(ユーザーがやりたいことの整理)のうえ、システム方式設計(どのようにシステムで構築するか)。
- 手法として、データ中心(CRUD図・ER図等使用)やプロセス中心(DFDなど使用)などあり。
- 例えばユーザーの現在の仕事でどんなデータをどのように扱ってるかを整理し、全体の洗い出しと繋がりを整理。それを切り口にプログラムを考えるなど。
- なお、現在はオブジェクト指向が主流。処理とデータをセットにしたひとまとめの「処理」単位で考える。
- こうすると複数の「処理」を個別プログラムするのでなく、共通する「処理の枠組み」を先に作っておいて、後からそれをひな形に個別作る…ということができる。
- すると将来変更が入ったとき、枠組み部分を少し直せば全部紐づいて直せる…ということになって便利。
- ポイントは「将来ユーザのやりたいことが変わったとき、できるだけ柔軟かつスピーディに修正できるプログラムであること」。
- 試験問題はこれらに対する理解の確認。例えば…「システム方式設計で行なうのはソフトウェア構成品目の整理(ソフト・ハード・手作業の組み合わせ)」「DFD,CRUD図などの基礎」「良いモジュールは相互依存が少ない。結合度が弱く、強度が強い」「オブジェクト指向の発想やフレームワークであるURLに関する基礎」など
午後1 事実・学び
- 過去問を一つ振り返り。今回はサービスデザイン思考について一通りの理解を確認する問題。ポイントは以下
- ユーザーのニーズはモノからコトヘ。
- ユーザーの体験から遡って仕様を決める。そのためにまずペルソナ設定。できるだけ大量の顧客データがあると良い。
- 次にカスタマージャーニーマップ作成。あるシーンで顧客がどう感じるか。ペルソナに近い実際の人物を交えて行うのが良い。
- 要件の優先度付け。何に価値を置くかなど方針を定めて決めていく。
- ポイントは「顧客の体験ファーストで開発しつつ、顧客の要求は常に変わるので、変化に柔軟な開発をできるようにすること」
- なお、試験対策としての「解き方のコツ」は別途あり、後日記載。
午後2 事実・学び
- 論文ネタの振り返り。お題は「変化に柔軟に対応できるような開発」。いま最もシステムアーキテクトに求められる能力。
- なお、試験対策としてのコツは具体性・妥当性・充足性。この辺りは後日記載。
システムとの付き合い方
- ユーザーはより良いものを望む「人間」だ。コンピュータは一度作られた指示に従う「機械」だ。そこには大きく深いミゾがある。
- それを埋めるため、「ユーザのやりたいことを見える化し合意するやり方」「コンピュータへの指示をルール化し流用するやり方」が工夫されてきた。
- NFTにおけるブロックチェーンも統一規格ができるまでは個々バラバラのプログラムを一から作る必要があった。メタバースにおけるVRモデル作成も同様だ。
- 今後、ユーザーの求める価値がモノから体験に変わる。より個人に寄り添った提供をするため、ユーザー自ら設計することも増えてくる(ツールを使った VRモデル構築など)
- ただ、それもユーザーが調整したパラメータを機械への指示に変えてくれる優れたツールがあってこそだ。
- 今後、ますますユーザーは良い意味でわがままになり、システムもそれについていかざるを得ない。
- そのうえで、ユーザーとコンピュータの間には溝があることは踏まえるべきだ。
- 経営者がプログラミングを学んだ方が良いと言われるのは「思ったよりコンピュータは融通が効かないし、作ったり変えたりするのは大変だ」と肌で感じることがまずは大事だからだ。
- そうすれば技術者への敬意が湧くはずだ。「絶対にトラブルを起こすな」とか「この程度簡単に直せるだろ?」のような無茶振りはできなくなる。
- もちろん、テック企業の経営者のように「自分の作りたいシステムはある程度自分で作る」方がより早くできるのは間違いない。これからは個々人が経営者になるような世界が到来するので、システムに関する基礎知識と実践は必須になるだろう。
- 私自身も常に学び、試していきたい。そしてそれを発信し、自らに定着させつつ周囲に価値を提供していきたい。
コメント