見出し画像

【SEが語る】SEの仕事とは翻訳/執筆業務の傍ら診療しながら芸術センスを磨き自衛的な効率化専門のデジタル建築士だと思う件

タイトル長過ぎてすいません😂

【見出し】
毎日スマホ片手にSNSやWebサイト、アプリを触っているのに、その仕組みやプログラミング・ソースコードや製作者であるシステムエンジニアの事は、よく知られてないかなと!

その世界をちょっと違った観点で覗いてみませんか?
プログラミングも必修科目になるとのことですが、何がどう教育に良いのかイメージ持てれば幸いです!


目次
 はじめに SEの仕事は家造りと同じ

 第1章 ソースコード・システムエンジニア(SE)について面白い見方 4つを紹介


はじめに
SEの仕事は、家造りに例えると分かりやすい。(ものづくりの工程は大体同じと思うが、とりあえず家で考えてみます)

家造りの工程はこんな感じかと

ザックリ造る工程とシステム構築の類似点を切り出すとこんな感じかと↓

どんな家にしたいか計画要件をまとめ見積もりを出し、設計して、実際に作成し、土台(インフラ)をつくり、部品や部屋を繋げて結合する。

最後に、問題がないか工程ごとにテストして、納品する。家にも土壁、コンクリ、木造があったり、製造の手法、気候や国によって特徴も様々だ。システムにも全く同じ事が言える。(言語の種類、データベースの種類、インフラ構築、ウォーターフローかアジャイルかなど)

※今回はウォーターフォール開発前提で記載しときます

ちなみに別件でもう一つ言うと
システムエンジニア(SE)とシステムインテグレーター(SIer)は、ちょっと違います。
顧客が抱えている業務上の課題をIT技術を利用して解決に導く仕事(いわゆるコンサルティングとか業務フロー改善設計)はSIerと呼ばれています。
私は前職ではどちらかというとSIerとして働いていました!

では本題に参ります!!

第1章
ソースコード・システムエンジニア(SE)について面白い見方4つ

《1つ目の見方》
ソースコードは
『あくまでも言葉である』ということ

ソースコードって、サイトの裏に見えるけど、なんか意味わかんない文字列の羅列とかでパッと見た感じ吐き気した、、😇
と思う方もいるんじゃないでしょうか!

例として、英語、日本語、スペイン語と色々ありますが、美しい日本語や英語が存在するように、キレイな機械語、システム語(Java言語、php言語等)が存在する。

ネイティヴなシステム言語は、システム君からしても、理解しやすく気持ちが良いものです!システム君のモチベーション(パフォーマンス、処理速度、レスポンス)にも影響してくる。

作成途中のシステムにおいて、例えばWebサイトのボタンを押しても10秒以上レスポンスが無いのは、汚い言葉を使っている可能性が高い。
※ただし、システム君が連携してる、別のシステムさんと喧嘩したり価値観が合わなかったりもするし、サイト(お店)にお客が殺到して行列となって動かなかったり、原因は様々だ。

