屋根裏のベクトル束

会社員してます。

夜眠れない時、英語で思考すると眠りにつきやすい

最近、夜眠れないことが増えてきた。布団に入っても脳が活動モードに入ってしまい、あれこれ考えてしまう。考えれば考えるほど脳がさらに働いて、ますます眠れなくなる。すると今度は「寝なきゃ」という焦りが出てきて、その焦りのせいでまた眠れなくなる。

そういう時、最近は英語で考えるようにしている。

日本語だと、頭に浮かんだことにディテールをつけて、深く考えることができてしまう。また、一つのことを考えていたはずなのに、そこから別のことを連想して、さらにその先のことまで考え始める。そうやって思考がどんどん深いところまで潜っていくうちに、脳がますます活性化されてしまう。

でも、英語だとそれが起こりにくい。自分の英語力は3~5歳児レベルなので、頭の中にあるあれこれを細かく表現できるだけのボキャブラリーを持っていない。だから何かを考え始めても、日本語のように深いところまで潜っていけず、ある程度のところで限界がくる。そのおかげで、日本語で考える時ほど脳が活発に働かない。

ただ自分の場合、単純に「英語で考えよう」とするだけではうまくいかない。そこで、眠れなくなりそうな時には、YouTubeで「落ち着く音楽」的なものを一緒に流すようにしている。

最初は単に、音楽を聴いて心を落ち着かせようと思っていただけだった。でもある時、その音楽のリズムや流れに、思いついた英語を乗せてみた。すると、いつもよりも自然に、頭の中にあるものを英語にできているような感覚になった。*1

やっていることは単純で、音楽の流れに合わせて、頭に浮かんだ英語をとにかく乗せていくだけ。その時は文法なんて気にしない。日本語で文章を作ってから英訳するのではなく、頭の中にぼんやりと存在している、まだ言葉になる前の感情や思考を、そのまま英語にして流していくような感覚。

もちろん、それで実際にどこまで「英語で思考できている」のかはわからない。でも、そんなことはどうでもいい。大事なのは、日本語を介さずに、まだ言葉になる前の抽象的なイメージをそのまま英語に乗せること。自分の英語力では、感情や思考を日本語ほど細かく言語化できない。その分思考の解像度が落ちて、自分の感情から少し距離を取れる。このおかげで脳が必要以上に働かなくなり、以前よりも眠れるようになった。*2

*1:「バイリンガルの頭の中ってこんな感じなのかな〜」というのを、ちょっとだけ体験できたような気分になれる。

*2:英語ペラペラの人は効果ないと思うけど...

問題解決をアウトソースしすぎて、深い思考をするための筋肉が落ちている

ここ数年、仕事でプロジェクトリードの割合が高くなってきて、1日の業務時間のうち7〜8割ぐらいが会議や1on1で埋まるようになってきた。 その会議も、ただ参加して内職していればいいようなものではなくて、他部署との調整や上層部への報告など、ほとんどの場面で自分がアクティブに発言したり、事前に何らかの準備をして臨まないといけない。

そんな日々を過ごしていると、「できるだけその場で意思決定する」とか「自分の宿題を作らない」ことが重要になってくる。でもそうすると、何かわからないことが出てきた時に、自分でその「わからないこと」と向き合うのではなく、「わかる人に聞く」「いなければチームメンバーに振る」ことがほとんどになってきた。

もちろん、メンバーの能力や適性を見ながら仕事を振るのはリーダーの仕事としては当然で、それによってプロジェクトは前に進むし、メンバーも成長して、結果としてチーム全体の戦闘力は上がっていく。 でもその一方で、「わからないと向き合う」ことを、自分は全然やらなくなっていると思った。メンバーに仕事を振ることで、思考をアウトソースしている状態になっている気がした。

正解がないものに対して探索的に仕事を進め、限られた情報の中でトレードオフを検討しながら意思決定をする。また、「そもそも理想の状態って何?現実とのギャップはどこにある?」を言語化して、問題として定義する。こういった問題発見系の仕事は結構やっている。なんなら自分の仕事のほとんどはこのタイプで、これはこれで面白い。 一方で、「(一般的には正解があるとされているものに対して)正解を見つける」「原因を究明して解決する」ような問題解決系の仕事は全然やっていなくて、その筋肉が明らかに落ちている。

