#えむけーろぐ

間違った事を書いていたらやさしく教えてください

引越し業者

1月半ばくらいに引っ越す物件のアタリがついてきたので、そろそろ引越し費用の相場観でも掴んでみようと引越し業者の一括見積りサイトみたいなのに登録してみた。

すると、10分後くらいから立て続けに電話ラッシュ。ビビる。テレビCMで聞いたことのある業者から、よくわからん中小の業者まで様々。一時的に人気者になった気分だった。

明日狙ってる物件の内見に行くくらいのレベルで、ステップとしてはまだ確定ではないということを伝えたときの反応も様々でおもしろかった。仮の見積もりをざっくり出してくれるところもあれば、あ、はいじゃあまた今度的な感じで終わるところなど。まぁそりゃそうだよなぁという気もする。

あと業者によって全然価格が違ってビビる。安過ぎるところはなんだか逆にこわい。ある程度名前の知っているところで殴り合ってもらう方針で行こうかな。

しかしまぁ普段絡まない業界の人達と絡むと文化の違いに驚く。某大手引越し業者なんか、電話の終わり際に「新生活がより良いものになるよう精一杯頑張らせて頂きますのでよろしくお願い致します!」とか言われたし。いやぁ新生活はこちらの方で勝手によろしくやるので、君たちは荷物を安全に運んでくれるだけでいいんだけどなぁとか思ってしまう。

でも我々もユーザーファーストがどうとか言ってるのだから、実はそういう気概で仕事をしていくというのも必要なのかもしれない。

今まで作ったWebサービス

今まで作ったWebサービスは、全てではないがここにまとまっている。いやWebサービス以外もいくつかあるけど。(OGP的なの一切やってなかったな……。そろそろ自分のWebサイトも改築するかな。)

m6a.jp

自己紹介なんかをする時にこのURLも一緒に貼っておくと、そこから話題が生まれたりして楽しい。先日も転職後の社長面談みたいなやつがあったのだけど、Emoji SANPO*1に言及してもらって盛り上がったりなどした。

いろいろ作ったね〜ってよく言われるし、自分でもそう思ってたのだけど、まだまだ甘かったな、と思った。僕が勝手に憧れている存在であるゆーすけべーさんのツイートを見てしまったからだ。

なんとその数48個。しかも、70個のうちの48個らしい。(残りの22個はエロサイトらしい。)

ゆーすけべーさんといえば、昔アプリ開発コンテストに出るにあたって彼の著書である『Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ』を参考にさせてもらったのだけど、さすがだな〜という感じ。

blog.m6a.jp

やっぱ僕もまだまだ作り足りないよな、と改めて思った一日であった。

*1:学生の時に出たアプリ開発コンテストに向けて作ったもの。今の気分に合った絵文字を選ぶとお店をサジェストしてくれるアプリ。正しくはSAMPOな気がする。

いつも応援して下さっている皆様へ。

※この記事はmktakuya Advent Calendar 2020 3日目の記事です。

用意するもの。

野菜。なんでもいい。僕はたまたま家にあった玉ねぎ、もやし、ピーマンを使うことにした。切り方?適当でいい。食べやすいように。

鍋。出来れば専用のものがいいだろう。だがフライパンでも十分。フライパンとして常用している炒め鍋があるから、それを使うことにしよう。 

そして主役はこれ。吉祥寺にあるどさんこプラザで買った。

f:id:mktakuyax:20201130202234j:plain

これをこうして、こう。

f:id:mktakuyax:20201130201728j:plain

www.29yamamoto.jp

焼けた後の写真、撮り忘れちゃったな。

Sentryのエラー通知をDiscordに送信する

この記事では、Sentryの通知をDiscordに送信する方法を解説する。

昔はSentryのSlack通知画面にて、Webhook URLにDiscord側で生成したURLを設定すれば良かったらしいが、今はSlackとの連携方法がOAuthベースのものに変更され出来なくなっている。

1.DiscordでWebhook URLを生成する

これはSentryに限らず何かを連携するとなったら同じ操作をすることになりそう。

Server Settings -> IntegrationsからWebhookを作成する。

f:id:mktakuyax:20201126002404p:plain

名前や投稿先のチャンネル、アイコン画像などを設定する。Sentryのロゴは公式サイトからダウンロード出来る。

正しく設定できたら、画面下の方に出てくるSave Changesボタンを押すのを忘れずに。これを忘れたまま画面を離れてしまうとアイコンや名前がデフォルトのものになってしまう。

