生活リズムをある程度構築することに成功した

24時間サイクルを諦めて、48時間サイクルにした

24時間サイクルの場合

崩壊パターン

朝起きられず、起きるのがおそくなり、夜になっても寝られなくなる。夜は静かなので、作業が捗っってしまうと、寝る時間がさらに後ろにずれる。

学校に行っていた頃は無理やり 24 時間サイクルにできていたが、QOL を犠牲にしていた。

48 時間サイクル

仮眠を挟んで 48時間で1週するサイクル

12時くらいに起きて、そのまま明け方まで仕事をする。その後軽く横になったり仮眠をとったりして、8時頃にまた起きる。頭が回らなくなってくるので、何時間か仕事をしたら、あとはゲームをしたり動画を見たりする。

このリズムのポイントは、限界まで寝不足になるところ。2日目の夜には、頭が回らなくて何もできないので、夜更かしが発生しない。頭が回らないというのはやめ時を見失うことに対して絶大な効果を発揮する。

24 時間サイクルが無理だとはいえ、地球は 24時間サイクルで動いているので、それなりの影響があり、36時間サイクル等はうまく行かなかった。

さらに、ある程度頭が回らない状態のほうが幸福度が高い。

48 時間サイクルは、寝不足で頭が回らない時間がかなり発生するので効率が悪いと思って敬遠していたが、それ以上に幸福度が高くやる気も出ることがわかった。

頭が回らなくなることによって作業やめて遊ぶきっかけが掴めるので、適度に心理的休息ができるのもよい。

これから

今のところ人生で最も快適な生活リズムだと感じているが、実質的に徹夜に近いので、体への負担が気になるところ。

vue-cli ui で git が使えるプラグインを作っている話

vue-cli ui

vue-cli には v3 から ui というプラグインがついていて、ブラウザから vue の操作ができる。

プロジェクトを作成したり、プラグインをインストールしたり、npm script を走らせたり、基本的にあらゆることが GUI でできるようになる。

ただ、vue-cli は v3 がリリースされたが、ui はまだベータ。バグっていたり機能が足りなかったりする。

vue-cli-plugin-git

vue-cli ui に git の gui を提供するプラグイン

npm にはまだリリースしてない。

いまのところは全く使い物にならないが、イメージとしてはこういう感じ。最終的には pull から push までブラウザでできるようにしたい

Image from Gyazo

実装

ui.js 側で isomorphic-git を叩いている。

変更検知をサボっていて、操作の度に git を叩いて全部読み直すので、非常に遅い。

commit するまでは git を叩かずに記録だけして、commit でまとめて git を叩くとかしたほうが良い

その他

ui ですべてを完結するために必要そうな物たち

株式会社ヘマタイトに入社しました&上京しました

合同会社ヘマタイト

yuh.hatenadiary.jp

1 月から合同会社ヘマタイトでパートタイムの従業員として働いていましたが、会社組織が解散することに伴い解雇されました。

合同会社ヘマタイトにはフロントエンドエンジニアとして加入しましたが、Web のインフラからCSSまで、Webの幅色い分野で貢献しました。

ヘマタイトの性質上、プロジェクトの規模が小さくエンジニアが基本的に一人だったため、自分だけでやりきる力はついたと思いますが、反面チーム開発についての新たな学びは得られませんでした。

2019/03

f:id:zakuro9715:20190403163310j:plain
hematite

そして4月からヘマタイトは株式会社ヘマタイトとなり、私は正社員として雇用されことになりました。

そして東京へ

合同会社ヘマタイトが株式会社ヘマタイトになる少し前、私は上京しました。

f:id:zakuro9715:20190403170854j:plain

新居に入った瞬間です。ここまでの荷物の梱包等々ですでに泣きたくなっていました。

f:id:zakuro9715:20190403171422j:plain

泣きながら開梱しました。

新居は五反田駅から歩いて約15分。どの駅に行くにも少し歩くのがネックですが、山手線に近いのがメリットです。住宅地なので近くにお店は少ないですが、徒歩圏内にコンビニとスーパーがあります。

不動産周りはおたくのやどかりさんに一任しました。1日という少ない期間しかなかったにもかかわらず様々な物件を探していただき、また手数料も半額にしていたいて大変ありがたかったです。コミュ障オタク向けに「電話じゃなくてラインでお伝えするほうがいいですかね」といった地味に嬉しいサービスもしていただきました。

株式会社ヘマタイト

合同会社ヘマタイト@umisama 個人事業の代わりに立ち上げたような小さな会社でしたが、私も加入し、いまではパートタイムを含めると 20 人を超える人数になってきました。