前者が俯瞰的にものごとを見る感じだとしたら、後者は思考の深い海にゆっくりと潜っていくような感じ。 自分が携わっているソフトウェア開発でいうと、後者は設計・プログラム製作以外にも、例えば「仕様書がないレガシーシステムの詳細な振る舞いを調査する」とか、「障害の原因を特定する」といった仕事がある。ひとつの事象をじっくり観察して、仮説を立てて、ログやコードや仕様を追いながら、少しずつ原因に近づいていくような仕事。

そういう問題解決系の仕事に、自分の時間を全然使えなくなっている。 これはどっちの方が大事かっていう話ではないけど、少なくとも後者の筋肉がないと、自分はソフトウェア開発のリーダーとしてはやっていけないと思う。

ここ数ヶ月、深い思考をするための時間を確保しようと、毎日30分スケジュールをブロックしてみたりした。けれど、結局そこにも拒否権がない会議が入ってきたり、今自分は複数チームを見ているので、どこかしらのチームのイレギュラー対応でその時間が消えていく。

世間のリーダーは、どうやってこの筋肉を維持しているんだろう...

ChatGPTでスピーキングの練習をする

「Voice In」というChrome拡張機能を使ったら、ChatGPTで無限にスピーキングの練習ができるようになった。

chrome.google.com

私はオンライン英会話を2年ほどやっていて、「1日25分のレッスンだと物足りないなぁ...」「でも、独り言で英語を話すのは気が乗らないなぁ...」って思っていたので、ChatGPTが話し相手になってくれたのは革命的。

また、最初にChatGPTに「あなたは私の英語のコーチです。私の表現が間違っていたら修正してください。」と伝えれば、表現も修正してくれて一石二鳥。
もちろん、100%完璧に修正してくれるわけではないけど、非ネイティブがスピーキングの練習台として使うには十分だと思う。

仕事内容をA4二枚でまとめたら、びっくりするぐらい捗るようになった。

TL;DR

  • マルチタスクに埋もれそうになったら、A4用紙二枚程度で仕事内容をまとめる。それによって、「解決したい問題」に注力できるようになる。
  • GoogleのDesign Docsを参考にしてフォーマットを作ったので、シェアします。

はじめに

こんにちは、id:doranekoglassです。 今年に入ってから、仕事で複数のプロジェクトに携わっていて、それにより色々なタスクを同時並行でやろうとした結果、仕事が全然捗らなくて自分に絶望してました。「さすがにこれはまずい...!」と思ってフォーマットを作ったのですが、それが思いのほか良い感じだったのでブログに残します。

フォーマットをつくるまで

モチベーション

先述しましたが、きっかけはマルチタスクがうまく行かず、ストレスを感じ始めたことでした。そこで、自分がどういう時にストレスを感じるのか、どういう状況でパフォーマンスが下がるのかを自己分析してみたところ、「自分が何をしたいのか(すべきなのか)わからないとき」、「『自分が今、何を理解していないのか』を理解していないとき」だということがわかりました。

参考にしたもの

GoogleのDesignDocs を参考にしました。DesignDocsはソフトウェア開発で使うものらしいですが、考え方自体はどんなビジネスにも応用できると思いました。

フォーマット

以下は私が使っているフォーマットです。タスクに取り掛かる前に、このフォーマットを埋めます。A4用紙二枚で収まるボリュームでまとめます。

また、私は普段 Visual Studio Code というテキストエディタを使っているので、Markdown 形式で書いています。項目が英語になっているのは、見た目がカッコいいからです。

# Task Title
## Overview
### What to solve?
<!--ここに、今回の仕事で何を解決したいのかを簡潔に書く。3行以内で書けるとベター-->
### Why?
<!--このタスクは、プロジェクトにおけるどういう位置付けで、どういう背景のもとで生まれたのかを書く-->
### How?
<!--ここに、どうやって問題を解決するのか、今想定している方法・手段を書く。ここは、仕事をやる中で変更があってもOK-->
* Non-Goals
<!--今回の範囲外の仕事は何か?「何をやるか」を決めることは、「何をしないのか」を決めること-->
* Alternative Plans
<!--代替案はあるか?-->
* Output
<!--今回の成果物は何か?-->

