ぎんさんマインド

いちエンジニアの思考とか趣味についてつらつらと書いてみるかもしれない。

情熱プログラマを読んだ概要とか感想とか ~ その2


二章 製品に投資する


才能だけでなんとかできる人もいる。筆者のサックスがそうだったが、才能で演奏して練習をしなかった。
その後エンジニアに転向しサックスは趣味程度になったが、そのようになったからこそ大事な場面では練習をするようになった。
そうなる自然と、才能だけで吹いていた時よりもテクニックが上手くなったと感じる時が出てきた。
だからこそ、製品(自分)に投資する重要性をここで解説していく・

 

魚の釣り方を学ぶ


魚を与えれば一日の糧になる。だが魚の釣り方を教えれば一生の糧になる。
ソフトウェアでもそうだ、使い方を教わればその日の知恵になるが、どう動いているのか知っていれば顧客への説明もしやすい。
そのために自分で使っているツールの勉強をするべきだ、この時教わるといってもそんな人はすぐに現れない、だからこそ自分から学んでいくんだ。

この考えは重要だ、普段使っているツールが移り変わっていくなんて、フロントエンドじゃよくあることだ。
だが中身を知っていればこそ代替物が出た時に、その知識が役立ってくるものだ
この辺は一生の"先んずるか、やられるか"の知識かな

 

ビジネスの仕組みを学ぶ

我々はITのスペシャリストだ、だからこそそのプロジェクトでビジネスに協力する。その為には完璧でなくてもいいが、少しでもこれによって利益を出す仕組みを理解していなければいけない。

 

請負とかの契約周りならある程度理解しているつもり、転職する時散々言われ、絶対に騙されないと言う意思を持っていたから。
ただ、一つの会社のシステムを見る側になるのであれば、それだけではいけないのだろうな。方向転換する場合は改めて考え直すべき事

 

 師匠を探す

師匠がいれば先へ進む道筋もわかる。限界と思える地点も長くなる。成長も早くなる。

 

今の時代ならば技術顧問なんかはとてもいい師匠と言えるだろう。そう言う方がいる会社は羨ましい。
私はないから探すしかない。まず大海に出るところから始める。

 

 師匠になる

師匠は解雇されにくい。経済的に不安定になったとしても、人を助けられる仕事は価値が下がりにくい。

人に教えることは自分の知識を深めるためにとても良いことである。
コミュニティで人に教えると言うのはとても良いのだろう。
私自身は一匹狼的考えなので、本当にそれほどメリットがあるのか?なんて考えてしまう。
教えたところでどこかいってしまう人ならば、意味がないように感じてしまう。(別段人に教える経験がないわけでもないし、むしろ好きではあるが…)
この利点は帰ってくるのに時間がかかるものだと思うので、少しづつやっていくしかない。
帰ってきたら楽しく思えるだろう。

 

一に練習二に練習

限界ギリギリで鍛えろ。仕事なら完璧を求められるが、練習なら完璧じゃなくていい。
練習にも種類がある。音楽にたとえてカテゴライズするならば、1.身体的技術 2.初見 3. 即興 となってくる。そう考えるならばIT分野での練習もたくさん種類があるだろう。

こうやって本を読んで、アウトプットすることも一つの練習として考えている。これはアウトプットの練習、本を読む練習、概要をつかむ練習としてやっている。
プログラム的な練習ならば、反復や初見や理論の組み立てなんかをやりたいところだ、
反復なんかは新しいものをどんどん作っていけばいい。初見も本見ながら進めよう。理論の組み立ては、ATCoder再始動するのもアリだな。
それら全てに繋がるのがアウトプットだと思い、今やっている。

 

プロセスを大切にする

開発プロセスを一番ものにするには実際にその導入に協力することだ。問題点や利点を議論しあい賛同を得る。計画をまとめて実行する。

 

* おそらく私だけじゃなくほぼ全ての人が考えていることだろう。
プロジェクトを成功させたい。そんなのみんなそう思っている。じゃあどうやって成功に導くんだ?って話だ。
私だってそう思って進めている。こうやったほうがいいんじゃないか?なんて考え一歩進むごとに出てくる。
その中で議論し賛同を得るための方法を考えていくべきだ。
実際に自分でやって利点欠点洗い出してその上で議論し会う必要があるだろう。それをやっていこう。

 

 巨人の肩の上で

 