事業規模の拡大もあって、私にはよくわからないいろいろな都合があり、ヘマタイトは株式会社ヘマタイトとして新たなスタートをきることになりました。

株式会社ヘマタイトとなるタイミングで、私は正社員になります。業務内容は基本的には変わらず、一人から少人数での Web 全般の開発となる予定です。

雑感など

ついに私が正社員になる日がやってきてしまいました。中学生くらいからなにかおかしいと思い、高専時代に自分は異常だと知り、そして発達障害だとわかって今に至ります。

発達障害ではありますが、それについての特別な配慮はない、普通の採用です。こんな私がフルタイムのエンジニアとしてやっていける自身は、正直全くありません。

ですが、私には、天から与えられたプログラミングという才能があります。これまでの人生では様々な苦しみを味わいましたが、それを上回るだけの幸せを生み出したいと考えています。そして願わくば、私自身もいくばくかの幸せを得たいものであります。

生活用品をください

最近とある理由(完全に自己責任ですが)で通帳からほぼ満額引き落としたあとに財布を落としてしまい、お金が殆どなくなってしまいました。

皆さん就職祝い・転居祝いをください。おねがいします。生活がかかっています。

Amazon.co.jp

合同会社ヘマタイトに入社しました(+これまでのはなし)

これまでのはなし

実は最近ブログを書くのを完全に忘れており、インターネットから私の痕跡が消えつつありました。具体的には、高専休学したあとどうなったねんという感じだと思います。

高専休学後の私ですが、学生でありつつ、エンジニアとしてのキャリアをスタートしています。せっかくなので、このエントリで私のエンジニアとしてのキャリアについて整理しておこうと思います。

なお、学生としての私ですが、機会があれば書くかもしれません。勉強できなさすぎて会津大学は受かりませんでした。高専は退学しました。

フリーランス時代

高専の 3 年生辺りから、小さなお仕事をいくつかもらうようになりました。

最初のお仕事は Rails だったのを覚えています。当時私は Ruby すら未経験で、必死に勉強しました。1万円でたぶん100時間くらい働きました。Web のお勉強をしながらお金がもらえるという感覚だったので、安く使われているという感覚はありませんでした。

株式会社 MissingLink

休学した直後に、高専界隈での知り合いに、株式会社 MissingLink という会社を紹介してもらいました。その会社は、高専生を教育して Web の受託開発をしていました。私は Rails のできる即戦力として、その会社からお仕事をもらうようになりました。

当時はまだまだ若く、技術的なこと、コードの綺麗さやアーキテクチャなどに過剰にこだわっていました。最低賃金を割るくらい働いていましたが、それほど気にしていませんでした。正直若かったと思います。そんな事を言っていると、今だって若いと怒られそうですが。

ウォンテッドリー株式会社

yuh.hatenadiary.jp

株式会社 TwoGate

株式会社 MissingLink のメンバーが独立して、株式会社 TwoGate という会社ができました。私は引き続きお仕事をもらっていました。

Vue を勉強したあとに、社内で Vue & SPA エヴァンジェリストのような活動をしていました。最終的には Vue が採用され、初めて Vue で作る SPA のサイトの設計をしたりしました。あとは Rails の active-model-serializer を勧めたりと、社内で SPA の開発体制を整えるのに尽力しました。

その頃は SPA がわかるのが私しかいないような状況だったため、必然的にフロントエンドタスクが増えました。段々とフルスタックエンジニアになり、最終的にはほぼフロントエンド専任になりました。

社内で SPA のノウハウがある程度溜まっていったあとは、Angular が導入され、Ionic を使ってアプリ開発をするようになっていきました。私も必死に Angular を覚え、趣味でも Ionic でアプリを作ったりするようになりました。

TwoGate は非常に居心地が良かったため、MissingLink 時代も合わせると、同じチームに 3 年半いたことになります。

なんでやめるの

TwoGate は非常に居心地の良い会社だったのですが、致命的に飽きました。

小さい会社なので、社内でプロダクトを移動しても、使う技術や開発フロー、メンバーなどはほとんど固定されています。結果的に、常に同じようなパターンのコードを同じメンバーと書くことになっていました。また、規模の小さいプロダクトを多数抱えているような会社で、似たプロダクト間における fork や設計の流用が多く、それによってマンネリ化していました。当然、欠点もあって負債も生じているのですが、会社の体力や経営の都合等で自力ではどうにもできなかった部分も多く、解消できない負債を見つめ続けることになっていました。

