この記事は移転しました。約2秒後に新記事へ移動します。移動しない場合はこちらをクリックしてください。
【はてなブログから学ぶ】収入アップも狙えるシステム思考入門
システムの動き方を知っているだけで収入アップも。
AIや、ロボティクスをはじめとした自動化のニーズを背景に、エンジニアの需要が高まっています。
2025年には43万人のエンジニアが不足すると言われている状況で、独学やプログラミング教室でエンジニアへの第一歩を踏み出す方も少なくありません。
「2025年の崖」を克服してデジタル時代を勝ち抜け - 日経 xTECH Special
私たちの身近にも、エンジニアの基礎スキルである「システム思考」を学べる環境はあります。例えば、ブログをされている方であれば、ブログの設定をいじることでも学べる事があります。はてなブログからシステム思考学び、収入アップを目指しましょう。
▽ブログで稼ぐ方法は?
【この記事を読むメリット 】
- 基礎的なシステム思考が身につく
それでは今回のコンテンツです。
システム思考とは
システム思考とは、「どのようにすればシステムで再現できるのか」を考えられる力です。
まずはシステム要件定義と言われる段階があり、「何がしたいのか」を議論することになります。
※システム思考の前段階
【業務要件定義】
業務として何がしたいか
↓
【システム要件定義】
システムで何ができればよいか
↓
【機能要件定義 など】
どのように設計・開発すればよいか
その成果物として、例えばはてなブログにある「はてなスター」の場合はこのような考え方になります。
【やりたいこと】
- 特定のブログ記事にスターを付けたい
- スターにはいくつかの種類を設けたい
- スターはユーザごとに持っている数を決めたい
ここから先がよりシステム性の求められる考え方になります。
「やりたいこと」をどうシステム化するのかを考える。
1、【機能要件定義】機能を考える
先ほどの作業を前提として機能を考えると、下記のようなものが必要なことがわかります。
ここではわかりやすくシステム化の方法も併せて記載しています。
【機能】
- スターを付ける・・・ブログページのスターボタンを押す
- カラースターを付ける・・・スターボタンの端を押すとカラースター一覧が開き、更にクリックするとスターが付く
- カラースターを買う・・・専用ページのカラースター購入ボタンを押す
システム要件の一覧から、「機能」と言える部分を切り出したものがこちらです。
技術的に可能なレベルまで落とし込み、詳細化することになります。
例えば、スターを付ける機能については、「ブログページにスターボタンを表示する」はできそうです。また「スターボタンを押すとスターが付く」もできそうですね。
このように、一番細かい機能の単位まで落とすことで、システム化の実現可否が見えてくるのです。
ボタンの表示については次章に出てくるため、こちらの機能一覧には記載していません。
あとは、それぞれのシステム言語で、この機能をプログラムすればよいのです。
これを機能要件定義と言います。
2、【画面設計】画面を考える
機能と同時に、画面のデザインを考えます。
先ほどスターボタンの表示が必要ということがわかりましたので、こちらで反映しましょう。
【画面】
- 記事画面・・・スターボタンを表示する
スターボタンにはカラースターを選択するための領域も表示する - カラースター購入ページ・・・何種類かのカラースターを購入できるページを作る。スター購入用のボタンを表示する
このように、機能と画面デザインは連動していることが多いです。
平行して考えることで効率よく要件定義・設計を進めることができます。
「WEBデザイナー」もオシャレセンスが高いだけではダメ。使いやすさを考える必要があります。
3、【データ設計】必要な情報を考える
これが一番難しいところです。
一度ページを閉じて、もう一度開いた時にも同じ情報を表示するためには、「データ」として保持しておく必要があります。
人が自分の自宅の住所・電話番号・(体感的な)位置を覚えていられるのは、脳に記憶を溜めているからです。
システムにも「脳」を持たせてあげないといけません。
それを前提に、【やりたいこと】にあった
- スターにはいくつかの種類を設けたい
- スターはユーザごとに持っている数を決めたい
を実現するためのデータの持ち方を考えていきましょう。
3-1、スターを持つための情報
まずはスターを持つために必要な情報を細かく切っていくと、概ね下記のようなものが必要であることがわかります。
【必要な情報】
- スターを持っているユーザ
- スターの色
- 持っている数
この情報さえあれば、スターを安心して持つことができそうです。誰が、何色のスターを、いくつ持っているかわかれば、スター管理がごちゃごちゃになることはありませんね。
仮にこの情報がないと、
- 誰のスターかわからない ⇒ 買ったカラースターが自分のところにない!
- 何色のスターかわからない ⇒ 青を買ったはずなのに、ない!
- いつくあるかわからない ⇒ 赤を何個持っているかわからない!
という困ったことになります。
そのデータが持つべき要素を因数分解して、「ないとどうなるか」をイメージしながら設計すると間違いがありません。
3-2、スターを付けるための情報
さて、次はスターを付けるために必要な情報について考えてみましょう。
スターの目的は「気に入ったページにスターを付ける」です。そのために必要な情報を整理します。
【必要な情報】
- スターを付けたページ
これが追加されることで、「誰が」「どのページに」「いくつ」「何色の」スターを付けたかがわかるようになりました。
3-3、データに問題がないか確認する
試しにデータを作ってみましょう。
問題がなければ、うまく解釈ができるはずです。
保持ユーザ | 種類 | 数 | 付与ページ |
ユーザ1 | イエロー | 3 | 記事1 |
ユーザ1 | イエロー | 2 | 記事2 |
ユーザ1 | グリーン | 5 | |
ユーザ2 | イエロー | 2 | 記事2 |
■ユーザ1
記事1に3つのイエロースターを付けた
記事2に2つのイエロースターを付けた
グリーンスターを5つ買った(がまだ使っていない)
■ユーザ2
記事2に2つのイエロースターを付けた
(カラースターは買っていない)
これで問題なさそうですね。
はてなブログの仕様では、イエロースターは制限なく使えるようなので、持っているだけであれば数の情報は要らないと思います。
データ仕様までは開示されていないので答え合わせはできませんが、ページに付けたイエロースター、買った / 付けたカラースターの保有・利用がうまくできる構成ができました。
このような考え方で、エンジニアは設計をしています。
システム思考は少しの慣れと、因数分解の力があれば誰でもできる。
身の回りにエンジニア学習の場はある
このようなシステム思考のフレームを持っていると、WEBでの会員登録や、スマホでアプリを操作しているときにも、エンジニアの勉強をすることができます。
人気の出ているものは、概ねその機能や画面のデザインが優れており、また当然基本的な要件定義・設計は完璧なレベルで行われています。
何気なく使うのではなく、どのような考えで設計・開発されたものかを考えることで、自分の糧にしていきましょう。
最初に紹介したように、この先間違いなくエンジニアの不足が問題になります。
そのとき、少しでもシステム思考のスキルを持った状態で名乗りを上げることができれば、今よりもよい環境で仕事ができるようになるかもしれませんね。
システム思考があればエンジニアでなくても稼げる
今や、電車の中や喫茶店、待ちゆく人を見ても誰もがスマホをいじっています。
それだけ多くの人がデジタルに触れている状況で、エンジニア職以外の人もデジタルの知識を求められています。
マーケティングや営業・事務でもデジタル活用は大きな成果を生み出しています。
「エンジニアになりたい」「プログラミングをしたい」という人でなくても、ITについて知っておくことはとてもよいスキルになるでしょう。
システム思考はポータブルスキルの1つとも言えます
一覧で確認するどこでも活躍できるポータブルスキルとは?【年金不安に打ち勝つ】
ITを効果的に活用している企業は利益率も高く、総じて給与も高くなっています。
自分のスキルや希望を活かしつつ、待遇もよくなるような企業を探してみてはいかがでしょうか。