## Schedule
<!--ここに、スケジュールを書く-->

## Remarks
<!--ここに、新しい用語の定義や補足情報などを書く-->

## MEMO
<!--ここに、Overviewを書くための殴り書きメモを残す。pdfなどにする時にはコメントアウトして隠蔽する-->

### (参考)よく使うタグ
<span style="color:red;">強調したい部分は色を付ける</span>
<!--これで囲ったら非表示になる><-->

実感した効果

上司に質問しやすくなった

自分のやるべきことが明確でなかったら、仕事に取り掛かる前にOverviewを埋めて、「私はこういう認識で仕事に取り掛かろうとしているのですが、方向性合ってますか?」と、上司に質問するようにしました。
Overviewを書くことで「自分は何を理解しているのか」、「逆に何を理解していないのか」が浮き彫りになって、質問に費やす時間の短縮や、上司との認識のギャップを埋めるのに役立っています。

解決すべき問題がクリアになった

このドキュメントを作ることで、「なんとなく」で仕事することが圧倒的に減りました。なんとなくで仕事していると、「今、自分が何をしたくて何を調べているのか」や、「どういう目的で資料をつくるのか」が曖昧になります。それだといつまで経っても仕事が終わりません。
もしタスクの途中で、「あれっ、解決したい問題ってなんだっけ?」ってなったら、Overviewを見返せば迷子になることも防げます。

振り返りをするようになった

スケジュールを立てることで、仕事が終わった後に振り返りをするようになりました。当たり前のことですが、振り返りをすることで「スケジュール通り行かなかった場合、その原因は何か?(残業しすぎ、他の優先度が高いタスク、想定外の難しい問題に直面したetc.)」という原因分析をして、次回に生かすことができます。
私は振り返りや復習が昔から苦手だったので、このような仕組みでそれを補えるのは良かったです。

引き継ぎ用の資料になった

社内の資料を漁っている時、特に私が困ったのが、「なぜこんな意思決定がなされたのか」についての過程や議事録が一切残っていない場合でした。
また私は、「自分が分からなかったことは、きっとみんなも分からない。だからちゃんとドキュメントを残さないと、きっと将来後輩たちが困る」という前提に立つことにしました(図々しすぎるかもしれませんが)。
そこでこのドキュメントには、自分の思考の過程も残すようにしました。結果的に、細かい仕事の引き継ぎや教育するときに役立っています。

おわりに

私はただの会社員なので、このような仕事術を書くのは少し抵抗があったのですが、自分の思考の整理にもなってよかったです。今後もどんどんブラッシュアップさせて、効率的に仕事をしたいなぁ...

「ストーリー」を意識した、効率的な応用情報技術者試験対策(午後編)

初めまして、id:doranekoglassです。ずっとブログを始めてみたかったのですが、ネタがなくて躊躇っていました。 もうすぐ応用情報技術者試験の季節ということで、私がやっていた勉強法を書いてみようと思います。

目次

TL;DR

  • 単語の意味だけを覚えるのではなく、問題のストーリーを理解する。
  • 頭の中でストーリーを再現するように復習する。

応用情報技術者試験とは

情報処理技術者試験」の説明は、公式サイトから引用します;

 情報処理技術者試験は、「情報処理の促進に関する法律」に基づき経済産業省が、情報処理技術者としての「知識・技能」が一定以上の水準であることを認定している国家試験です。
 情報システムを構築・運用する「技術者」から情報システムを利用する「エンドユーザ(利用者)」まで、ITに関係するすべての人に活用いただける試験として実施しています。特定の製品やソフトウェアに関する試験ではなく、情報技術の背景として知るべき原理や基礎となる知識・技能について、幅広く総合的に評価しています。
情報処理技術者試験について

情報処理技術者試験の中でも、応用情報技術者試験はこのような位置付けのようです;

ITエンジニアとしてのレベルアップを図るには、応用情報技術者試験がお勧めです。技術から管理、経営まで、幅広い知識と応用力が身に付き、システム開発、IT基盤構築などの局面で、高いパフォーマンスを発揮することができます。
応用情報技術者試験の概要