保存後、Copy Webhook URLボタンを押してWebhook URLをコピーしておく。

2.Sentryの隠し設定画面を開いてSlack(Legacy)を有効化する

Sentry -> Discord通知を実現するには、Webhookベースの旧Slack設定画面を開く必要がある。

通常はSettings -> Integrationsと辿れば色々と出てくるのだが、WebhookベースのSlack設定は出てこない。右上のFilter Integrationsでも出てこない。

f:id:mktakuyax:20201126003202p:plain

そのため、以下のURLを直接叩いてアクセスする必要がある。

https://sentry.io/settings/PROJECT_NAME/plugins/slack/

以下のような画面が出てくればOK。

f:id:mktakuyax:20201202223733p:plain

右上のAdd to Projectボタンを押すと出てくる設定画面にて、Webhook URLを設定する。この際、DiscordがらコピーしてきたURLの末尾に /slack という文字列を付加する必要がある。

f:id:mktakuyax:20201202224230p:plain

他の項目は埋めてもおそらくDiscord側で設定した名前やアイコンで上書きされると思うので、特に何も変更せずSave Changesボタンを押して保存する。

 

3.通知のテスト

Discordへの通知のテストを行う。Test Pluginボタンを押してDiscordに正しく通知されるかテストする。

f:id:mktakuyax:20201202225625p:plain

正しく動いていれば、こんな感じで通知が来る。

f:id:mktakuyax:20201202225652p:plain

もしTest Pluginボタンが無ければ、画面右上にEnable Pluginというボタンが表示されているはずなので、押してプラグインを有効化しておくこと。

f:id:mktakuyax:20201202225447p:plain

 

4.Alertsの作成

最後に、Alertsの作成をする。

SentryサイドメニューのAlertsを押してAlert一覧画面に遷移したあと、Create Alert Ruleボタンを押して、新規Alertを作成する。

IFTTT的な感じでいろいろ条件を設定できるようだが、ひとまずWHENとIFは何も変えずAlert nameとTHENの項目だけ設定。

f:id:mktakuyax:20201202230040p:plain

これでSentryがキャッチしたエラーの通知がDiscordに飛んでくるようになる。




心配な人は、適当に例外を起こすコードを仕込んで試してみると良さそうだ。

参考

今年もやります mktakuyaアドベントカレンダー

なんと今年で3年目!mktakuyaアドベントカレンダーの季節です。

adventar.org

クリスマスまで毎日ブログ書くぞっていうやつです。

テーマとか特に無い上たまに僕以外の人も参加してる*1のでよかったらぜひ。

一週間地元のお店でランチしてみる活動をやってみた #mkイート

僕の住んでいる杉並区は、都心に通う人たちのベッドタウンとして発展してきた街というだけあってとても住みやすい。が、友達とご飯に行くとなったときはだいたい新宿や渋谷、秋葉原なんかのターミナル駅に行くことが多い。仲の良い人たちはだいたい巨大テック企業の資本力に殴られ港区のタワマンに住むか、さもなくば埼玉千葉神奈川界隈に住んでいたりするので、わざわざこっちまで来てもらうことがなかったのだ。

僕もリモートワークでずっと家にいるとはいえ食事はほぼ自炊か、松屋吉野家サイゼリアなんかのわかりきった店で済ませる事が多いので、地元にどんなお店があるとかはあまり知らなかった。

そんな中、先日G社のワカモノ*1と地元でご飯に行く機会があり、「町中を歩きながらお店を探そう」となった。ついでに僕の家に寄ったりも。道中「これは中華屋さん」「これはたまに行くバー」「これは……初めて見たけどなんのお店だろう」なんて案内人的なことをする中で、「僕の住んでる地域めっちゃ店多いじゃん!全然知らなかった!」となる。

住んでいるのに全然知らないというのは22年間住んだ北海道千歳市でも経験したことだが、同じことを繰り返すのも良くないなということで1年半住んだ今更ではあるがもっと地域のことを知りたいという気持ちが芽生えてきた。

というわけでまずやってみたのが先週一週間地元のお店でランチするという活動、その名も「#mkイート」である。GoToイートに乗っかかってみたが一度もGoToイートを使うことはなかった。歩きながら気分で店を決めていたので。

あえて店名を書くことはしないが、適当に行ったお店を列挙し写真を貼り付けておこうと思う。知り合いで店名が気になる人はFacebookの方には書いたのでそっちを見てください。

月曜日 町の中華屋

