マイケル・ポランニー著 『暗黙知の次元』 を読んで

暗黙知」とは何か

本書では、冒頭で

 

私たちは言葉にできるより多くのことを知ることができる 。

 

 と導入した後、暗黙知の具体的な構造について言及していく。

 暗黙知とは、要素(=部分)とそれらを包含するもの(=全体)があるとき、その2者が相互に影響を及ぼしあっている関係のことをいう。このとき、その「全体」は、包含されている「部分」を組み合わせただけでは説明できない存在となっている。また、全体を認識したうえで初めて知覚されるもしくは知覚しなおされる諸要素およびそれらの関係というものがある。

例を挙げよう。

男女の恋愛感情はまさしく暗黙知である。相手のことが「好き」という感情(=全体)がまず初めに自覚される。その後に、その感情を説明するものとして、たとえば顔がかっこいいとか性格が優しいとかの要素をもちだす。しかし、そういった相手の容姿や性格は「好き」を構成している部分に過ぎず、それらだけでは「好きという感情」のすべてを説明することはできないのである。

 暗黙知を働かせるためにも、楽しいことや好きなことをやる

  人間という生物に備わった最大の能力は、間違いなくこの「暗黙的統合能力」である。よく言われるクリエイティビティというものこの種の統合能力である。この暗黙的な統合能力が働くためには、自分を取り巻いている対象に対する興味や関心が絶対に必要である。本書の言葉を借りれば、「志向性」だとか「掛かり合い」といったものである。

 これからのAI時代においては、明示的なものはほぼすべて人工知能に置き換わると思う。明示できないものですら、多少の汎化能力はすでに達成している。AIに負けないようにするためには、いかに暗黙的統合能力を発揮していくかが鍵になる。そのためも自分が関心があることを片っ端からとことんやっていくことが不可欠なのだ。

 

 

 

 

 

 

バブルソートについて ーアルゴリズム概要ー

 

 バブルソートとは

プログラムのソート(整列)アルゴリズムの中で、もっともシンプルでわかりやすい

ものの一つです。ソート(整列)とは、たとえば、「4,6,1,9,2,33」といった数列の

を小さい順(昇順)や大きい順(降順)に並び替える操作のことを言います。バブルソートの概要(昇順の場合)を説明しますと、まず数列の全要素に対して隣り合う2項を比較し、順序が逆ならばそれらを入れ替えます。この操作を右から順に行っていくと、最も小さい要素が一番左すなわち1番目に来ます。この要素は確定です。

次は、この左端を除いた部分に対して同様の操作を行っていくと2番目が決定されます。全要素が整列するまでこの操作を続けていきます。

 

イメージ図

                      f:id:math00man:20180109105356j:plain

 

 

バブルソートに関して私の興味がわいたこととしては、「長さNの自然数列に対し上記2項交換回数の平均(期待値)はいくつか」という問題です。次記事でそれを考えてみたいと思います。

東プレ キーボード RealForce 購入レビュー

タイプ:REALFORCE 91UBK-S

★特徴

 f:id:math00man:20170827205510j:plain

★購入した理由

メンブレンのカチャカチャという音に耐えられなくなった。お店で試しにこのrealforceの静音タイプをたたいてみたところ、何とも言えないスコスコ感に惚れまして、値段は張りました(¥24,800)が買ってしまいました。

★使用感

お店で試したものよりも何倍も叩きやすくて、本当に感激しています。
こんなに打ちやすいキーボードがこの世の中にあったのか。
なんといってもキーを押した時のスコスコという音と指にやさしい叩き心地。やばいです(笑)

 

 

ITエンジニアとして成長するためには

かなり期間が開いてしまいました・・・。

続けることって本当に難しいですね。

忙しいとか時間ないとかいろいろと理由はつけられるのですけれども、一番の理由は単に投稿するに値するネタがなかっただけです(笑)。

さて、今回は若手エンジニアから見た、”デキる”エンジニア像について語ろうかと思います。

1、手を動かすことが基本

デキるエンジニアは必ずといっていいほどコーディング力に優れています。これは才能とかもあるのかもしれませんが、手を動かしてより多くのコードを書いた結果なのだと思います。

 

