見出し画像

Web系の人にこそ、メモリを意識するプログラムを少しだけ組んでみて欲しい

ごあいさつ

こんばんは。石川まさきです。
暑い日が始まりました。水分とってますか?
ぼくはコーヒー飲んで水分とってます。

WebからIoT

ぼくが転職して今のIoT開発の仕事についたのは、去年の2月なので2021年のことになります。約一年が経ちました。

WebからIoT、もっと具体的に言うと組み込みのプログラムをしてみて感じた

一番の違いは"メモリ"

メモリを意識するか否かこの一点に尽きます。

PHPやJavaを使っていたときは、メモリなんて意識しなくてもだいたい動きます。
好きな箇所で変数の宣言をしてもだいたい動きます。

Javaのようなオブジェクト指向だと、そのまま変数を扱えている気がするんですよ。
C言語のような手続き型言語だと、メモリを介して変数を扱うんです

Web系の人にもIoTに触れてみて欲しい理由(わけ)

なぜなら、人とも似ているからです。

メモリを気にして伝える必要がある人、メモリを気にしなくても伝わる人。
この2色の人があるとします。

2色間のグラデーションで、相手がどんな色であるかを把握すると、相手とお話したりご一緒したりしやすい気づきました。

話が通じる職場の先輩や上司と話をしていると、まぁテキトーに話しても汲んでもらえるんですよ。
それが楽なんですよ。

メモリを気にしなくてもいい人🎈

そういう人に囲まれていると、なんとなく話しても話が通じます。
しかし、話の順番や話の大きさを考えなくてもいいことに甘んじてしまいます。

しかし、先週の日曜日に豊洲であったバーベキューイベントに参加してきたんですよ。
見ず知らずの人と話せる機会は久しぶりで、そこでメモリを気にしないで話せる日常が、とってもありがたいことだと通関する経験になりました。

バーベーキュー会場

熱々の炭、焦げる肉、目が痛い煙、賑わう人の声。
暑い、煙い、そしてうるさすぎる!!!

日々PCと、キーボードとマウスで対話している人間からしたら、喉が辛い!
常に80%の声で一生懸命声を発するしかない!これしか意思疎通の手段がない!

初めましての人、自己紹介、どんな経緯でこのイベントに参加したの?
何度目の参加?誰の紹介?
どんな仕事してるの?へぇ~そんな業種もあるんですね!

(やっべ、全然話が深まらない・・・)
(話のテンポが速すぎて、全く普段の自分らしく話せない・・・)

そう、伝わると思ってた。
ぼんやりとしたイメージを言葉にして、話せると思いこんでいた

祭りのあとで

全く自分の素で話せなかったことが、、もう悔しくて悔しくて。
Discordで見知った友達に向けて混乱したままの言葉を並べていました。

こんな感じ

楽しかった!
[22:44]色々わかった。 かなりいい経験になった。
・とりあえず声を80%ぐらいで発さないと伝わらない。
・テンポが速い。
・肉を焼いてると話せない、話してると肉焦げる。
・相手の背景を知るのにする質問を用意した方がいい。
・メガネはあってよかった。(油でやばいことになってた)
・自分のテンポが2テンポぐらい遅い。

[22:49]一番痛感した事
・遭遇戦  聞くより声を発した方が良かった。
話ではなく、発声でよかった。

[22:52]前提が違った。 相手の話を聞くのがベターなパターンの環境に身を置きすぎている。

2022/6/26(日) Discordで書いた猛省

メモリを気にして伝える必要がある人🌱

熱が冷めて

まだ悔しさの熱が冷めず木曜日

今日は仕事でお客さんに電話をして、ぼくの説明の順番が明らかに間違っていてお客さんに不信感と誤解を与えて怒らせてしまい、電話の最中で頭の中が真っ白で謝ることしかできず。(その時は必死で必死だった。)

上司に謝りの電話を入れてもらって、この件はおさまり。
その後は社長に「まぁ経験よw勉強させてもらったなw」と言ってもらって救われました。

この電話の一件で悔しさの熱が完全に冷め、自分の中で納得できる理解に至ってなくて、「どうすりゃいいんだ?」ともやもやしてました。

整いました

見ず知らずの人と話すバーベーキューイベントとかけまして
お客さんに怒られる電話とときます
その心は?

どちらも火の上で話します。

そう、オブジェクト指向みたいに直接変数を扱っている気になっていた
しかし実は、メモリを介して変数を扱っています。

バーベキューも電話も、オブジェクト指向みたいに相手に直接自分の考えが届くと思い込んでいた
しかし実は、現象と解釈を共有して一致するから、同一のイメージを共有できます。

楽に話せない人

素の自分で話が伝わらない人、感覚的に伝わらない人
そんな相手には、メモリを介して伝えるように冗長でありながらも、現象と解釈を共有して、同一のイメージを共有します。

効率がいい == 効率がわるい

メモリを気にして伝える必要がある人には、背景を提示し、順番通りにつたえ、同じイメージを共有します。

こうやって冗長に伝えることは効率がわるいです。
しかし、それで伝わるなら効率がいい。

面倒くさいけど、直列で長い順次処理をかけば動く。
それなら順次処理は効率がいい。

自分でも何言ってるのか分かりません。

メモリを意識すると、人との関わり方も変わる

オブジェクト指向プログラムで動いてしまう言語を扱っていると、メモリを気にしなくても案外書けてしまいます。

ぼくは専門学校でC言語とアセンブラから学び始めて、構造体あたりで混乱してメモリの扱いの難しさにC言語には嫌悪感を感じていました。

その次にJavaの授業になると、メモリを気にしないで変数の宣言ができること、Stringで文字列が簡単に扱えることに楽しさを感じました。

なんて使いやすいんだ。

そして今になってメモリを意識してプログラムを組んでいて、メモリ意識するの大事だなってしみるように痛み入ります。

その場その場で変数を宣言して、メモリを確保してって話し方をしていると話せる人もいる。
けど、そうすると話せる人としか話せなくなっている。

自分でも気づかぬうちに門を閉じてしまっている。

でもメモリを意識して話すと、実はそのほうが色んな人と関われる。

背景を提示して、順序を整理して道をなぞる。
事象と解釈を共有、同じイメージを共有する。

もしあなたが組み込み系の思考をしている人なら
Web系のプログラムの組み方に触れてみて欲しい。

今までわかり合えなかった人に歩み寄れるかもしれませんので。

この記事が気に入ったらサポートをしてみませんか?