既存のコードを掘り起こせ、巨匠のコードをくまなく研究しろ。その上で自分の実力を思いしれ。

 

 

 

今はGitHubとかあるからいろんな人のコードを見れるいい時代だと思う。
私も多くの人のコードを見るし、RailsやってりゃRailsのコードもちょこちょこ見ている。
そう言う人のコードは正直何をやってるんだか理解に時間がかかるし、それが自分の実力なんだと思う。
簡単なgemでも実際に動かして理解するだけでも勉強になるから、そこから始めていこう。

 

自動化によって仕事を確保する


仕事て直面する問題点として、低コストの開発者を大量に雇うか、高コストの開発者を数名雇うかと言う議論がある。
もちろんこちら側としては後者の方がいい事はわかっているが、それを経営者に納得させるための根拠が存在しない。そのため経営者は同じようなものとして考えてしまう。
生産性を上げる方法は何点かある。1. 作業員の開発スピードを上げる。2. 作業員を増やす。3. 作業自動化する。
1は根拠がない、2はよくない、であるならば3だ。
自分の書くコードを自動化しよう。

Rubyやってればわかる。私は飯を食うためのコードを書くコードを書くんだ。そのためには魔術師にだってなるさ。
この考え方は私は好きだしあってると思っている(もちろん力に溺れないように気をつける)。であるのならばどんどん進めていこう。
コードジェネレータを作り、MDA(モデル駆動開発)を調べ理解していく。

 

クリーンアーキテクチャを読んで自己肯定感を打ちのめされた

どうもぎんさんです

普段はRailsで開発をしているが、ここ最近フレームワークに依存し過ぎた思考になってきた。

それで一度思考をリセットしようと思い、素のGolangAPI組み立てようとしてる。


その上で参考にしたのが、こういうもの

https://qiita.com/mani_transm/items/21534685552a520c8771

この手の物はたくさんある。
特に設計面でクリーンアーキテクチャを採用している記事が多い。

しかし、私はその本を読んだことがなかったので、ちょっと買って読んでいた。


https://www.amazon.co.jp/dp/4048930656/ref=cm_sw_r_tw_dp_U_x_8uJXDb3GGJ986


読んでどうだったの

 

以降この本の感想なのだが、なかなか思考をリセットするのが難しかった。

まず関心の分離という思想の理解、Railsの密結合な設計とは真逆な感じ

その上で、オブジェクト指向を肯定的に考え、設計思想を組み立てていくというもの

Rubyオブジェクト指向言語であるが、シンプルで自由な言語である。そのためinterfaceがなかったりもする。

その上でこの本の第三部設計の原則を読むと、まぁ理解がうまくいかない。

私だって情報学部の出身だし、その辺の考え方がわからないわけじゃない。

学生時代はJavaを触れることも多かったし、(ヒーヒーいいながらも)オブジェクト指向を理解した気になって卒業した。

でもその程度の知識でこの本を読んでも上部だけの理解しかできないと感じた。

この本の著者は長年エンジニアとしてやってきて、いろんな経験をしてきた人なのだろう。

知識がある状態でいろんな経験をし、その上で一つの終着点を見出し、
それをまとめるためにこの本を書いたという感じなのだろう。

それだけこの本には多くのものが詰まっていると感じた。

 

要はいい本だったってことだな!

 

だけどそれを全て理解するにあたって、私には経験が足りなかった。

こうするべきだと本が語っても、なぜそう考えたのかが全然たどり着けない。

この本の提示する設計原則の理解が全くできなかった。(今だって理解できてるとは言いきれない)

そのうち、自分の知ってるオベジェクト指向の知識に疑問を持つようになって、

自分は何を知っているんだ…?って状態になった。

おかげで若干ネガティブモードになってたよ…

 

 

 

ただこの本はそういうことを考えさせてくれるという意味でもすごくいい本だと思った。
よくこの本を読んだ上で提示されるいつもの図があるけれども、じっくり読むことで何でそう組み立てるのかまで理解できる。

そして無茶苦茶考えられて作られた設計なんだということがわかる。


