kyo9boのブログ

プロダクトマネジメント・フロントエンド開発について書いてるただのブログです。

社会人になってから数学を中学からやり直しました

タイトルの通り数学を社会人になってから勉強し直したので、その勉強の過程や方法をシェアしてみたいと思います。

背景

そもそもなぜ自分が「数学を勉強しよう」と思ったかというと、エンジニアとしての地肩をあげるため、周りのエンジニアとの差を少しでも縮めたいためです。

自分は私立の文系の大学を学部で卒業してwebエンジニアとして仕事を始めたのですが、周囲のエンジニアは理系院卒が基本でした。

数学を受験でしっかり勉強していないことは自分の不利な部分であり、そこから生じうるロジックの構築能力の差があると感じていました。

それをキャリアの早い段階で埋めたいと思い、勉強しようと思いました。

勉強のコンセプト

社会人で勉強する時間が限られていますし、ゴールを設定することが学習の効率を最大化すると思ったので、下記のゴールを設定しました。

「数学Ⅰ・Ⅱ・A・Bの参考書を一通り終わらせ、全ての概念を理解できたと言える状態」

したがって、試験で何点取るとか、参考書の問題を全てを必ず解く、といったものではありません。

あくまで概念を理解して、プログラムを書く際に連想したりして役立てること、コンピュータを勉強する上での下地をつけることが目的です。

実施した具体的な勉強方法

使った参考書、どのように進めたのかをシェアしたいと思います。

参考書

使った参考書は下記の通りです。

中学の数学のやり直し以外、基本的にはマセマの参考書を使いました。 講義形式でそれぞれの公式や範囲の概念を理解するのにはもってこいでした。

どのように進めたのか

単元ごとに範囲があるので、基本的にそれに沿って勉強をしました。 例えば数BであればDAY15と15分割されていたので、1日5DAY分みたいなふうにやってました。(1日に1DAYはさすがに遅すぎる)

大体のかかった時間としては下記通りです。 数学Ⅱがやっぱり重かった印象を受けました。

  • 改訂版 中学校3年間の数学が1冊でしっかりわかる本 1日
  • 初めから始める数学I 改訂9 →7日
  • 初めから始める数学A 改訂8 →5日
  • 初めから始める数学Ⅱ 改訂9 →9日
  • 初めから始める数学B 改訂8 →7日

旅行に行っていて勉強できなかった日もあるので、初めから終わりまで5週間強かかりました。

勉強し終わった所感

素直な感想としては、勉強し直してよかったです。どういう概念なのかがわからなかった分野も「基本的にこういう分野だよね」と自分の中で理解できるようになりました。

「エンジニアとして直結しそうな部分は数列かな?」、なんてことも思いました。

元々の数学の知識にも依存しますが、自分が設定したような目標であれば約5週間で達成できたので、勉強をやり直すか悩んでいる方はぜひやってみることをお勧めします。

新卒一年目に読んだ技術書&仕事に関係する本

今回は新卒一年目で読んだ技術書、それに関連した取り組んだ勉強を紹介していこうと思う。

フロントエンドが自分の領域で、基本的にはそこから外の部分は業務で担当することはなかった。しかし、かなりいろんな分野の技術書を読んだので、この記事は本を探している人に参考になるかもしれない。

一覧

  • 基礎
  • コーディング
    • リーダブルコード
  • linux
    • 新しいLinuxの教科書
  • コンテナ
    • 仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん
    • Kubernetes完全ガイド 第2版
  • DB
    • 達人に学ぶDB設計 徹底指南書
    • 達人に学ぶSQL 徹底指南書
  • セキュリティ
    • 体系的に学ぶ 安全なWebアプリケーションの作り方
    • 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書
  • ネットワーク
    • マスタリングTCP/IP
    • インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門
  • JS
    • JavaScriptパターン ―優れたアプリケーションのための作法
    • ハンズオンNode.js
    • 開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質
  • フロントエンド
    • Webフロントエンド ハイパフォーマンス チューニング
    • コーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション
  • テスト
    • はじめて学ぶソフトウェアのテスト技法
  • デザイン
    • なるほどデザイン
  • PM系
    • OKR(オーケーアール)
    • 最高の結果を出すKPIマネジメント
  • 読み物