わたしの受験体験記

私は2022年4月に受験しました。

勉強期間

本腰を入れて勉強を開始したのは、試験1ヶ月半前からです。

  • 2022/02
    • 仕事が忙しくて、平日はほぼ勉強できず。
    • 休日に、過去問道場で午前試験対策を30分〜1時間程度やっていた。
    • 1年前に基本情報を受験していたので、午前対策はそんなにしんどくなかった。
  • 2022/03〜2022/04
    • 本格的に勉強開始。平日は平均2時間、休日は平均7〜8時間勉強した。トータルの勉強時間は100〜120時間ぐらい。
    • セキュリティとマネジメントは過去10年分解いた。それ以外の分野は、緑本を一通り解いた。
      • 過去問はWebで公開されていますが、問題集を一冊持っておくことをお奨めします。午後問題は記述式なので「減点されないためにはどんな文章を書けばいいのか」を学ぶのに役立ちます。

午後試験の勉強法

どうやるか?

  1. まず、普通に問題を解きます。
  2. 解き終わったら自己採点します。
  3. Excelスプレッドシートを用意します。
  4. シートに「年度・タイトル・勉強した日付・キーワード・詳細」列を作成します。
  5. その問題のキーワードを抽出します。
  6. 間違った問題や迷った選択肢とその原因を、詳細列に記載します。

これは私が作ったシートの一部です;

セキュリティ

プロジェクトマネジメント

復習の時に意識すること

  • タイトルとキーワードを見て、問題の概要を1〜3分程度で説明できる
  • キーワードの意味を説明できる
  • 間違った問題の原因(なぜ間違ったのか)を説明できる
  • 解答を作成するまでの思考のプロセスを説明できる

私はこれをすることで、問題解決までのストーリーを頭の中で再現できるようになりました。

ストーリーと再現性

このブログで一番伝えたいことです。応用情報技術者試験件に限らず、試験勉強では 「本番での再現性を高める」 ことが一番大切だと思います。 中学校で学ぶ、二次方程式の文章問題を思い出してみましょう;

例題:連続する3つの自然数がある。大きい方の2数の積が、3数の総和に等しい時、この3つの自然数を求めよ。

解答:

  1. 求めたい自然数のうち、一番小さいものを  n と置く。 すると、連続する3つの自然数 n ,  n +1,  n+2 と表せる。
  2. 「大きい方の2数の積が3数の総和に等しい」ということは、
     (n+1)(n+2) = n + (n+1) + (n+2)
    まとめると、  n^2 - 1 = 0 と表せる。
  3. 二次方程式を求める手段として、因数分解と解の公式がある。今回は因数分解できるので、 (n-1)(n+1)=0
  4.  -1 自然数でないので、 n=1
  5. 求めたいものは、連続した3つの自然数なので、答えは  1, 2, 3

上記の解答では、

  • 求めたいものを変数で表す
  • 問題文から、方程式を組み立てる
  • 二次方程式の解法として「因数分解」と「解の公式」を知っていて、どちらを使うべきか判断する
  • 二次方程式を解く
  • 自然数の定義から、適切な解を選択する
  • 最終的な答えを出す

というストーリー(プロセス・解法)を踏んでいます。数学が苦手な子どもたちは、このストーリーを無視して解法を暗記しようとしますが、それでは得点につながりません。なぜならば、丸暗記では「問題文から何が読み取れるのか」「どの値を変数で表すのか」「解の公式をいつ使うのか」がわからないからです。

一方、このストーリーを覚えればいろんな問題に応用できます。解法は問題に依らず、大体同じだからです。

つまり、ストーリーを無視した暗記は応用が効かないけれど、ストーリー全体を理解すると再現性が生まれて、答えまでの道筋が見えてくる ということです。これを午後問題対策でもやろうとしているのが、上のスプレッドシートです。

おわりに

ブログって書くのめちゃくちゃ難しいですね。読みやすい文章を書いている人たち本当に尊敬します。これからもコツコツ何か発信していけたらって思います。

これを読んで下さった方の試験勉強のヒントになれば幸いです。