ただ私としては、修正するのが面倒くさいから、なるべく直す部分の少ないよう組み立てるためのアーキテクチャってくらいの考えだけどね。

もうちょっと経験積んで、改めて読んでみたら、この本の印象が大きく変わりそうな気がしたよ。

来月手術します

 

ぎんさんです。

今年に入ってから健康運が最悪です。極まって手術も経験します。

 

8月に失神したのが今月再発したので、じゃあ対策しないとねって感じ

https://impuresilver11.hateblo.jp/entry/2019/08/10/213028

 

https://impuresilver11.hateblo.jp/entry/2019/10/17/100147

 

まぁ実際手術と言ってもかなり簡単なもので、胸の皮切ってペースメーカーの小さい版みたいなのを埋め込む作業。10分くらいで終わるって聞いてる。

 

流れとしては、11/14に入院して、検査⇨手術⇨経過観察⇨退院という流れで次の日早朝には退院できる予定。

 

まぁすぐ終わる簡単なものだね。そこまで大袈裟にしなくてもいいよね。

 

 以降愚痴

 

正直いつ倒れるかわからない状況って結構怖い。

8月の時は昼間の外で、多くの人に目がいく状態だった。その時は幸運にも優しい人に恵まれて、救急車呼んでもらったが

今月は早朝自宅でだから誰もいない。

 

正直倒れる時は既に意識がないのでどう倒れたかなんてわからないのだけれども、もしもこれが危ない場所だったら、電車のホームや刃物を扱ってる時だったらどうなる?と考えるとなかなか怖い。1分後に自分が死ぬかもという抽象的な妄想が現実的になる。

 

こういうの常に考えてるとそれなりにストレス溜まる。

だからこそ早く対応したい気持ちではある。

 

なので

 

カンパ下さい。

干し芋:

 https://www.amazon.jp/hz/wishlist/ls/O62WMU63KR32?ref_=wl_share

kyash: https://kyash.me/payments/pkSY9NNTJZmLBpeO8Go2PoaVwrOH

 

 

失神再発メモ

10月17日(木)、夏に入院していた事象の再発したのでメモする。

午前8時  起きる

午前8時半 トイレ行く

午前9時  喉が渇いたので冷蔵庫にあった炭酸水を飲む。

突然気持ち悪くなり、そのまま失神

 

体長 若干風邪気味 16日の早朝辺りから悪寒と鼻水が続く

わからない

 

 

  

私は西岡兄妹の書く詩が好きだ。幻想的な世界に感情の読めない作画、抽象的な物言いなのになぜか心に突き刺さる言葉の数々は過去や未来の自分を虐めていく。

夢を見ているかのようと表現するのもわかる。

「私たちの群れ」は短編集「地獄」のうちの一つ。これは家族や恋人、子供、自分が多く表現されていて、これの場合は子供に対して自分が思っている台詞だ。

だが本当にそれなのか、夢のように何かへの表現なのか考えてしまう。*1

 

今の自分を当てはめると、自分のスキルが持っているのかどうかわからない。

私は1エンジニアだ。知識を武器として日々戦っている。その知識は色々なものがあり、RPGで例えるならば、剣や槌といった武器を頭というアイテムボックスに入れているような感じだろうか。それらの武器を状況によって使い分けて先へ進んでいく。

 

だが武器は錆び付く長年使っていなければ錆び付くが、使っていたってとがなければ錆びつく。そんな武器で先に進めばゲームオーバーだろう。だからこそ手入れをしていかなければいけない。

だが武器は多い。今の環境がそういうものだと言えばそうなのだろう。

一つ一つ丁寧に手入れをしていくと別の武器が錆びてしまう。なら武器を絞るのか?それもありだろう。

 

武器より特技を生かすというのもある。剣ならば回転斬りが得意ですと言えばいい。リンクのようなものだろうか?

だが目的は前へ進むことだ、竜王のようなボスを倒してエンディングを迎えることだ*2 

その上で回転斬りなら雑魚殲滅には役立つが、単体の強敵が出た時どう対処するのだろうか?

 

こうやって延々と悩んでいくうちに自分の武器はどんどん錆びついていく。

今持っている武器は何なのだろうか。その武器は錆びついているのだろうか。次のステージで役に立つほど強化されているのだろうか。

