さくらのVPSから Lightsail へ引っ越した

さくらのVPSを使ってこのサイトをホスティングしてきた のだが、この度 AWS の Lightsail に引っ越した。

引っ越しした最大の理由は、契約して以降長らく使いっぱなしのマシンの OS が CentOS 6 だったから。 CentOS 6 は11月30日でサポートが終了 しており、そのまま運用するわけにもいかないぞ…と目下の課題だった。
それに、さくらのVPSを使っていたことには積極的な理由はなく惰性でそうしていただけだ。2020年12月時点でこのサイトのホスティングと、likealunatic.jp ドメインに紐づいたメールアドレスを Gmail に転送することにしか利用していなかった。メールは現在 Gmail のアドレスしか使っていないので、独自ドメインのメールアドレスは捨てることにした。引越し先では WordPress サイトのホスティングだけできればよい。

移転先として Lightsail を選んだのは、現在の仕事で AWS を利用しているため、少しでもサービスに触る機会を増やしたかったから。まあ、業務で Lightsail は使わないわけだけど…。それに調べてみると Lightsail の方がさくらのVPSよりコストが安いし、スペックも見劣りすることもなかったので。

年末年始の宿題として取り組むつもりだったのだが、思いのほか簡単に済んでしまって拍子抜けだった。

ほぼ こちらの記事([Lightsail]さくらインターネットからAWS LightsailにWordPressを最速で移行する – スモールスタート編 | ma-ya’s CREATE / WEB DESIGN) で紹介されている手順で作業は完了した。とても有用な記事をありがとうございます。

つまづいたポイントとしては HTTPS 化の作業で sudo /opt/bitnami/bncert-tool した際に、

Warning: The domain 'mydomain.com' resolves to a different IP address than the
one detected for this machine, which is 'aa.bb.ccc.dddd'. Please fix its DNS
entries or remove it. For more info see:
https://docs.bitnami.com/general/faq/configuration/configure-custom-domain/

というようなメッセージが表示され、それ以上設定が進められなくなったこと。 これはドメインのゾーン情報に、旧サーバーを指すAレコードが残っているからだった。さくらインターネット会員メニューのドメイン設定画面からAレコードを削除したら解決。

というわけで2021年も始まりましたが、こちらはのらりくらりとやっていこうと思っています。 改めまして、明けましておめでとうございます。本年もよろしくお願いいたします。

References

M1 Mac について調べたことあれこれ

この3連休にゆっくり情報収集していたら、M1 Mac がとても欲しくなってしまった。買うなら今使ってる MacBook Pro 13-inch の同モデルへの買い替えかな。

とはいえ Homebrew 動かないとか、そういった情報もあり、開発用に簡単に使うには少しハードルがまだある模様。Rosetta 2 を使えばなんとかなるのかな?とも思うけど使用感がわからない。現状そこまで困っていないので、しばらく様子見。

M1 と Apple Silicon について

  • Apple は Aシリーズと名付けた自社製 Soc(Apple Silicon)を iPhone、iPad、Apple Watch、Apple TV などに搭載してきた。Aシリーズを Mac 向けに強化したのが M1。
  • SoC は「System on a chip」の略で、CPU、GPU、メモリなどの集積回路を1つのパッケージで実現したチップ。モバイルなどの小さなデバイスは大体このチップを使って作られている。
  • ARM はコアのアーキテクチャの一種で、それを使って各社 SoC を実装しており、Apple Silicon もこのアーキテクチャを採用している。
  • M1 は 5nm プロセスを採用した初の PC 向けチップで、160 億個のトランジスタを搭載。

M1 Mac について

  • すべて Big Sur (macOS 11) 搭載。
  • MacBook Air はファンレスでタッチバーなし。MacBook Pro はファンありの冷却システムを持つ分ピーク性能が上。

アプリについて

  • Intel プロセッサ向けバイナリと Apple Silicon 向けバイナリを1つのパッケージでまとめた「Universal Apps」と、Intel プロセッサ向けバイナリを M1 Mac で動作させる「Rosetta 2」を提供。
  • iOS 向けのアプリが、M1 Mac では直接動作するようになる。

References

フルリモートワークの課題感

しばらくぶりのブログ。最近はというと転職し、5月から新しい会社で働いている。

新型コロナウィルスの影響もあって、IT企業はリモートワークが一般的になったとは思う。しかし新しい会社のユニークなところは、そもそもフルリモート勤務がOKなところだ。リモート勤務前提で、地方から参画しているメンバーもいる。(もちろん、希望すればオフィスに行ってもOK)