町の中華屋。安くておいしい。メニュー多い。オフィス街にありそうな雑な中華屋よりはちょっと小綺麗な感じ。

f:id:mktakuyax:20201109124114j:plain

油淋鶏定食的なやつだった気がする

火曜日 町の蕎麦屋

町の蕎麦屋。安くて美味しい。メニュー多い。本当に安い。ただのそばなら500円台。かしわ入れたりプラスアルファを求めても600〜700円。天ぷらがつくと1000円超えたかも。おっちゃんがやってた。

f:id:mktakuyax:20201110123818j:plain

かしわそばだった気がする

水曜日 品の良いおばあさんがやっているランチ屋

2階建ての民家の1階半分がお店になってる感じっぽい。ランチ営業のみでメニューも日替わり定食のみ。800円。食後にコーヒーとプチチョコレートが付いた。自分以外の客が全員店主(品のいいおばあちゃん)と知り合いっぽくてウケた。町内会じゃん。

f:id:mktakuyax:20201111132349j:plain

日替わりの定食。800円。

木曜日 意識の高いラーメン屋

ここはわりと有名なラーメン屋さんらしい。ミシュランに載ったとかなんとか。メニューは手打ちラーメン一種類のみ。あとはお酒とかトッピングとか。夜は飲み屋になる感じなのかな?よくわからん。雑居ビルの地下のテナントという感じ。あっさり系。

f:id:mktakuyax:20201112140315j:plain

ラーメン

金曜日 週末限定ランチ営業のみの魚系定食屋

ここも普通の住居の1階をお店にしている感じっぽかったな。週末限定営業なのはなんでなんだろう。ワークライフバランス?魚系のメニューのみで、しらす丼やら焼き魚定食やら。一番人気はフライ系の定食っぽいけど売り切れだったので僕は刺身定食にした。次はもっと早く行ってフライ食べたい。

f:id:mktakuyax:20201113135311j:plain

刺身定食

* * *

 

とまあそんな感じでした。自分のグルメレビューの語彙力の無さにビビる。まぁ別にそれで食ってないしいいか。

月、火とほぼ同じ町の○○屋じゃねえかよというツッコミをしたくなると思うが、むしろそういうなんの特別なこともない「町の○○屋さん」がすぐ近所にあることこそが実は一番大事だとは思わないだろうか。特別なものがたくさんあるよりも、ありふれたものが当たり前にありふれている方が、ずっと価値があるんじゃないでしょうか。僕の住む町はそんな素敵な町です。

その代わりチェーン店が全然無く、来ては撤退してを繰り返しているらしい。スタバくらいはあってほしいんだけどなぁ。

*1:たぶん1個上

ここ1年くらいの話

というわけで先日最終出社を迎えました。ありがとうございました。

が、新卒で入ったG社を辞めたと思っていた人もおり、そういや社会人になってからの自分のキャリアの話って全然ブログに書いてなかったなぁということを思い出したので、わりと激動だったここ1年くらいの話を書いておこうと思います。

いろいろ書いてたら長くなりすぎたので、自分用メモということにしておきます。なおこれは退職エントリではなく、人生の振り返りです。

G社退職

実はG社は2019年10月末で退職していました。まぁ2017年の夏頃からお世話になっていたので自意識としては2年ちょいくらい在籍していたつもりですが、実際に正社員として入社したのは2019年4月*1なので、履歴書上だと在籍期間半年です。僕に関してはなにかトラブったとかではなく、なんとなく自分の市場価値を知るために参加した転職ドラフトにて、現職からびっくりする額の指名が来たので、まぁ落ちるだろうなと思って受けてみたら内定もらっちゃった、というのがきっかけだったりします。

こう書くと軽いノリでいったみたいですが、当時は結構悩んだ気がします。しかも相談先はみんな社内の人たち。G社の同僚や上司、向かいの席にいた業務委託のおじさんだったりで、引き止めてくれる人もいれば応援してくれる人もいる、という感じでした。ふつうこういう話は自分の中での結論を出してから上司に言うものだと思いますが、迷っている段階から相談出来るくらい僕はG社の人が好きだったし、僕を管理する側の苦労も考えずにそんなことを相談しちゃうような世間知らずで、そしてそういう相談をされたときに会社やチームとしての利益と僕個人のキャリアや成長とを分けて考えてくれる人たちに運良く囲まれていたのだと思います。