つまるところプログラミング作成とは、人間とシステムの翻訳家(インターフェースという見方ができる。

そして、プログラミング作業は本を執筆するライターやコラムニスト、論文執筆でもあるとも捉えられる。

このnoteの記事作成はソースコードと似てる部分がある。
例えば、文章の内容が少し本題からズレたら、話題ごと外出し(カットしてコピペで別枠保存し、違う場所に置いておく)して、別機能(別の章)に移す技など、SEの基本MVCモデルのフレームワークと同じようなものだ。

適切な場所に適切な言葉を書く。ソースコードも適切な場所に適切なコードを書く事で、全く事情を知らない人が見ても理解出来るコードとなるのだ。(誰が見てもわかりやすい事は、システム化においても、世の中の法律やルール作成においても、秩序ある人間社会において非常に重要な事だ。特にコードの場合、世界共通言語なところもミソだ)

余談だが、私はこの文章を書いている時に
バッチ処理とリアルタイム処理の話をこの記事のどこかに嚼ましてみようと考えた。

noteのアカウント欄にあるダッシュボードのビュー数とスキの集計機能は、リアルタイムでは更新されない完全にバッチ処理であるという話をどこに書いたら的確かを悩んだ(結果、前述の外出しの説明の例として、ここに記載したw)

a034.noteのダッシュボードにあるアクセス解析を活用したい!

この文章もレビュー次第で他人への伝わり方も変わってくる。(これは出版社の編集者の役割だ)
ソースコードも書く人とレビューする人がいる。そもそもだが、実はコード作成の作業は、SEの作業の中ではほんの一部なのだ。ずっとコードを書いてるだけが仕事と思っている人もいるが、そうではない。(私の感覚だと、分野や専門性にもよるが、全作業の20%くらいかな?)

《2つ目の見方》
システムエンジニアはシステムのお医者さん・カウンセラーという見方も出来る!

車などと似てはいるがモノの修理とは違い、どこで不具合が起きてるかは本人の声を聞かないと分からないという意味で診療に似ている気がする。
システム君の気持ちを汲み取る能力(デバッグログ)や愚痴・痛みの箇所(エラーログ)を聞くのも仕事のうちの1つである。

機械だからといって、決して人間の奴隷のように扱ってはならない。また、そんな扱いをさせているのならば、システムダウンやAIによって倍返しされても文句は言えまい。。

《3つ目の見方》
ソースコードは芸術的な作品であり、SE(特にコードを書くプログラマー)は職人であるということ。

数学の数式が美しいと思う学者のように、あるレベルまで達すると、職人的エンジニア👨‍💻のソースコードは美しい✨

それは、陶芸家、画家、華道家の作品のように、無駄がなく効率的で洗練され、非の打ちどころがないのだ。

ただそれらの職人の作品と違うことは、作品として表舞台に立っているか、裏方(作り方で評価されるものでなく、アプリやサイト自体の機能や見栄えが魅力的かどうかで判断される)かの違いだ。前述の通り、ビルや家などの建物に対する評価に近い。インフラという意味で、電車や水道局などと同様に評価されにくい(動いて当たり前)業種のように感じていた。

《4つ目の見方》
SEはあらゆる事態に備える防災のスペシャリストであるということ


システム構築後は、必ず色んなテストをしてシステムとして問題がないか品質担保をして納品される。
そのテストの中身だが、一般の方からすると、驚くほど細かい分類で分けられたテストをしていることに度肝を抜かすに違いない!

地震の衝撃の耐久テスト(サーバー負荷テスト)、突如押し寄せてくる津波の事前想定(想定外のアクセス急増への対処)、変人に襲われた時の護身術(クリック連打などイレギュラーな操作対処)などなど、あらゆる災害や問題に対し、万全の対応法を予め考慮した上で、世の中に出していくのである。(それでも不具合は起きる時は起きるが🙄)

4つの見方についてはここまでです!

エンジニアの当時、この曲の歌詞は
SEの仕事環境にぴったりで、特に聴いてました
公式チャンネルのLive動画と歌詞の一部を載せておきます!😆✨

ただ目の前に並べられた仕事を手際よくこなしてく
コーヒーを相棒にして
いいさ 誰が褒めるでもないけど
小さなプライドをこの胸に 勲章みたいに付けて

僕のした単純作業が この世界を回り回って
まだ出会ったこともない人の笑い声を作ってゆく
そんな些細な生き甲斐が 日常に彩りを加える
モノクロの僕の毎日に 少ないけど 赤 黄色 緑

第一弾は以上です!

⭐️全ては自分の捉え方次第⭐️


最後まで読んでいただき
ありがとうございました!!

よろしければ 
フォロー スキ お願いします!

好きな星空の写真で締めます



この記事が参加している募集

もし共感いただければサポートいただけると非常に嬉しいです!!!是非ともWIN-WINの関係を構築させて頂きたいと思っております!!\\\\٩( 'ω' )و ////