基礎

下記の四冊を読んだ。

基本的な考えや知識をインプットするために読んだ。 応用情報のテキストは実際に過去問をwebで解くことで、コンピュータに関する幅の広い知識を得ることができた。80%以上の正解率になるまでやることで知識が定着すると思う。 実際に応用情報の問題を8割以上にするまで2ヶ月くらい時間をかけました。(わからないことは逐次ググる

コーディング

「読みやすいコードとは?」を教えてくれる本である。

学生時代にインターンしていた時にも読んだのだが、新卒で入社する時に戒めとして再度読んだ。 チーム開発では確実に知っておくべき知識だろう。

linux

基本的なlinuxの仕組みやコマンドを勉強できる本だ。

結局全てに通ずる分野なので、これは抑えたい。 linuxを使えずして何ができるみたいな部分は確実にあるので、確実に自分の知識にするべく研修に加えてインプットした。

コンテナ

コンテナ仮想化技術の概要を学べる。

dockerは全てのエンジニアが、使いこなせるべき。とはいえ奥が深いので基本コマンドと概念を正しく覚えることが大切だと思う。

k8sに関しては、弊社のインフラが大規模なレベルでk8を使っているので、インプットした。 minikubeを立ててサンプルコードをほぼ全て試して挙動を確認した。

DB

DBがどういったものなのかはキャリアの早い段階で学ぶべきだと思う。MySQLなど、DBは寿命が長い知識なのでコスパが良いだろう。

セキュリティ

「暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書」は興味で読んだ。

セキュリティに関する概要と全体像は「体系的に学ぶ 安全なWebアプリケーションの作り方」で確認できる。 この本は名著。わかりやすくて自分は好きである。

ネットワーク

どういった経路でサーバーにリクエストが飛び、レスポンスが返ってくるのかの仕組みはアプリケーションエンジニアとして理解しておくべきだろう。特にマスタリングTCP/IPはわかりやすく、ネットワークの教科書とも言えると思う。

JS

研修を早めに終わらせてしまい、改めてJSを基礎から勉強してみようと思い読んだ。正直JavascriptやTypescriptを結構書いている人にとっては発見がない本だと思う。自分には優しすぎた。もう少し初心者の時に読んだらいい本だと思った。

フロントエンド

フロントエンドエンジニアとして、細かい部分の知識を得るために2つの本を読んだ。

ブラウザの仕組みから、サイトを早くするためにはどうすればいいのかを「Webフロントエンド ハイパフォーマンス チューニング」で学んだ。すごくわかりやすい。

また、アクセシブルなサイトを作るための知識として、「コーディングWebアクセシビリティ」を読んだ。 a11yは学生の時なかなか意識できなかったので、再度勉強したいと思い購入。やはりWAI-ARIAは実装しながら学ぶものだと実感した。

テスト

ソフトウェアのテスト理論をインプットした。テストの考え方や種類など。 QAが考える領域も理解しておいた方がいいと思うので、ぜひ読むことをおすすめする。

デザイン

デザインを図解で表現していて、実践的なデザイン感覚を学べる。デザインはセンスではなく、どれだけ触れてきたかが重要になりそう。

PM系

2022年からPMとしての役割が追加され、目標設定や方向づけの部分もしていく必要があった。そのため、各フレームワークについて改めてしっかりインプットした。

OKRをプロジェクトで議論し作成したが、これからが楽しみになる良いOKRを策定できた。その意味ではこの本を読む価値はとてもあると思う。

読み物

エンジニアとしてのスタンスを学べる本。結構いい本だったが、あくまで精神論や勉強に対する姿勢なので、大したものでもない。

まとめ

結果として24冊の技術書を今年は読んだ。今後も謙虚に勉強して行きたい。

社会人になる前に知りたかった社会の仕組み

本記事では、人生において本当にケアすべきリスクとそうではないリスクをまず考える。 そしてそうではないリスクに対して、いかに国が対応しているかを見ていく。

個人的には、国が用意している社会制度ついて、案外知らなかった。社会人になる前に知りたかったので、本記事を「社会人になる前に知りたかった社会の仕組み」というタイトルにした。

参考文献にも書いているが、この記事は両学長の「本当の自由を手に入れるお金の大学」という本を参考にしている。

ためになるので、読むことをお勧めする。

気にするべきリスク

世の中リスクに溢れている。それら全てに対応していたら時間もお金も足りないだろう。

大事なのは低確率で大損失なものに備えるという考え方を持つこと。

具体的には以下の事象に備えることが大切。

  • 火災
  • 死亡(家族がいる場合)
  • 自動車事故(自動車を持つ場合)

逆にいうと、これらは自分で備える必要はないということだ。(もちろん個人の志向や状況に依存するが、多くの人が準備不要)

  • 病気・怪我のリスク
  • 歩けなくなるなどの障害リスク
  • 死亡リスク
  • 失業リスク
  • 老後リスク
  • 介護リスク
  • 出産費用のリスク

では実際にどういったケアを社会が準備しているのか。

知っておくべき社会制度

今から紹介する社会制度は時間の流れで制度が変更される可能性がある。そのため、盲目的に信じるのではなく自らで知識を吸収する姿勢が大事だ。

公的医療保険

日本では、会社員/公務員は健康保険、自営業者/フリーランス国民健康保険、高齢者は後期高齢者医療制度、というふうに国民全員が健康保険に加入している。保険により、自己負担30%で最低限の医療を受けることができる。

さらに高額療養費制度という制度により、同じ月にかかった医療費が自己負担限度額を超えた場合超過分が後で払い戻される。自己負担負担額は年収と年齢によって決まるので、詳しく知りたい場合は厚生労働省のページを参照しよう。

すなわち上限が設定されているので、高額な医療費になった際の自己負担も比例して増加するというのは間違いである。

また、傷病手当金により病気や怪我で働けなくなった際には、生活を保証するために直近月収の2/3が最長1年六ヶ月補償される。

公的医療保険により、病気・怪我のリスクに対して個人で特に対応する必要がない。

障害年金

障害年金とは、病気や怪我によって生活や仕事が不自由になった場合に支給される年金である。もちろん現役世代も受給することができる。条件は少し複雑なので、ここでは割愛する。しかし、ちゃんと国民年金に加入し、加入期間の2/3以上保険料を納めている人が、1年6ヶ月以上経っても働けない場合に受給できると考えて良い。

受給額は障害の級、会社員かどうか、配偶者・子供の有無によって変わるので、詳しく知りたい場合は、日本年金機構の障害年金のページをチェックしよう。

遺族年金

家族がいる場合は、自分が死んだときのために遺族年金を使おう。養っている家族がいるのであれば、最低限の金額が支給される。

詳しくは日本年金機構の遺族年金のページを確認しよう。

雇用保険

失業してしまった場合には失業給付を使うと良い。働く意志と能力があるのにも関わらず職業につけず、かつ原則として被保険者機関が通算で12ヶ月以上ある際に使える。

失業給付の給付金計算サイトが存在するのでいざとなった時は計算するとよい。 https://keisan.casio.jp/exec/system/1426729546

さらに就業手当、再就職手当、教育訓練給付金、育児介護休業給付金といった、雇用に関する手当はたくさんある。

厚生年金・国民年金

厚生年金と国民年金という2つの年金で年金制度は運用されている。自営業やフリーランス国民年金のみで、会社員は厚生年金も支払う必要がある。

また、厚生年金は勤続年数✖︎平均年収✖︎0.005481、国民年金は年額約78万円、受給することができる。

もらえる金額を見ると、払い損になるかどうかが気になるだろう。

しかし、基本的に払い損にならない試算がでていて、詳しくはググるといいが下記ページが参考になる。 https://news.yahoo.co.jp/articles/37440c699bb2c29146a63085908ee6d320a49177

どうやら利率は高く、65から10年以上生きると元が取れるそうだ。(厚生年金の方がたくさん受給できるがほとんど結果は同じ)

とはいえもらえる金額を試算したのち、贅沢したい場合は個人でなんとかするしかない。

介護保険制度

要介護状態になった場合の方策がある。介護保険制度だ。

介護保険制度は40歳以上から保険料を納めることで、将来要介護で介護サービスを利用した際に自己負担が原則1割で済む保険である。保険料自体は大体5000円くらいらしい。

出産に関する制度

出産育児一時金という制度が存在する。これは、出産時に40~42万の出産育児一時金が支給されるという国民保険の中の制度である。なので出産にかかるのは50万くらいといわれているが、実質10万円くらいでなんとかなる。

加えて、出産手当金と育児休業給付という制度が存在する。これは一時的な収入減に対応するもので、詳しい期間の条件が存在するので詳しくは下記リンクから参照してほしい。

まとめ

上記でチェックしておくべき社会制度を見てきた。もちろん個人で保険で対応することは悪いことではないと思う。しかし、時間とお金、労力は有限なリソースであるため、最小限の部分に個人で対応した方が賢いと言えるだろう。

個人の意見としては、病気や怪我は可能性自体はとても低いのでそこに日常からケアするよりも、自己投資などして稼ぐ力を上げる方に注力した方が、若いうちは効率がいいのではないだろうか。もしくは定期的に運動したり、食べるものに気を使うなどして長期的な健康を考える方が本質的な対策だと思う。

参考文献

高額療養費制度を利用される皆さまへ

障害年金 | 日本年金機構

雇用保険制度 | 厚生労働省

介護保険料はいくらぐらい? 保険料はどのようにして決まるの?

出産で会社を休んだとき | こんな時に健保 | 全国健康保険協会

【必見】育児休業給付金とは?申請・計算方法や延長できるケースまで、どこよりもわかりやすく解説

本当の自由を手に入れるお金の大学

瞬時にロジックを組んで整理された意見を言うには

本記事の目的

本記事は「仕事で意見を求められた時に素早く、自分の言いたいことをうまく伝えられない」と感じている人に対し、「瞬時に自分の言いたいことを整理するヒント」を掴んでもらうことが目的である。

つまり、「ビジネスでのあらゆるコミュニケーションの場面で、いかに瞬発的に整理した意見を言うか」というトピックを扱うつもりだ。

本記事を書くに至った背景

自分は現在新卒1年目でつい最近プロジェクトにアサインされ、Webエンジニアとして実装業務がメインだ。

しかし、小規模のプロジェクトでメンバーも少ないため、PM業務も1部分ではあるが経験させてもらっている。

PM業務ではさまざまなステークホルダーの方々と仕様検討をしたり、今後のプロダクトの方向性などを議論している。

とても発言しやすい雰囲気で自分も意見を言うのだが、まあ論点がブレブレ。言いたいことの半分くらいしか相手に届いてなさそうな空気を感じる…

これはまずい。そう思い、"会議のディスカッションの際に、すぐに頭の中で意見を整理し発言をする方法"を少しインプットしようと思い、良さそうな本「1分で話せ」を見つけた。

この本は会議というよりはプレゼンを想定しているが、すぐさま読んだ。なかなか学びが多かった本だ。明日から実践できることもたくさんあった。

今回、自分なりの解釈を記事という形でメモすることによって自分の中に落とし込もうと思う。

瞬時に整理された意見をいうには

繰り返しになるが、この記事は「1分で話せ」がベースになっている記事である。ぜひ購入し読んでみてほしい。

まず始めにやるべきこと

自分の言いたいことを整理する前に言いたいことのコンセプト、誰にどうしてもらうかをまず設定する。

これが非常に大事。

というのもそれが目的でありゴールであるため、そこから逆算してロジックを考えることができる。これで土台・軸が生まれ、気づいたら別のことを話していたということがなくなる。 不用意な発散を防止するのだ。

ロジックを構築しよう

基本方針は「小さい単位で短く言いたいことをまとめる」である。

冗長になればなるほど、言いたいことというのは伝わりにくい。もちろん、発言している自分自身もだ。 できるだけ短い単位で自分の主張をまとめよう。

ではどうやってまとめるのか。具体的にどうやるのか。

短く言いたいことをまとめるには、主張に対して3つの根拠を用意したストラクチャーを組もう。 3つというのは直感的に人間が理解しやすい数字であり、人を説得する理由の数として十分な最低値だからだ。

相手に伝わるためには、3つの根拠で支持された主張を言うべきである。

でも本当にそれだけで伝わるか?少し疑問だ。

話はズレるが…

そもそも主張・結論とは何か?単に「言いたいこと」ではない。 考えてみる必要がありそうだ。

「1分で話せ」から引用する。

「考える」とは、「自分の中にあるデータや自分の外にあるデータを加工しながら、結論を導き出すこと」

ここから言えることは、主張(=結論)とは、データや情報から自分の頭を使って加工して導くものということだろう。 つまり重要な点は、主張は客観的なものから導かれる主観的なものという点である。

「利益上がりました」これは事実であり自分の頭から導いたものではない。

大前研一さんもこのように言っていたそうだ。

「考えるとは、知識と情報を加工して、結論を出すことだ」

もっと言いたいことをわかりやすく整理するには

考えるとは何か、主張・結論とは何かについて触れた。それをベースに、より相手に伝わる構成を考えていこう。

現段階だと、主張とその理由の2段構成で言いたいことを伝えようとしている。しかし、主張を思考して導いたのなら何かしら土台となったデータが存在するだろう。 その事実も説明できるとより主張の重みが増して、コンセプトを実現できるようになるだろう。

具体的には、それぞれの根拠の説明として「例えば」を使おう。結論→根拠→事実の三段構成で言いたいことを伝えることがベストだ。

質問の際の受け答え

議論をする際、自分の意見に対して質問を受けることも多いだろう。そういった時「うっ…」「ええと…」と固まったこともあるのではないだろうか。 自分主導で考えるわけではないから、難しい。質問されたときどうすれば切り返せるか。

何をいうかではなく、何を聞かれたかの理解に努めよう。

  • yes or noの質問か
  • イデアを聞いてるのか
  • 懸念事項を聞いているのか

↑上記のように、何を聞かれどう答えればいいかを一番最初に考えよう。 答え方が分かれば、三段構成で言いたいことをまとめて相手にぶつけるだけだ。

スタンスを明確に

自分の立場を明確にすることも非常に大切なことである。 立場とは役職のことではない。意見のポジションという意味だ。

賛成・反対なのか、どういったことに前向きでどういったことに消極的なのか、といった大まかな全体の意見の方向性をはっきり示す必要がある。

言いたいことを相手にわかりやすく伝える上では、婉曲的な表現は誤解を生みやすい。

遠慮はいらない、しっかり自分の立場を明確にしよう。

意見の相違が生まれたときに気にするポイント

議論すれば、意見の相違は必ず生まれる。 「異なる意見と自分の意見を自分のなかでまとめられない」「他の意見に対抗して自分の意見を貫けない」と感じている人は少なくないのだろう。

意見の相違を正しく理解するにはどうすればいいのか。 もちろん主張自体が異なる場合もあるが、立ち位置・重要としている論点が異なる場合もある。

  • 規模感の違い
  • ゴールまでの間隔
  • 手段の捉え方の違い
  • 見ているスコープの差、個人かチームか

論点の差を意識することで、より一人一人の意見を正しく捉えることが可能になる。 こうすることで相手の意見も咀嚼できて、それぞれの考えがシナジーとして機能するだろう。

まとめ

ここまで読んできたまとめである。↓

  • 結論→根拠→事実の三段構成を意識しよう。
  • 質問された際は、何を聞かれどう答えればいいかを一番最初に考えよう。
  • 自分の大まかな意見の方向性を明確にしよう。遠慮はいらない。
  • 意見の相違は立ち位置・重要としている論点が異なることから生まれる場合もある。

仕事でのコミュニケーションの参考になれば、嬉しい。

新卒社員は特に笑