決め手はなんだったのか未だによくわかっていません。そもそもカジュアル面談の段階では行く気なんてなく、力試しのつもりでしかありませんでした。指名額は新卒のときの年収より200万UPでとても驚きました。この指名は来年の給与交渉のときにでも使うとして、せっかくだし記念受験でもしておこう、くらいのノリです。自分がこの会社の人達と一緒に働けるイメージなんて湧きませんでしたし、事業にも興味がありませんでした。それに、内定なんかもらっちゃったら当時の僕の給料は一体なんだったんだ?っていう話になっちゃいますしね。

僕は自分に自信がないからか、自分の年収=自分の価値だと思ってしまっていました。もちろんそんなことは絶対にないし、他人をそういう風に見ているつもりは無いのだけど、なぜか自分のことはそう思ってしまいます。頭ではわかっていてもまだ理解しきれるほど大人じゃないというか、発想が貧困なあまり人の善し悪しを判断するものさしが育っていないというか、とにかくこの考え方からは早く脱出したいものです。あと3年はかかるかもしれないけど。

某スタートアップにて

そんなわけで2019年11月から某スタートアップの社員になっていました。たぶんブログでもTwitterでも社名出したこと無いと思うので某のままでいきます。

最初の1週間で合わないなと思いました。合わないだろうなと思って入社して合わないのは当たり前だと思いますが、一方でまぁなんとかなるでしょという気持ちも少しはあったので、ここまで自分が適応出来ない環境が存在するというのは逆にショックでした。3ヶ月の試用期間満了と同時に退職する方向で動き始めていたのですが、いろいろあってそのタイミングを失いました。そのおかげで「とりあえず1年やってみてから辞めよう」と思えたので良かったと思います。

調整役を撤廃し自律分散的に動くことによってスピード感のある事業推進を目指している組織だったので、その枠組みの中で仕事をしていきます。僕も自分の担当領域を持ち、ちゃんと出来ていたかは置いておいて、企画から実装、そして分析やその後の意思決定までをやっていました。そう書くとなんかすごそうですが、実際は自分より上級のエンジニアや協業するメンバー達にかなり助けてもらいながら進めていました。

仕事をこなしていく中で少しずつ、自分は何がつらいのか、自分が会社というものに何を求めているのかが言語化されていくのを感じました。自分が感じるひとつひとつのつらさについて、これは自分の未熟さからくるもの、これはそもそも組織の仕組みやステップからくるもの、これはもはやカルチャーアンマッチでどうしようもない、という風に分けて考えられるようになってきました。この1年間ずっとつらかったですが、その分類と言語化が出来たのは思わぬ収穫です。このステップを踏むことが出来たのは、今後の僕の人生にとってとても良い経験だったと信じています。具体的に何が合わなかったかはまた別の機会にいろいろ書けたらなと思います。

自分が無能であることは19歳くらいの頃から薄々感じ始めていて、20代は少しずつそれを受け入れ前を向いていくための期間だと思っていましたが、この1年で自分の無能さを受け入れざるを得ないシーンがたくさんありました。今後5年くらいかけて向き合うつもりだったものに急に向き合わされることになったので、前向きになれたかどうかは微妙です。この1年、とにかくパフォーマンスが出ませんでした。関わった人全てに申し訳ない気持ちでいっぱいです。

ただ一方で、自己評価と他者からの評価が良い意味で乖離しているな、というのも感じました。四半期に一度の360度評価では「この人の年収はいくらであるべきか」*2といった項目があり、それをもとに給与が決まっていくのですが、幸い下げられるようなことはありませんでした。また、「この人は会社に必要か」という質問でも、自己評価では「いいえ」とつけたのですが、幸い他者からの評価で「いいえ」はありませんでした。もちろん改善点はたくさん頂きましたが、同じくらい良いフィードバックももらうことが出来ました。自己評価の低さが物事の捉え方に歪みを生じさせるということを初めて認識し、高めていきたいと思うようになりました。

辞める前に別件で同僚のエンジニアと話したときも、それなりに勢いある感じでやっていたように見えていたようです。正直かなり驚きましたが、本当にそれなりに勢いある感じでやっていたのか、それとも目の前の仕事にちゃんと集中出来ている人の目にはダメな他人の姿なんて映らないというだけの話なのかはよくわかりません。

