たにしきんぐダム

プログラミングやったりゲームしてます

Twitter上でのプログラミングに関する論争から距離を置いている

https://imgs.xkcd.com/comics/duty_calls.png

xkcd: Duty Calls

Twitter(X)では日夜ソフトウェアエンジニアたちが活発に最強のプログラミング言語や設計やコーディングスタイルなど、答えのないなにかについて意見を交わしている。こういう話が好きな人はやると良いし、自分の著作などに対して間違った意見を述べられ仕方なく論争に巻き込まれている場合などもあるかもしれない。

個人的にはああいった話題にいっちょかみするのは不思議な快感があるもの、得られるものはないのに無駄に疲れるなとも思っているので意識的に距離を置いている。

ところで Scott Hanselman の Scaling Yourself というプレゼンがとても好きで1年に1回くらいは視聴している。プレゼンの内容は大まかに言うと、多くのことを為したいと思うのなら自分にとって何が大切で何が大切ではないかを見極め、大切なものに注力しよう、という話。この中で Twitter 上での議論(argue (discuss ではない))に対する言及が面白かったので書き記しておく。話し口がとても面白いので是非見てみてね。

youtu.be

arguing on Twitter is the worst thing that you can do, and we're guilty of doing it.

No one has ever come up to me and said "Man, I am so glad that you argued with me on Twitter, completely changed my life, I've converted to Buddhism now, and you know I I've got a smaller house and we got a Prius". Never happens if you talk to someone on Twitter.

数年間継続している「調べごとメモ」の話

数年間継続している「作業メモ」の話1日1ファイル、「調べたこと」「やったこと」を日報として残す | gorou style を見て、僕もやってる!1日1ファイルじゃないけど!と思ったので適当に書く。

3年くらい前から何でもかんでも調べたことを scrapbox にまとめている。というか調べたり考え事しながら scrapbox にどんどん書いていっている。

最近は コードリーディングに関するメモは zenn scrap を使ってみている(何故ならgithubのリンク展開が便利なので)が、それ以外はだいたいここにまとめていて、技術的な調べごとから旅行や税金やらの調べごと、読んだ論文・本・記事やyoutubeのまとめなどをなんでもかんでも詰め込んでいて、今は980ページくらい。

wasmやgcコンパイラ最適化の合間に紅茶の銘柄を調べている

インターネット無料物件に怒り狂ってたことがわかりますね

自分はあまり記憶力が良い方ではないので考えたことをどこかにダンプしておかないとすぐに忘れるし、整理整頓が苦手なので階層構造型のwikiが苦手で適当にどんどんかけるscrapboxにタグを付けまくって運用している。

上記ブログみたいにやったこと単位でログを残すのも良いし、自分みたいに調べたことやらを書いていくのも良い。とにかくやったこと・学んだことをどんどん残していくと、外部ストレージみたいなのが少しずつ出来上がってきて便利に生活できる。メモはいいぞ。scrapboxもいいぞ

(オフライン)プログラミング仲間が欲しい

ここ一年、自分の仕事がニッチな分野なこともあり(ビルドシステムやコンパイラ)基本的に一人で仕事をすることが多い。さらにオフィスが国外にあるため出社ができずだいたいは物理的にもプロジェクト的にも一人で仕事をしている。

オフィスなどでコーヒーなどを淹れに席を立ったタイミングで多少似たような仕事をしている人と雑談するみたいな体験が恋しい。 (最近は近所のローソンで偶然あった友人とWasmGCの話で盛り上がったのが良い体験だった)

同じ方向を向いている人と気軽に雑談できる空間っていいな、なんとかしてそういう場を作れないものか(オフィスのある会社に就職する以外で)

todo.紙

todo.紙

これまでいろんなTODOリストを試してきたけど、最近紙で仕事やソフトウェア関係の直近やることリストをまとめている。

これまで5年くらいは TodoistTickTickTodo.txtGoogle Todo リストを使っていたのだが、どれもいまいちしっくり来なかった。

というのも、優先度が低いタスクが一生インボックスに残っていて、それを見るたびにうんざりするし、他の重要なタスクに対してノイズになってしまう。優先度・期日・グループを決めてフィルタリングしたりする機能などはだいたい揃っているのだが、自分のようなものを整理するのが苦手な人間にタスクの優先度付や期日をポチポチやるのはあまりにも面倒で全然やらない。

これらのTODOアプリはどれもあまりにも簡単にタスクを追加しやすいのが自分にとって問題な気がする。例えばTodoistはgmailとの連携でメールから簡単にタスクを追加できるので、githubからの通知をじゃぶじゃぶtodoistに追加したりできるし、そもそもパソコンはコピペのおかげで高速にタスク追加ができる。

しかし、その結果あまり重要でないようなものでもどんどんタスクに追加されていってしまう。几帳面な人は一旦全部タスク追加した後にそこで優先度付して整理すればーってなるのかもしれないけど、僕には無理だった。

というかそもそも仕事の大規模プロジェクトとかじゃなくて個人のTODOなんだからそんなだいそれた機能はいらないのだ、期日がもうすぐとかいう通知は全部無視してるので役に立ったことはない。

紙はtodoを追加するのにもノートとペンを取り出して、文字を書くみたいなアナログで面倒な操作が必要なため、タスクを追加するのに時間がかかる。しかも日付やら優先度でフィルタとか便利なことはできないので、紙がいっぱいになったら次のページにいって、残ったタスクはまた手書きで書き写さないといけない!