緊急事態宣言の影響もあって転職前の環境からリモートワークとなっていたが、実際にこの数ヶ月フルリモートワークをしてみて、いろいろ思うところはあった。いま感じている課題は以下のようなものだ。

  • 他チームとの連携の難しさ(特にリアルタイムコミュニケーションを必要としている職種との)
  • Slack を見ていると結局同期的なコミュニケーションになりがちで、自由な働き方にはほど遠い
  • うまく成果をあげられないメンバーをどうフォローするか
  • うまくいかずに悩んでいるメンバーが悩んでいる過程が見えにくい。「悩んでいます」と言える人はそもそも自分で解決する能力がある人。問題はそれが言えない人をどうフォローするか
  • 自身の成果が、会社や上司からどう見られているかがわかりにくい。会社はそれをどのようにわかりやすく評価するか
  • 属人化による悪影響が顕著に現れる
  • 属人化している業務があると、緊急を要する事態が起きたときにダメージが大きい
  • わかりやすいドキュメンテーションが命で、誰かに聞かないとわからない業務があると業務が滞りがち
  • ナレッジ的に属人化している業務は情報共有で解決するが、スキル的に属人化している業務はいまいるメンバーではどうにもならない。適切な人材を採用するかアウトソーシングするしかない(あ、これはリモートワークとは関係ないか)

ネガティブなことばかり書いてしまったが、良いことだってもちろんある。しかしまあ、通勤が必要ないとか、家族との時間が増えるとか、そういう一般的なことなのでわざわざここで書かなくていいかな。

ところで GitLab は会社の経営方針を Handbook として公開していて、スタートアップにとってとても参考になる。そのうち GitLab’s Guide to All-Remote はリモートワークチームにおけるスタンダードを示していると思ったので、以下に引用しておきたい。

  1. Hiring and working from all over the world instead of from a central location.
    一極集中ではなく、全世界から採用し働く

  2. Flexible working hours over set working hours.
    固定された業務時間より、フレックスタイム

  3. Writing down and recording knowledge over verbal explanations.
    口頭による説明より、書き起こされ、記録されたナレッジ

  4. Written down processes over on-the-job training.
    OJTより、書き起こされたプロセス

  5. Public sharing of information over need-to-know access.
    知る必要がある人にだけ与える情報共有より、公にする情報共有

  6. Opening up every document for editing by anyone over top-down control of documents.
    ドキュメントはトップダウンで管理するより、誰でも編集できるようにすべてのドキュメントを公開する

  7. Asynchronous communication over synchronous communication.
    同期的なコミュニケーションより、非同期的なコミュニケーション

  8. The results of work over the hours put in.
    使った時間より、仕事の成果

  9. Formal communication channels over informal communication channels.
    非公式なコミュニケーションチャネルより、公式なコミュニケーションチャネル

簡単には諦めずに改善を積み重ねて、うまく回せるようなチームを作っていきたい。

イベント参加メモ: kiitok Career Market Vol.1

2/1(土)に Career Market | mixi、CA、DMM等のメガベンとスタートアップのエンジニアが集い、キャリアを語るカンファレンス に参加してきました。
“Vol.1 メガベンとスタートアップで得られるキャリア資産の違いとは?” とも題されており、メガベンチャーやスタートアップで活躍されているエンジニア出身の偉い人や現役エンジニアの方々が登壇されていろいろ語る、というものでした。
当日取ったメモをポストします。


Keynote Session: メガベンチャー/スタートアップでのエンジニアのキャリパスのすべてとその歩み方

転職/退職したい理由とは

  • 新しいものに惹かれているのか?今の環境から離れたいのか?
  • その技術を極めたいならコミュニティにいけばいい。その技術を使ったたくさんの人が使うサービスを作りたいならその会社に行けばいい

環境から離れるタイミング

  • 未来が自分の想像できる範囲になると離れる人もいれば、未来が見えないと不安になる人もいる
  • 自分にとってストレッチの効いたミッションがその環境になくなったら
    • 成長するとスコープが大きくなる
  • 何をやりたいのか?
    • 長期的な視点と、短期的な視点が必要
  • 入るための道具と、入ってから得られる道具は違う
    • 道具を目的に合わせていったん整理する
    • 入るための道具は一本強いのがあれば大丈夫では
    • 意味ない筋肉はあまりないけど、見せる筋肉はここだけ、みたいな
    • これやって意味あるのかな?と思うより、信じて行うことが大事
  • やってみたら意味があったこと
    • マーケティングとか。昔はバカにしていた
  • 人と比較するのはやめましょう。しかしポジティブな人たちと一緒に働くことが重要
  • お互いに何が強いのか尊重しあえるチームがヘルシー
  • いいやつになること。口角をあげよう。話しかけられるような人になろう
  • Give First
    • 相手が論理的に話しているのか、感情的に話しているのか。慰めてほしいのか、アドバイスがほしいのかを見極めて話そう
    • 相手から思わしくない反応があるときもあるが「こんなにしてやってるのに」と思った時点で本当のGiveではない。Giveし続けることが大事。