開発スタイルに変化が乏しく、同じようなコードを同じようなメンバーで書き続けていると、新鮮味とともに貪欲さがなくなっていきます。その中で、技術的な熱意が薄れていく自覚があり、危機感を持ち始めていました。新しい環境に行かないと、永遠にこの安寧に堕落することになるのではないかと思ったのです。

その他にも小さい不満は往々にしてありましたが、それらだけでは環境を新しくすることまでは考えなかったでしょう。環境に飽きたというこのあまりにも大きなポイントが、やめる理由と言っていいと思います。

転職活動

そういったことについて漠然と感じていた中、ある日ふと「転職するか」と思いました。

知り合いの数社と連絡をとり、最終的にはヘマタイトに入社することになりました。

ヘマタイトの代表の @umisama は以前に仕事をしたこともあって、技術的なレベル感がお互いわかっていて、かつ社員にも知り合いもおり、不安要素がかなり少なく非常に安心感がありました。また、フルリモートフルフレックスで働かせてくれる会社は少ないという事情もありました。

なにやってるの

主に Angular を書いています。会社の人数で考えると、ヘマタイトは TwoGate の 1/3 といったところです。

まず大きな変化としては、基本的にチームメンバーが一人という状況になりました。1つのプロダクトを一人のエンジニアで面倒をみる状況です。これは全部自分でやりたい私の気性に非常にマッチしており、かなり良い刺激でした。一方で、自分がミスったときにリカバーできる人間が極端に少ないという状況には、かなり緊張感があります。

これは人数が少ないからだと思うのですが、全体的に一人ひとりのメンバーの裁量権が非常に大きく、自分の頭で考えて行動することを求められているのを感じます。さながら、少数精鋭の特殊部隊の一員になったような気分でしょうか。任せてもらっているという安心感と、失敗できないという緊張感が同居した、非常にメリハリのある環境です。

Wantedlyでインターンした時の話

最初に断っておきますが、Wantedly に特に恨みはありません。社での経験はかなり有意義なものでしたし、後の大きな選択につながる学びがありました。

諸々の契約が切れたので、少し前に炎上した Wantedlyインターンをしていた頃の話について書きます。

概要

私が Wantedlyインターンをしたのは、2015 年 の 9 月。約一ヶ月間です。既に 3 年が経過していますから、今とはいろいろと違っていると思います。

JOI 夏季セミナーのスライドを公開したところ、awakia さんにメッセージを頂いたのがきっかけです。ちょうど東京で別のインターンがあったので、そのついでにいきなり会社に遊びに行きました。そこで会社を見学して、人事の方と話をしたあと、リードエンジニアと少し立ち話をしてインターンが決まりました。遊びに行ったらインターンが決まっていたので、拍子抜けしたのを覚えています。

やったこと

インフラチームに所属しました。特定のメンターはおらず、チームの一員として他のメンバーと同じように業務をしました。

大きいタスクとしては、Wantedly Visit を Docker に乗せる検証をしたり、Wantedly に登録されている名前に自動でふりがなとローマ字を付ける機能を作ったりしました。当時はまだ大きな Rails アプリケーションを書いたことがなかったので、Wantedly Visit のデカさに絶望しました。Rails を起動するのに数分かかるとか、未知の世界でした。

当時の Wantedly Visit は大きいものの比較的普通の Rails アプリケーションだったので、Docker に乗せるのはそれほど難しくありませんでした。

自動でふりがなとローマ字を付ける機能は、JOI 夏季セミ自然言語処理の知識がついていたのを見込まれてアサインされました。Mecab である程度処理したあと、無限に例外処理をするような実装になりました。山田太郎の場合、Mecab で「やまだ」「たろう」まではわかりますが、「たろう」を「Tarou」ではなく「Taro」に変換しなければなりません。人名をローマ字に変換する場合、このような例外パターンが大量に発生します。Wantedly に登録されている膨大な名前を変換し、おかしな変換結果を目 Grep で探し、見つけたら例外パターンに組み込む、ということをやりました。もし Wantedly の名前のよみやローマ字に変な文字列が入っていたら、私の実装ミスです。

その他、細かなタスクはいくつかありましたが、省略します(忘れました)。

待遇

日給 8000 円の業務委託契約でした。宿代は出せないと言われました。

正直報酬は安かったと思います。社員と同じようにタスクをやりましたし、それなりの働きはできていたと思います。あと、会社が白金台にあるので、飲食店が異常に高く、昼食代が負担になっていました。東工大から来ていた同じチームインターン生と二人で、週の半分は社内でカップ麺を食べていました。