頭というアイテムボックスはとても使い勝手が悪い。今自分が持っているものを確認することすらすぐにできやしない。

 

 

私は今何を持っているのだろうか。

 

 

 

 

 

*1:詩とはそう言うものだろう?

*2:人生におけるエンディングとは何だろうか?

情熱プログラマを読んだ概要とか感想とか ~ その1

 

https://www.amazon.co.jp/dp/4274067939/ref=cm_sw_r_tw_dp_U_x_hzAMDbHXEA1MR

 

アウトプットすることにより、自分の中に強く考えを馴染ませるためにこれを書く。

プログラマの人生は選択の連続である。それでいて先の見えにくい職でもある。
その選択続けて行った時、時に自分はこのままでいいのか、これから先どう進めばいいのか不安に思う時もあるだろう。
そういう時にこの本を読む。

ただやっぱまとめてみて長かったから、いくつかに分けていく

 

はてブよくわかってないマンだから概要を引用として書く。

その下に自分の今の考えを書いていく

 

はじめに(時代や背景など)

この本が書かれたのは2010年、プログラマの世界は時代の流れが早い。
この時代はアメリカならウォーターフォールからアジャイルが切り替わり始めた時期なのだろう。
日本じゃおそらくほぼなじみがなかったのではないか?(私はその時代働いてないからわからないが)
言語的にはJavaが主流、時点で.Net系だろうか、業務システムとしてなら大いにわかる。Java6くらいかな?私が触れ始めた7や8はまだ出てないと思う。
そんな時代の背景で、この筆者は昔ジャズミュージシャンをやっていた。そこからプログラマへの転向をしている。中々に異質なキャリアだろう。
プログラマとして勉強して大学のシステムを見たりマネジメント周りの仕事でJavaのプロフェッショナルを探すためにインドへ行ったりもしている。
そんな中で今(本を出した当時)はRubyをメインで仕事をやっているようだ、Railsでもまだまだ新しい。3いくかいかないかだろう。
Rubyが好きで楽しいって言うのは私もとてもわかる。

イントロダクション

タイトルの通りこの本はプログラマの情熱を、熱意を語りかけるものであり、自分の中にあるそれらの感情を呼び起こすために利用したい。

 

私自身も新卒で入った会社がよくある中小のSIerでかなり古い技術を使っていたので、初っ端から熱意のない環境に入ってしまった人間だ。
もしもその時にこの本を読んでいたら人生が変わったかもしれない、だがそれは過去のことであり
今を考えるならば、この経験があるからこそ、この本への理解が深まるという一つの指針になると思った。

 

この本によって熱意が呼び覚まされ、結果として評価が上がり年収が上がるかもしれない。年収が上がることによってよって幸福になるかもしれない、だがそれは目的に対する手段であり、この本で示すものは幸福でやりがいのあるキャリアである。 

 

これは私の経験のないこと、これから先を示すこと。私自身まだまだ評価されにくい立場なので、評価が上がり幸福になった際にもう一度読む。道を踏み外さないために。

 

失敗はレーダーに映らない

筆者は「食うためのコードを書きます」を持論にした人の本を読んだ。だがそれは目標が低く良いとは思えなかった。
別の本屋で「エクストリームプログラミング」の本を読んだ。これにとても感動し、会社のCIOに売り込んだ、
その結果XP immeresionコースに行けた。それはとても良い経験だった。そしてもっとこの環境にいたくなった。
そのためにはどうするか。自分がその中の一人になれば良い。それから公演をしてその中の一人になった。
このエピソードで大事なことは何か、熱意が人を大きく動かし、目標は常に高くあることである。

 

自分のものにする

会社は好意だけで自分を雇っているわけではない。雇うのにはコストがかかるし、それに見合うだけの利益を出すからこと雇っている。
そして利益とは何か、自分のパフォーマンスであり、彼らはそれを評価する。
自分のキャリアをライフサイクルとして考える。自分自身のスキルを売り込むまでのサイクルを考えていく。その場合は
1. 市場を選び
2. 製品に投資し
3. 実行に移し
4. 製品を売り込む

となっていく。その経緯をこの本で説明する。

 

 一章 市場を選ぶ