しかし、この面倒さのおかげで、タスクを追加するときにそれは本当に自分にとって重要かどうかを考える余白が生まれるし、残存タスクを次のページに書き写さないで捨て去ることもできる、それだけやらなかったのだから重要ではないのだろう。本当に重要なら覚えてるはずだし、他の人からpingが飛んでくる。

今も todoist は買い物リストとか事務手続きとして使っている、これくらいでいいのだ。改めて物事を電子化して便利にすることが必ずしも豊かさにつながるわけではないと思うことができてよかった。

キャリアと給料

(自分の気持ちを整理するために考えをダンプしただけの雑文です)

日本のエンジニア達は海外に出なければいけない|Kei というブログを見た。日本より海外の方がソフトウェアエンジニアの給料が一般に高いので海外に行こうという話

僕は今ポーランドの会社にコンパイラエンジニアとして(日本からリモートで)働いていて、コンパイラバックエンドやIDEなどの開発をフルタイムでしている。"海外" に関する話だけど上記ブログに載せられているスクショにはポーランドが見当たらないですね。

上記のブログのソースとなった Average Software Engineering Salaries by Country [2022] を見てみると、 Japan $36,024 に対して Poland $22,740 で日本のほうが200万円くらい平均が高い。実際、日本でフリーランスとしてWebアプリケーションとか書いてたときのほうが給料は良かった。

現職の待遇に不満はないけれど、英語が話せてそれなりに技術力のある自分はもっとお金もらおうと思えばもらえるのかなと思うと、上記のブログみたいなのを見ると結構刺さる。止めてくれカカシ、その術はオレに効く。

効いてしまったので、今の自分の考えを brain dump しておく

  • 海外(ってどこやねん)移住そのものに強いあこがれはない
    • ポーランド: 公用語が英語じゃないの結構きついなというのを1ヶ月住んだだけで思ったので難しそう。あと寒すぎる
    • アメリカ・カナダ: 行ったことないので分からん。バンクーバー移住している人たちを最近よく見ていて良さそうとは思うけど、移住するなら転職しないと今の給料だと餓死しそう。あと寒いの苦手なので冬は死んでしまうかも
    • オーストラリアとかニュージーランドは昔行ってめちゃくちゃ良かったので気になる。日本からの時差が少ないし比較的近いのがいいね。
    • 全体的にエアプなのでなんも分からんみたいなのがある
  • 日本に大切な人や友人が多いので、その人達とすぐに会えなくなるのは嫌だなぁみたいな気持ちが勝っている。地元最高!
  • 社交的な性格ではないので、頼れる友人も家族もいないところにいきなり飛び込むのは普通に勇気がいる。(これは移住した人たちすごいなぁと思う)
  • ポーランドに移住したらオフィスに通勤できて今より働きやすくなるとか、北米のほうが給与高いとかあるけど、仕事のために住む場所制限されたくない。むしろ気候(すごく大事)・治安・公用語などによって決めたい。
  • 今の仕事は結構いろいろ自由にやらせてもらえて気に入っているので、しばらくは現職にしがみついていそう。
  • いつか将来に転職するとして、今後もコンパイラやその周辺ツールに関わる仕事がしたいですね。
    • そう思って、最近はScalaコンパイラバックエンド(LLVM)などの仕事を始めた。
    • 以前はIDEとか作ってて、めちゃくちゃ楽しいんだけれど、開発の過程で得た知識があまりポータブルじゃない(他の言語に知識を活かせるほど抽象化できる部分がちょっと少ない)気がしていた。コンパイラバックエンド自体前から興味があったし、コンパイラバックエンドはかなり煮詰まった分野なので、そこで得た知識が他の言語でも活かせそう。
  • アメリカとかカナダでコンパイラエンジニアの仕事は(移住したいかどうかはともかくとして)できるもんならやりたいけど簡単に言うな。現職でもっと修行します。
    • まあ行動を起こさないとチャンスは訪れないのですが
    • 逆にそういう国でお金もっとたくさんもらえるけどWebバックエンド開発してもらいます。とかだとあまり魅力的ではない。
  • ところで住むなら絶対暖かくて日照時間の長い場所に住みたい。晴れの国宮崎県出身なので、その点でポーランドは厳しそうだなと思った
  • 日本の良いところはアニメ・マンガ文化がかなり日常に浸透しているところな気がする。少なくともポーランドやらではアニメ見る人増えてきてるけど、なんだかんだいってまだ好きな人が見てるって感じで、20年以上前の日本って感じな気がする

うーん考えがまとまらないけど、以下のような感じなのかな。高い給与が欲しいみたいなのは無いけど、そもそも国によっては今の給与じゃ厳しそうとかもある。

  • バンクーバーやオーストラリアなどは移住先としてちょっと興味ある
  • 日照時間が長いのが重要
  • 日本のアニメ・マンガ文化の強みは最高
  • あるけど、そこでコンパイラなどに関する仕事できないなら移住しないでいいや
  • 今の仕事は場所にとらわれないので、現職のまま移住はありだけど、給与低いのでバンクーバーは無理、オーストラリアとかはいけるかもしれんけど知らん
  • 単身移住は嫌

あなたの幸福がお金に大きく依拠しているなら金のために海外行けばいいし、異なる文化で生活した良いならそうすればいいし、そうでもないなら何が自分の幸福につながるか考えて行動すればいいんじゃないですかね(自明)