Session1: メガベンとスタートアップの現場の本音。採用、異動、開発現場、組織文化、給与、評価についてポジもネガも包み隠さず話します

どんな人が採用されやすいのか?

  • 採用基準は?
    • その人がチームに入ったときに何が起きるのか、想像できること
    • 自走できるかどうか
    • 型を身につけているかどうか。軸足は残してもらって、プラスチャレンジをしてもらいたい
    • スタートアップはそれぞれの強みをいかしてチームで進んでいけることが重要
  • 面接でどんな質問してる?
    • どんな瞬間が嬉しいか?
    • 成果とアプローチどちらか一個でいいので、すごいのを教えてください
      • よくあるのが、成果なんだけどチームの成果です、ってパターン
      • 個人の話を語ってほしい
    • その人の得意技はなんなのか?
    • ビジネスに対する理解や興味はどのくらいあるか?
    • チームメートにどこを頼られますか?
  • 開発言語やツールはどうやって決まるのか
    • 現場の声は比較的反映される(CA)
      • どっかの部署で使ってみて、うまくいったら全社に展開するパターンが多い
    • どれだけ再利用できるのか?(EXAWIZARDS)
      • ドキュメンテーション必須
      • 有識者が決定したら、議論の余地はない
  • 開発組織の文化
    • 自分が言ったものが伝わらない前提でコミュニケーションする(EXAWIZARDS)
    • 成果物をきちんと計測/数値化して、自分の仕事に自信を持ってもらう
  • 評価制度
    • 技術的に難易度が高いことへの挑戦、ビジネスの成功は分離して考える(EXAWIZARDS)
    • 評価はしない。フィードバックはする(PLAID)
    • ここ1、2年でようやく整ってきた。グレード制。透明性を重視(CA)
  • 第二新卒の採用基準
    • いまの環境がいやだ!という人は、自分の会社に来てもそうなってしまうのではないか、と思ってしまう
    • 個人でアウトプットしている人
  • 技術領域の広げ方
    • 一年に一つ新しいことをやるといい。同時に複数のことはやらない
    • 尖っていないから表に出てないけど、手広くやって社内で活躍している人も多い(CA)
    • スタートアップは何でもやらなきゃいけない。でも軸がある人の方が良い

Session2: なぜ私はこのキャリアパスを歩んできたか?スタートアップとメガベンキャリアを選択してきた第一線エンジニアに聞く

戦略性:そのキャリア、狙ってましたか?

  • 掛け算的なキャリアにすべし

キャリアの意思決定

  • 今後自分がやりたい領域にいけば。自分の場合はスマホシフトの時期に、それにちゃんと向き合っている会社へ行った(黒木さん)
  • やりきった感。何をやりたいんだ自分は、となった時期があったが、どこに行っていいかわからなかったので転職をいったんやめた。プライベートを充実させ、悩みから離れた。社内転職して気分を変えた。(二串さん)
  • 120%頑張れば届く、ところにチャレンジする。それ以上ストレッチすると失敗する。手の届くところを高くするために、日々精進すべし
  • 転職するなら、なぜこの会社を辞めたいのか。なぜこの会社に入りたいのか。これがちゃんと説明できるべき

Session3: 2025年までのエンジニア生存戦略