技術は自分自身への投資、どういうキャリアを描くのか多くの場合流れに身をまかせるだけになってしまっている。
会社からJavaをやれと言われ、その技術を形成するように。
自分を会社として考える、自分はヒットする商品を作らないといけない。だがそれの決定権を他人にまかせるのだろうか?そんなことなんかしたいはずがない。
もっと慎重に自分で考えるはずだ。それと同様に自分のキャリアについて、もっと考えるべきだ。
その中で、自分の売り込むサービスとは何か、誰に売り込むのか考える手助けとして第一章を提示する。

 

先んずるか、やられるか

どの技術に投資すべきか、画期的システムで盛り上がる技術や、常に地盤を固めて着々と上へと進めていく技術もある。
時代と言語の盛り上がり方を考えれば想像しやすいだろう。その上でどの知識に投資するのが大事かを考える。
ただ大事なことは、古いシステムは死ぬだけじゃない。新しいものに代替されるということ。
その上で、荒削りだが新しい考えに投資すれば代替物が出てきた際の知識の先行投資にもなりうる。
古いシステムならば、それらを切り替える必要も出てくる、そこに対してのニーズもありうる。
これらを考えた上でどこを狙う?

まずすべきこととして、テクノロジーを年代別で分けてみる。若年層中年層老年層という風に。
若年層の多い技術はこの先盛り上がる可能性が出てくる。必要なのは触れた技術が横一線になることである。

 

自分の知識はRubyや.Net、Javaも少し触れてる分、中年層老年層部分の知識もあるかもしれない。
新しい技術は最近よく出てるので、どれに投資すべきか迷ってるところもある。今ならgolangだろうか?少し触れてはいるがどうだろうか?
代替することを考えた場合はRailsを極めた上で、それに移り変わるものが出た際に、それを学んでいくのがベストと考える。
その上ですべきことは、まずはRailsを極めて、その上で新しいものが出たらそれに食いついていく。
今と同じかな?Ruby楽しいし、新しいものも見てて楽しいから苦ではないな。

 

需要と供給

Web出始めの頃は簡単なWebページを作るだけで大儲けができた、だがその後その能力を持つ人が溢れて競争が怒った。
それによってかかるコストも減っていった。需要と供給の一般的な相関図である。
アメリカはWebデザイナが溢れてきて、彼らは職を失わないか不安だ、だが需要は増大していく。その場合はどうなるか
コスト競争になった場合は給料はどんどん減っていく、それは絶対避けるべき。
言語別に見ていくならば、これは需要が大きいが供給が少ない。これは需要が少なく供給が多いなども見えてくる。
これは国によっても異なる。インドあたりはいい例だ。よく分析し、市場の不均衡を付き、スキルとフットワークで生きていけ。

2019年現在であるならばgolangが需要が大きく供給が少ないものの例としてあげれるかな?
スピード感を持ってスキルを得れば大金を得られるというのもわかる

 

コーディングは武器にならない

ただコードを書くだけなら他の人に任せたってできる。オフショアでもなんでもいい。
筆者の会社にはDBに全く今日にのない集団のDB管理チームがあった、ギークな人間は彼らを下に見ていたが、
ビジネスに必要だからこそそれでも食いっぱぐれなかった。これは重要な考えだ
ただのプログラマーでも、顧客の言葉に合わせて説明できれば、それはスキルになる。
そして顧客はそういう人に仕事を与えたく思うものだ。
自分がどの分野で働くかは慎重に決めるべきだ、そして、考えてない場合は今すぐ考えよう

私自身仕事を受ける立場なので、あまり考えて生きては来なかったが、この辺の考えは重要だと感じる。
転職なんかしようとすると、どういう業界がいいとかありますか?なんて聞かれることもあるし。
ただその考えを決めるには得ている知識が足りなすぎる。他の業界の人の話を多く聞き、じっくり考える必要があるだろう。
私はその手の友人が少ないので、すぐに始めるのは難しいな。。。

 

 

一番の下手くそでいよう

プロジェクトにおいて一番下手くそな立場にいればもちろん自身はなくすだろう、だが上手い人たちと一緒にいることで、自分も上手くなってくる。
だが逆もある、筆者がインドにいた際は言葉がインド英語になってしまった。集団心理というやつだ。
だがこれらの影響はとても大きい。自分の周りにいる人たちが、自分のパフォーマンスに影響を与える。仲間は慎重に選ぶべきだ。