2、抽象化能力が高い

上記1が、抽象的なイメージを具体的な処理に落とし込む能力だとしたら、この抽象化能力とは、数々の現象から似ている構造を見つけ出し、それを概念としてまとめ上げる力といえるでしょう。

関数をライブラリ化したり、クラスを定義したりすることには、まさにこの能力が求められますよね。

 

3、常にフィードバックをしている

すべてに仕事に言えることかもしれませんが、ある程度作業に慣れてくると、単調でつまらないと感じるようになってきますね。

これは、同じような作業ばかり続けていると新しい刺激がなくなってくるからです。

そんな時デキるエンジニアは、何らかの方法で自らの作業を振り返り、それに対して改善を繰り返すことで新しい発見=新しい刺激を得ていると思います。

 

 

今回は以上です。いずれ実装例か何かをかけるといいですね。

今まではC、C++C#MATLABOpenCL

などをやっていましたが、これからはpythonやRにもチャレンジしていきたいと思います。備忘録として気づいたことをアップするかもしれません。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

客先常駐という働き方について

客先常駐はIT業界のスタイル

ご存知の方も多いと思うが、IT業界では客先で仕事をすることが一般的である。

契約には主に以下3つの形態がある。

  1. 派遣契約
  2. プロセス型構内請負
  3. 成果型構内請負

 それぞれ簡単に説明すると、1の派遣契約とは、ごく一般に耳にする派遣で、契約先企業の一員となって契約期間職務に従事する働き方である。ポイントとしては、指揮命令権が相手にあるということである。つまり、形としては客先の社員のように使える/使われるということを意味している。つい最近までは、一般派遣と特定派遣で分かれていたが、法改正後統一化されている。

2のプロセス型請負とは、構内請負のうち、請け負った作業のプロセスに対して対価が支払われる契約である。ここでは、成果物に対する責任は負わなくてよい。また、1と違って指揮命令権は契約相手にはない。

3の成果型請負では、指揮命令権がこちら側にあるという点でプロセス型似ているが、成果物に対して対価が支払われる点で異なる。すなわち、契約上の成果物に対して責任を負うということである。

客先常駐では、帰属意識が生まれない。

客先の作業場を転々とする働き方にはそれなりのメリットがあるものの、デメリットのほうを多く耳にするという実態がある。

デメリットや不満点はいくつもあるが、その中で私が考える一番のものは、自分が正社員として雇用契約(無期雇用)している会社に対して帰属意識が生まれないということである。

それが生まれない理由は、働き方を考えれば明らかで

  1. 指揮命令権が相手にある。もしくは相手が実質握っている
  2. 作業場が他の会社
  3. 同僚や上司が他の会社の人間

すべてが上記のようであるとは言えないが、自分の体験や他のエンジニアの経験からそのような傾向があることは確かだ。

このような労働実態では、自己に対して労働者としてのアイデンティティが生まれにくなる。それは、正社員として契約して働いているのにもかかわらず、自分の会社がそこに関わっていないからである。

それでは、契約相手先企業に対して帰属意識が生まれるかというとそんなことは決してない。相手はそこの線引きをはっきりしてくるからだ。

このようなどっちつかずの宙ぶらりん状態が現在のIT業界の客先常駐、また以前の言葉を使えば特定派遣なるものなのである。一部の会社では、定期的に社内イベントを行って社員同士の交流を図っていたりしているそうだ。それ自体は決して悪いことではないと思うが、自分としては会社はサークル活動などとは違うのだから、そのようなものでは労働者としての確固たる自己は生まれないと思う。(何らかの帰属意識は生まれるかもしれないけれども)

もちろん、労働者としてのアイデンティティを保つためには、どこかの組織にはっきりと属していないといけないかというとそんなことはない。フリーランスのような働き方では、自分の力で自分の生計を立てるという確固たる決意があり、仮に客先常駐だとしてもそこに労働者としての自分を確立できる。

しかし、上記列挙したIT業界の働き方では、会社組織に属しているのも関わらずそこに帰属意識を持つことができない。それが労働者としてのアイデンティティを保てない主な原因だ。

これが私の考える最大のデメリットである。

 

今日はこのへんで。