ちょうど1年で辞めるならそろそろ会社選び始めないとな、と思ったタイミングでまた転職活動をはじめました。新卒の会社も2社目もわりと流れで決まったので、自分が選ぶ側になるのは初めてです。ありがたいことにいくつか良い話があり、すぐ決まったので良かったです。ただこれは自分が絶対的に優秀だからというよりは、若さの割にコードを書いた量や技術領域が広く、ポテンシャルがありそうだからということだと思っています。そこにあぐらをかいて努力をやめてしまい、このまま30歳、40歳、となっていくとだいぶキツいおっさんが出来上がるだろうな、という自覚はあります。

得たもの

そんなわけで僕にとっては激動の1年という感じでけっこう大変だったのですが、一方で得たものがたくさんあります。

360度評価それそのものは結構厳しい質問が多いなという印象でしたが、良かった点・改善点を一緒に働いていた仲間から頂けるのはとても良い経験でした。特に、一緒に同じ目的に向かって走っていた違う職種の方からフィードバックを頂けるのが最高でした。ちょっと前に流行った「事業がわかるエンジニア」*3になりたいなーと学生の頃から思っていて、それは自分の頭の良さや技術力の伸びに自信が無くなってしまったことの裏返しだったりするわけですが、「専門職だけど良い意味でそれを感じさせず、一緒に仕事しやすい」「セールスサイドを巻き込める」といったフィードバックを頂いたときは救われた気持ちになりました。自分の技術力不足をごまかすために言っていた「エンジニア以外の人たちといい感じに協業したい」という言葉が、少しずつホンモノになっていくのを感じることが出来ました。

また、自分の仕事について客観的に説明するという能力も身につけることが出来るようになった……のかどうかはともかく、少なくともその必要性について強く認識することは出来ました。単純に他職種の人とコミュニケーションをしていく中でも身につきましたし、ある施策の効果を見積もり実装し回してみて、その効果を分析しこれからどうするか意思決定していくという流れを通じての学びが大きかったです。自分の仕事の効果について数字ベースで語ること。自分の仕事によってお金を稼げる一方で他の部分にネガが出てしまうから、それを計測し交渉するなりネガを薄めるなりの次の一手を考えること。全部ちゃんと出来るようになったかは謎ですが、その必要性を認識しやり方を知っているというのは今後の強みになると思います。あとは数をこなして精度とスピードを上げていきたいです。

他にも要素技術としてSwiftによるiOSアプリケーション開発やAWSによるインフラ管理、お手製Rubyライブラリ群のコードリーティング力など、いろいろと得られたものがありましたが、この会社だからこそ身につけられたものとしてはやはり上で挙げたようなものが大きいのかなと思っています。

これらのものは全て自分で取りに行ったというよりは、会社の仕組みの上に乗っかっていく中で、上級のエンジニアや一緒に働く人達の助けを借りながら気づいたら得ていたものでした。環境が人を育てるというのは本当なんだなと思いましたし、『情熱プログラマー の「一番の下手くそでいよう」の効能はまさにこのことなんだなと思いました。

そして何よりも、ある回の360度評価で「この人だからこそ一緒に仕事がしたいと思えます。」と書いてもらえたのは正直とても嬉しかったです。こんなこと言われたの人生で初めてだったし、自分みたいな人間でも人の役に立てることがあるんだと思えました。

今後

そんな感じでいろいろあった1年でしたが、11月からはまた新しいステップが始まることになります。次は組織体制や文化などについて色々と調べた上でめちゃくちゃマッチするだろうと思って行く会社なので、とても楽しみです。

今後しばらくは自分個人のWebエンジニアとしての技術力を底上げしつつ、チームを強くすること、リードしていくこと、そして引き続き他職種・他チームといい感じに協業しながら事業を伸ばしていくことを頑張っていきたいです。

あとは説得力ゼロだとは思いますが、キャリアを安定させたいです。僕自身はわりと保守的な考えで、ひとつの会社にそれなりに長くいた方が良いと思っています。不安定なキャリアでも、ちゃんと背景を説明出来てかつ仕事上での価値を出せれば良いと思う一方で、今後年齢が上がってきたり大きな会社を狙いにいくとなるとその説明をするためのステージにすら立たせてもらえないということが容易に想像出来ます。ローンも組めなくなりそうだし。

これまでいろいろな人に相談させてもらいながらキャリアを構築してきました。今後もきっといろいろな人にお世話になると思います。今この瞬間だけを切り取れば僕はかなりヤバい奴ですが、この経験を糧により良いキャリアを歩んでいき、いつかまた僕を助けてくれた人たちのように僕も誰かを助けられるようになっていきたいと思っています。

こんな感じですが、今後ともよろしくお願いします!