出社時間は決まっていましたが、適当な時間に帰っていいと言われていました。残業の指示をされたことはありませんし、基本的に私は定時で帰るようにしていました。

炎上について

批判記事削除のウォンテッドリー、14時間8,000円でエンジニアインターンを働かせる14時間労働で圧倒的成長togetter.com

上のまとめに書かれていることは概ね真実だと思います。

Wantedly の社員さんはモチベーションが大変高いようで、割と皆遅くまで残って仕事をしています。定時で帰る人をほとんど見かけなかった気がします。その上、Wantedly のエンジニアは優秀だったので、「こんなすごい人たちがまだ残っているのに、自分だけさっさと帰るなんて…」という感情が発生します。結果的に、長時間労働になってしまうインターン生は、間違いなく発生していたと思います(私より先に帰っている人は殆どいませんでした)。

雰囲気に流されて気がついたら 23:00 まで残っていた日もありました。それなりの人数が会社にいました。私は空気を読まないのに慣れている人間だったので、「そろそろ終わろうか」と言われるのを待っていると永遠に帰れないことに気がついて定時で帰るようになりました。

勝手に帰っていいと言われていたとはいえ、最初に口頭で軽く言われただけですし、いざ定時になると誰も帰らないので帰りづらい、というのは間違いなくありました。基本的に社員の方は忙しそうにしていてつかまらないことも多く、大事なことじゃないと声をかけにくくはありました(帰っていいのかというのは間違いなく大事なことなのですが…)。

インターンで来た学生としてではなく、一人のエンジニアとして扱われていたという実感はありましたが、一方で 18 歳の幼子には少し厳しかったと思います(定時の概念とかもよくわかっていなかったので、明示的に帰っていいといわれるものだと思いこんでいました)。当時はプログラミングしてお金を貰えるなんてすごい、というような認識だったので報酬についても特に気になりませんでしたが、今振り返ってみると、当時のスキルでももう少し高い報酬を要求するべきだったと思います。

おわりに

良くも悪くも、インターンを安い戦力として使っている部分はあったと思います。一方で、社員と同じ業務をやることができたのは、大変貴重な経験でした(同じ業務を安い報酬でやらされた、と言う想いもありますが…)。本番DBも触りました。ドキドキしました。

実力的には社員さんにそれほど劣っていなかったとは想いますし、報酬が安いという不満は正直ありました。今同じ待遇であれば、その時点で断ると思います。

社員さんが熱く語っていた上場の夢も叶い、私がいた頃よりはずっと大きな会社になりましたし、いろいろと改善はされていると思います。正直な気持ちをいろいろ書きましたが、今でも Wantedly 社の発展をささやかながら心から願っています。

【ネタバレあり】シンゴジラを見てきたので感想など

一言で言えば、これに尽きる。庵野作品が好きな人なら間違いなく楽しめると思う。

これ以降はガンガンネタバレするので、未視聴の方は注意。

続きを読む

lol な高専カンファに運営として参加しました

運営のはなし

配信およびネットワークの担当でした。

諸般の事情から運営に時間を取ることが出来ず、実行委員の中でも最も仕事をしなかったという自覚がある程度には、最低限の働きしかしませんでした。

もっとも、そうなることは比較的初期の段階でわかっていたので、最低限必要な仕事のみに集中することを意識していました*1

幸いなことに、@mc475_46 が最高に仕事のできる人間だったので、私の仕事は、彼の仕事を確認することとでした。ということなので、配信およびネットワークを提供できたのは @mc475_46 のおかげです。そして、少なからず問題が発生してしまったのは私の責任です。

配信・ネットワークの品質は、決して良い物であったとは言いがたいです。ただ、電気科と都市科の2名で準備したことを考えれば、健闘はできたと思っています。事前準備に問題はありましたが、一度落ちたネットワークを復旧出来たのは、実行委員の中でも私と @mc475_46 のチームだったからでしょう(業務連絡: あれぐらい俺でも復旧できたぞっていう実行委員の方、いたらごめんなさい)。

私は都市科(土木系)なのでよくわからないのですが、一般的な高専生は会場ネットワークの設計を出来たりしないと思います。配信についてもおそらく同様でしょう。その点、私と @mc475_46 は多少知識を持っていたのが幸運でした。

配信・ネットワークチームからの知見共有

無線はダメ

無線はダメです。安定しいる間は良いのですが、問題が発生したときの対応が有線よりも格段に難しくなります。また、有線よりも周りの状況に左右されやすいため、リハーサルでは問題なかったのに本番でのみ問題が発生するということがよく起こります。