この過去5年で起きているトレンドの変化

  • オンプレがクラウドになった。いろんなことがソフトウェアに飲み込まれた
  • Firebase とかが出てきて、バックエンドエンジニアへの需要に変化が?
  • メルカリ筆頭にスタートアップ増えた。資金調達とか
  • デジタルトランスフォーメーション
  • Horizontal Saas はレッドオーシャン化した。Private な Saas とか、ターゲットを絞った Saas が流行 需要の変化
  • オフショアを活用すると、その単価と競争しないといけない
    • その領域、その分野しかできない、となると需要は減る
    • 掛け算ができていないと需要は減る
  • 自分で企画はできないけども、事業は理解できる、とかでないと。技術だけできるワガママなエンジニアはもう生き残れない
  • 技術アンテナが立っていることが重要。Java/PHP をやっていること自体は悪くない。ただ、海外にライバルが多い
  • システム全体を設計できるか?が重要
  • どれだけシステムの目的志向で動けているか
  • 技術的な知識やドメインの知識は必要条件であって、十分条件ではない
    • サービスを届けられて、事業が成功すれば、最悪知らなくていい。知っていないと普通はできないから知るべき、というだけ
  • ソフトウェアがすべてを飲み込むことで、大きなことを小さなチームでできるようになった
  • コミュニケーション能力があって、好奇心を持つこと。そうでないとチーム内で浮いてしまう。9割ディスカッションしていて、1割作業する、とか、極端に言えばその方がいい
  • 仕様が決まっていなかったら、こちらから提案する、という姿勢

求人ニーズの変化

  • 未経験を取らなくなった
  • じゃぶじゃぶした VC 投資は減ってくるはず。スタートアップは減っていく
  • 大企業が DX を進める文脈で、小さいチームで小さいサービスを作っていく、というのは今後も続く
  • サーバーサイドは本質的に、サービスとして実際の運用をしたことがないとできない
  • 会社は何らかのサービスを提供している。それを巻き取るような動きをしていけば経験が積める

メモは以上。

エンジニアとしての生存戦略を考えるという点で、とても参考になる話ばかりでした。
第一線で活躍されている方々を見たり話を聞いたりすると、やる気が湧いてきます。登壇者の方も語っていましたが、ポジティブなエネルギーを発している人と仕事をするってことが重要ですね。
僕もまだまだ、エンジニアとして食っていくぞ。

結婚のプロジェクトマネジメント

ここ一年ほどの出来事で自分のもっとも大きなニュースを取り上げるとしたら、結婚したことです。
去年の3月に入籍、12月に式と披露宴を挙げました。そして今年6月にはイタリアに新婚旅行に行ってひと段落したというところです。僕はお世辞にも社交的とは言えない人物なので、こんな自分と一緒にいてくれる人がいることに感謝していますし、率直に言って今、僕は幸せです。

ゼクシィをはじめとした結婚をテーマとしたメディアがありますが、そういったものを読めば読むほど奥が深いというか、きちんとやろうとすると大変なのだということを思い知らされます。ゼクシィも読んだのですが、本屋で目にした 『結婚の段取り&しきたりのすべてがわかる大事典』 なんて本も買って読んでみたりもしました。こんな本を買っておくと、それこそ「引出物はいくらくらいのものを買えばいいのか」とかそんな細かな疑問に対する答えがすぐ分かるので心強かったです。

2017年末にプロポーズしてからの一連の流れでしたが、ちょっとのんびりしすぎました。すべてのイベントをこなすのに一年半かかってしまった。
一つ一つのイベントがどうだったかということについて細かく書くつもりはありません。最大のイベントとしては結婚式・披露宴がありました。親族・近しい友人のみを招待した小規模なものでしたし、二次会も開催していません。もし二次会もやっていたらさらに大変になっていたはず…、と思うと、開催したという方は素直にすごいと思います。

さてさて、そんなことはさておき、結婚というイベントに対してITエンジニアという仕事人としてどう向き合ったか、という視点で書いていきたいと思います。

式場選び

大きな決断の一つに式場選びがありました。
奥さんの希望で和装婚にすることは決まっていましたので、まずそれが実現できる会場という前提はありました。ゼクシィを読んだり、友人・知人の話を聞いたりして情報収集し、最終的に3箇所の式場に下見(いわゆるブライダルフェアというもの)に行きました。

3つ目のフェアに参加した帰り、食事をしながらだったと思いますが、式場への評価を整理するためメモ帳に表を描き、奥さんに手渡して書き込んでもらいました。

会場決定のためのマトリックス図

列には 会場A, 会場B, 会場C を書き込み、行には評価項目を列挙し、それぞれ5点満点で点数を書き込んでいきます。評価項目は「会場(披露宴会場として魅力的か)」「式場(結婚式場として魅力的か)」「衣装」「料理」「コストパフォーマンス」「自由記入欄(自分で評価項目を自由に決定)」の全6項目で、30点満点。

もう一枚同じ表を描いて自分も評価を書き込んだ後、お互いに見せ合うと評価が高い会場が一致。もめずに結論が出ました。

タスク管理

すべてのタスクは Trello で管理しました。
以下のスクリーンショットではすでにタスクはすべて「完了」ボードに入ってしまっていますが…