今すぐ始めよう。
自分が一番下手くそな環境に入ろう。ボランティアのプロジェクトを探そう、
そのプロジェクトのTODOリストを観察し、バグフィックスからコーディングを学んでいこう。
この時は周辺のコードを観察し、よく真似るようにしよう。
これをパッチとして出せば上手くいけば取り入れられるし、その環境に入ることができる。

 

私もOSSに入ることを今すぐ始めるべきだと感じる節。

 

自分の知性に投資しよう

注力すべき技術を選ぶとすると、どうしても仕事が多い方に目がいってしまう。考え方の一つとしてはいいが、それだけではよくない。
Javaプログラマがたくさんいたとしても賢くない人だってたくさんいる(そんな本を出して挑発した人がいた。)
たくさんいるJavaプログラマから優れた人を探すならどうすればいいか考えた。
SmalltalkJavaとは全く違うプログラムを経験した人を探すようにしてみた、そしたらJavaのいい所悪い所をよく理解したダイヤモンドの原石がたくさん見つかった。彼らは自分でそれを学習し、そしてプログラミングが好きだった
ここから導けることは何か。機会は自分で掴むものだ。そして学習するならば、今とは全く違う言語を勉強すべきだ。

わかる。静的動的、コンパイル言語、スクリプト言語、それらが異なるものをやると大いに勉強になる。
私もC#Javaのような静的なコンパイル言語からRubyに映ったので、とても勉強になったし、好き嫌いも変わってくる。

 

親の言うことを聞くな

文化として親の言うことには素直に従うべきだと言うのがある。
だが親の忠告は子ども不安なものから遠ざけるための言葉であり、不安の先に自分の目指すものがあるならばその考えとは対立する。
また、親とは時代が違う。親の世代は仕事とは辛いもの、休日に楽しいことをするものだった。だが今は違う。
安定した企業で順々に出世していったとしても、それによって自分が成長できるとは限らない。
それを感じれなかった筆者は転職した。

 

万能選手になろう

昔はウォーターフォールのように工程を大きく分割してきた。だが今は違う、アジャイル的に柔軟性を重視した考え方が大事だ。
もしも問題が起きたら誰に相談しようと思うか、問題は多岐に渡るものだ、そしてそれらを柔軟に対応できる、いろんな知識を持った人が重要視される。
それはOS,コード,RDBMS,ネットワークそれぞれから分析し問題を探せると言うことだ。
ウォーターフォール的に考えるならば、コーダーは設計が終わるまで暇をするしかない。設計者もコーディングが始まればお役御免だ。
それこそ無駄なことだ。解雇されるのが怖いならば汎用性を上げていかなければならない、それには対局を見ることこそ大切だ。
万能の選手は滅多に存在しない。そこに価値がある。
万能の選手はいろんな局面からアプローチできる。そこで、自分のスキルをリスト化し、考えていくことも必要になる。
例えばリーダーやマネージメント職ならば、人を動かして、なるべく自分はコーディングに触れないことがよしとなるだろう。
だが、時にはリーダーが徹夜してバグを直したりすることもある。そう言う能力も必要とされる。

この本が出た時代はウォーターフォールからアジャイルに切り替わり始めたあたりだろう。その考えが大きく出ている。
そのため、現代に合わないところもあるだろう、環境の違いもある。日本的ならば、万能選手でとりあえず仕事を投げられても給与は増えないところもあるだろう。
だがその上でもいろんな知識を得ておくのは大事だと思う。私もバックエンドエンジニアとしてやっていこうとしているが、隣接した技術は得ておく必要があると思ってるし、そこから広げていく必要も将来的にはあるだろう。この考えは大事にしたい。

 

スペシャリストになろう

Javaスペシャリストを探していた時に自己評価の高い人はたくさんいたが、メモリ管理まで理解している人は少数だった。もちろんそんな知識はなくても書けることは書ける。
だが、もしも医者に病気を見せる時に、医者が使っている機械が何をするのかわからないとかいっていたら、病気を見せるだろうか。
プログラマとしても同じだ、使っているものを隅々まで知っていて、何を聞かれても返答できるような人間こそスペシャリストだ、そんな人間になろう。