DHCP の割当範囲

DHCP で割り当てられる IP アドレスの範囲が、デフォルトでは足りないことがあります。カンファ中に IP アドレスが重複することがあり、DHCP の設定を見直すことで改善できました。

ネットワークは処理能力も大事

準備段階では AP の範囲や電波干渉ばかりを気にしていたのですが、プレゼン発表会場のネットワークはおそらく処理能力が足りていませんでした。使用していた AP は 2 台で、1 台をブース会場Aとプレゼン会場でそれぞれ移動させて使用していたので、ブース会場Bの AP を使用すれば、プレゼン会場の AP を2台にすることも可能でした。

発表の話

今回は趣向を変えてコンクリートについて話しました。高専カンファが実質的に情報系の集まりになっていることに違和感があったため、誰でも楽しめる発表をしたいという思いがありました*2

発表スライドは以下のものを使用しました。作成を始めたのは前日の夜(もしかしたら日付が変わっていたかも)でした。lol な発表にするために、全体的にラノベ風のデザインにしてみましたが、モリサワパスポートがダウンロード製品でないという罠に阻まれたため、やむなくフリーフォントを使っています。

発表は思いの他好評で、懇親会では様々な人から「おもしろかった」と言っていただけました*3

過去に行った似たような内容の発表に、C4K勉強会#2 での 読書感想文をかこう がありますが、このときは「タメになる発表」を意識していたのに対して、今回はより楽しい発表にすることを意識していました。

今後も高専カンファのようなジャンルフリーの勉強会では、IT に関係ない話をしていきたいなと思いました。文章の書き方・測量・交通・音楽理論・卓球など、ネタはいくらでもありますし。

せっかくなので、時間がなくてスライドには書かなかった内容や、twitter で上がっていた疑問への答えなどの補足を幾つか。

鉄筋コンクリート

https://twitter.com/nyousono_sakebi/status/726291382445297665

はい、そのとおりです。

厳密に言えば、引張力に弱くても建物は建ちます。というのも、基本的に建物にかかるのは圧縮力だからです(この辺あんまり詳しくないので間違ってたらごめんなさい)。実際、古代ローマで使用されていた古代のコンクリートには鉄筋が入っておらず、引張力に弱いものでした。

現代では一般的にコンクリートの引張力への弱さを、鉄筋を入れることによって補います。これを鉄筋コンクリートまたは RC と呼びます。ただし、ただの鉄筋だと引っ張ると抜けてしまうことがあり役に立たないので、異形鉄筋とよばれるデコボコのある鉄筋を使います。

コンクリートと酸

コンクリートが酸に弱いことを強調するために「酸をかけると溶ける」と表現しましたが、一般的にこれが問題になることはありません。

しかし、酸というのは意外とどこにでもあるものです。たとえば酸性雨や温泉などによってコンクリートは侵食を受けます。酸性雨によって、鍾乳石のようなつららが生じることもあります。

また、空気中の二酸化炭素によってコンクリートは中性化します。これはコンクリート自体にはさほど問題はありません。ところで、鉄筋コンクリート中の鉄筋は、不動態皮膜と呼ばれる膜に守られることによって錆びにくくなっているのですが、コンクリートの中性化によってこれが破壊されます。不動態皮膜が破壊されると鉄筋にサビが発生し、わずかに体積が増加し、ヒビ割れが発生します。

練混ぜ機

一般的なご家庭には練混ぜ機があるはずなので*4説明不要だとは思いますが、練混ぜ機の写真のあるサイトを挙げておきます。なお、練混ぜ機の形状は様々なので、ご家庭にある練混ぜ機とは形状が異る可能性があります。

傾胴型コンクリート試験用ミキサー C-268

まとめ

途中から運営に入ってきた人からしてみれば、最初期からいるのになぜかほとんど仕事してない謎な人だったと思いますが、ともあれ無事(?)に終えられて良かったです。感想ブログはだいたい読んでます。

一緒に高専カンファレンスを創った実行委員の皆さん、参加してくださったみなさん、本当にありがとうございました。

*1:とはいえ何事にも例外はつきものです。担当範囲以外にも、頼まれてもいない文章の校正をたくさんやりました。

*2:最初期の実行委員での話の中でも、多学科交流のような企画を提案した記憶があります。

*3:特にGitHub 社の @dice さんとは、発表内容よりもちょっとディープなコンクリートの話ができて楽しかったです。まさか GitHub の方とコンクリートの話で盛り上がる日が来るとは夢にも思いませんでした。

*4:私の家にはありません。