Trelloボード

Trello は典型的なカンバンツールで、職場でも利用していて使い勝手を知っていたので採用しました。

使い方ですが、まずプライベートな専用のボードを作ります。
「計画」「進行中」「完了」の3つのリストを作って、計画段階ではゼクシィなどを見つつ、検討すべきタスクをすべて「計画」にカードとして書き込んでしまいます。必要かどうかは後で奥さんと相談。不要なら削除。進めるべきなら残し、わかる範囲で期限を書き込みます。
そして実際にタスクに着手したら「進行中」のリストにカードを移動。調査した情報や、相談した内容、打ち合わせで決まったことなど、カードの中にコメントでどんどん書いていきます。担当者とやりとりしたメールや、iPhoneで撮った写真なども、どんどん貼り付けて、関連する情報を集約します。

そして完了したものについては「完了」リストに移動します。
完了したものについてもカードを期日順に並べておくとか、情報としては後でまた参照しやすいようにしておいた方が良いです。

ところで、うちの奥さんはITには無頓着で、スマホは使えますが、PCは全く使うことができません。
Trello アプリを奥さんのスマホにインストールし、ユーザー登録を行ってボードに招待。カードの更新があったらメールで通知を受け取れるように設定し、少なくとも情報を読んでもらえるようにしました。つまりリードオンリーなメンバーとして Trello には参加してもらうことにしました。

招待客管理など

また、招待客などの管理には Google スプレッドシートを使用しました。以下のようなシートを作りました。

  • 招待客の個人情報一覧: 項目は親族カテゴリ、名前、新郎新婦との関係、郵便番号、住所、電話番号、出席可否、苦手な食べ物、備考。
  • 招待客と引出物一覧: 項目は親族カテゴリ、名前、新郎新婦との関係、メインの引出物とその金額、引菓子とその金額、縁起物とその金額、合計金額、席次表上の配布位置。
  • 招待客といただいたご祝儀の一覧: 項目は各個人情報、招待有無、出席有無、金額、商品名、お返しの品名、関連URL
  • 席次表: 会場が用意してくれた席次表。どの席にどの引出物を配置するかは引出物一覧と連携。
  • BGM一覧: シーン、アーティスト名、曲名、関連URL

これについてはそれ以上言うことはないのですが、一覧の管理にはやはりスプレッドシートは便利です。

プロフィールムービー

披露宴に利用する新郎新婦プロフィール紹介ムービーは、iMovie で自作しました。

iMovie Project

単なる画像のスライドショーなので、まあいけるだろう、という軽い気持ちで始めたもののこのタスクがもっともヘビーになってしまいました。 技術的に大したことはなかったのですが、写真の選定に多くの時間を使ってしまいました。

  • ムービーの尺・構成を検討する。新郎→新婦→両方、尺は約3分という構成に決まる
  • 実家に赴き、自分の幼年・青年時代のアルバムから写真を選定。奥さんにも同じく写真を選定してきてもらう
  • iMovie に写真を配置しつつ、キャプションをつけていく。写真が多すぎて全然3分の尺に収まらない…。写真を厳選し、尺を削る、とにかく削る

僕は自宅にプリンターもスキャナーも持っていないので、写真をデジタルデータに変換するためには、セブンイレブンのマルチコピー機を利用しました。USBメモリかスマホにデータを送信できるのでとても便利です。

決定した構成を決定した尺で実現するためにはどの程度の写真とキャプションが必要、ということを最初からよく話し合えていたら、こんなに苦労をしなくて済んだかもしれません。それを考えずたくさんの写真を持ち込んでいきあたりばったりに作業を開始してしまったがために、いたずらに時間を消費してしまいました。かなり反省…。

所感

結婚というイベントに際して全般的に言えることは、決断の連続だということです。その問題について、二人で一つ一つ答えを出していかなければいけません。
僕も奥さんもどちらかというとのんびりとしており、特に奥さんは優柔不断と言ってもいい性格なので、お互いの合意を取りつつ決断を続けていくということに地味に精神力を使いました。ただ、その中で二人の絆が深まったことも確かなので、それはそれでよかったのかな、と。

それと忘れてはいけないのはとてもお金がかかるということ。収支管理をしっかりとしないと、大赤字なんてことになりかねません。

いろいろ苦労はありましたが、ハイライトとも言える披露宴では「ゲストに楽しんでいただく」という気持ちを忘れずに取り組みました。笑顔が絶えない披露宴になったのでそれは達成できたかと思っています。

久しぶりの投稿になりましたが、この辺で。