今は私はRuby on Rails で仕事をしているが、中身に関して完璧に理解しているとは言えない。
幸いにも中身は一通り見れる状態なので、今は一つ一つ理解しようとしている最中。使っているものに感謝も込めて貢献したいしね。

 

自分の人生を他人任せにするな

将来どう言う道に進みたいか、JavaEEのアーキテクト?それはよろしくない。キャリアはビジネス、特定の会社に依存したキャリアを形成していくのはとてもリスキーだ。
そのソフトウェアのプロフェッショナルになろうとしても、コードが公開されていなければいずれ壁にぶち当たる。
やるのならばオープンソースのプロフェッショナルになろう。

汎用性の高い知識で生きていこうと言う考えは私の根底にあるので、私がこの項目で得られることは少ない。
最近はオープンソースが主になってきているので、時代的な違いもある。
だが、いろんな見方で物事を観察し、自分で将来を決めるようにはするべき。

 

愛せよ、さもなくば捨てよ

情熱がある人間はできる人間に見える。大学のIT学科はそのような人が多い場所だと思い働いた。
だが実態はそんなことはなかった、何をするのかわかっていない人がたくさん、そういう人は将来が見えていない人、ゲームを作るためだけに学科に入った人なんかばかりで、普段はゲームしたりバンドしたりなんてことばかり。
大学はいい環境だ、だがなぜそう言う人ばかりなのか、それは情熱だ、後々才能も出てはくるがまず情熱を持って行わなければ進めない。
やるべきこととして、2週間簡単な日記をつけよう。その日起きた時のやる気を10点満点で採点する。休みたければ1点だ。その結果を見て、低かったら将来を再検討してほしい。

私も低い時はあるしその時は方向転換を考える。これは多くの人に実践してほしいことなので、広めていきたい。もしくはこの本を進めたい。

 

 

 

とりあえず一章だけ、続きは後で

量子コンピューターの分野はロマンがあって好き

 

私自身大学は情報系で、数学は一通りやった人間だけれども、正直量子力学まではノータッチだし、よくわからないことも多い。

 

ただだからこそ面白いなと思う部分もある。

私なんかは大学でまずPCはどう言う歴史でどう作られてんの?なんて講義からやってきたもんだけれども、そう言うときはPCを最小にして考えてく。

 

そうなると辿り着くのは0と1の組み合わせ。0と1で四則演算を作りそっからいろんなものを計算し、記憶し保存させ、色々なった結果こんなスマートな型になったよって感じのざっくりとした中身

 

まぁ正直大学の頃なんて軽く聞いて終わりみたいなもんではあって、間違ってたら申し訳ないなーなんて思うが…

ただ、この辺の考えは私も根付いていて、卒業研究もそっち寄りであった。

 

だけど近年(と言うほどでもないが)量子コンピュータが話題になった。

PCの作りが根底から変わる。計算時間的に無理だと思われた問題が解けるようになる。

なんてよく言われてて、個人的には興味をそそられた。

 

そう言う意味でこの前、読み物として量子コンピュータの本を買って読んでみた。

https://www.amazon.co.jp/dp/B07N19QY19/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

 

量子の世界では0と1だけではない、0と1の中間の値が取れる。0が50%、1が50%の値がある。0と1だけでなく-1や複素数を使った論理演算ができると言うだけでも、私はとても興奮する。

今まで限界だと思われていたことを突き抜けることができる。

今までの自分の考えが根底から覆されると言うのを初めて経験するかもしれないと思うと、本当にワクワクが止まらない。

これから先の将来として、これがどのように発展していくのがが気になってしょうがない。

 

改めて自分の知的好奇心を刺激される分野だと思った。

 

ただ、私は知識が浅い。

大学は情報系で、線形代数はやったが量子力学なんてさっぱりだ、その上大学を留年した。

上の本はわかりやすいが、やっぱり前提知識がないと理解しにくい部分もある。

 

その上で今後の動向を知るために前提知識を仕入れていく必要があると感じた今日この頃。

 

まず線形代数と物理学を再勉強し、量子力学の知識を得ていきたいな。

あくまで趣味の一つとして。