2018の19日目です。(BeProudの話は最後にちょっと出てきます!)僕が運営するコミュニティ「メイドカフェでノマド会」のSlackには「メイドちゃん」というbotが生息しています。一年前にも紹介しましたが、そのときはまだ生まれたてほやほやでした。susumuis.infoそのメイドちゃんがこの一年でどれだけ成長したかという話をします。メイドちゃんはソースコードも可愛くなきゃ!その前にこちらを見てください。これはメイドちゃんbotのソースコードです。ところどころ日本語のソースコードがあります。print(10/0)なぜこんなことをしているのでしょうか?それは、その方が「可愛い」と思ったからです。ノマド会のメイドさんにもプログラミングして機能を追加してもらいたいと思っています。GoodNight(),)これでは外国のメイドさんみたいですね。メイドの本場は英国なので良いかも知れませんが、敷居が高すぎな気がします。そんなことを考えてたら自然とソースコードが日本語になってました。Pythonで日本語プログラミングすると、色々難があることがわかりました。大文字小文字の概念がなく、定数と変数の区別ができないならば【】みたいな記号を使って区別しようとしようとしたが、律儀にも多バイト文字も記号は記号と判定されて変数や関数名の先頭に使えない何より入力がめんどくさい!せめてローマ字にすればよかったと思います。褒めてくれるセクハラ防止機能メイドちゃんを口説けるそれぞれ紹介します。毎朝の天気予報メイドちゃんのおかげで傘を忘れないで済んだことは何度かあります。褒めてくれる自分を褒めてもらうこともできますセクハラ防止機能とかいう人がたまにいるので作りました。桁数はプログラミングした僕が覚えてる範囲までです(;・∀・)メイドちゃんを口説こう!他にもいろんなことができます。́ω`)!どうしても知りたければメイドちゃんを口説きましょう。メイドちゃん「可愛い」というと何回かに一回、できることを教えてくれます!メイドさんの前世?僕の勤務先のBeProud社では業務にSlackを活用しています。そこにはharoというbotが住んでいます。メイドちゃんの一部の機能はharoから移植しました。haroもソースコードが公開されています。https://github.com/beproud/beproudbotこのように書いて正しく流用しています。゚д゚)ハッ!メイドちゃんの前世はヘビだったんだね!🐍haroをメイドちゃんが代行したこともあるよ!ある日haroがメンテナンス中でみんな大好きな占い機能ができなかった時メイドちゃんが代行してくれたよ!まとめメイドちゃんはこの一年間で成長したよ!メイドちゃんはソースコードも可愛いメイドちゃんに可愛いって言ってあげるといいことがあるよメイドちゃんを困られること言っちゃだめだよ!メイドちゃんの前世はヘビそう考えると、僕がBeProudに勤めていなかったらメイドちゃんは作られなかったと思います。僕がharo(及び前バージョンのbeproudbot)を見て可愛いと思ったから、メイドちゃんを作ろうと思ったんだと思います。何書くか考えてなかったまま担当の日を迎えてしまいました。言えばちょうど2年前の昨日ビープラウドに入社してから、技術者として転職エントリ書いてなかったと思うので今更書こうと思います。(非技術者向けの転職エントリは書いています)何で転職したんだっけ?前職ではメイドが原因で失脚しました。いうのは半分面白くするための冗談です。今から7年前、前職は小さな会社でしたが「これから大きくなるぞ!」という勢いがありました。その時技術リーダーだった僕は発言権もそこそこあり「良い技術チームを作りたい」という意欲に燃えていました。結果的によくある保守的な階層組織になってしまい、気づいたら発言権も失い、大変憂鬱な気持ちになっていました。「当初色々意見を言えたのに、思ったのと違う結果になったのはなぜだろう。」「いっそ自分が作りたかった雰囲気に近いチームに、自らが飛び込んでみたら分かるのではないか?」「じゃあ、それに一番近いのはどこだろう?」そこで注目したのがビープラウドでした。実は、7年前の僕が参考にウォッチしていたいくつかの会社の一つだったんです。採用ページを見るとこう思いました。Python以外のスキルセットはぴったりカバーしているじゃん!!Pythonが書きたくてビープラウドに入ったわけじゃなくてごめんなさい!ガチガチのJava屋さんだったので入社するまでPythonは全然書いたことがなかったです。Pythonは勉強しました。feeding!🐶ビープラウドに2年いて学んだこと流石に2年もいたんだから何か掴めたはずです!入社以来僕を変えたことを、大きかった順に書いてみようと思います。時間を大切にする「susumuisは話が長い、文章が長い」とはめっちゃ言われました。入社して最初の自己紹介では1時間以上話し続け、その後も社内勉強会で20分の枠に40分話すなど時間配分がとにかく苦手でした。文章を書くと「susumuisの文章は長くて読みづらい」とめっちゃ言われました。説明が長ければそれだけ相手の時間を奪ってしまいます。相手の時間を尊重する、自分の時間も大切にするという感覚が欠如してたんですね。わかりやすく伝える努力をする「もっと分かりやすい図を書いて」みたいな指導をけっこうされました。「仕様書は行間読め」僕はそんな文化で感じの人でした。汲める人が偉い人そう思っていました。ところが、この会社の人たちめっちゃ丁寧に設計するし、図で説明するのが上手い人が多いです。考えてみると、業務の大半って、人から人へ自分の考えを伝えることなんですね。そこを「汲んで」とかやると、意思伝達のミスが多発して、最後はおかしなことになるのだと思います。根拠を示す入社してから公式ドキュメントを読むことが増えました。社内ではレビューが盛んに行われます。そこでは、その技術判断をした根拠が必要です。「よくわからないけどQiita読んで適当にやってたらできましたー(・_・)ノ」じゃダメですよねw意見を言う時に根拠がないと、こう言うしかありません。俺を信じろ!」それで付いてくる人は少なくともエンジニアじゃなさそうです。susumuisは熱い想いを実現できなかったのか!自分がダメだったのは、この逆だったからです/(^o^)\頭の中にあった「熱い想い」が、実はちっとも伝わってなかったんですね!それは失脚するわけです!まとめsusumuisがビープラウドに入社して2年を振り返りました。「良い技術チームを作りたい」という熱い思いが実現できなかった悔しさを持って転職したその結果学んだのは次のことだった時間を大切に。相手に伝わりやすく伝える努力をする根拠を示して説明するたとえ熱い想いがあっても伝える努力をしなければちっとも伝わらないもっと技術的な記事になるかと思ったけど、意外な結果だったなと思います。Pythonは不安なく書けるようになったし、機械学習も学びました。技術は前提として、致命的な問題によってそれが活かせてなかったのかもしれません。BeProudコミュニケーションガイド現在社内でライフスタイル・コミュニケーションを作成中です。beproud-guide。読んでみると結構この記事で書いたことと近いことが書かれていると思います。2018年12月4日eclipseでHTMLエディタの文字化けを直す方法EclipseのHTMLエディタはcontent-type記述から文字コードを自動判別するが、DjangoテンプレートのようにHTMLの断片だけのファイルを開くと判別できず文字化けしてしまう。回避するにはファイル個別に文字コードを指定すること。フォルダやプロジェクト、ContentTypeのデフォルトの文字コードを指定しても、自動判別をしてしまって強制的にShift_JISとして読み込んでしまう。これでプロジェクトや親フォルダの文字コードを優先して従うようになった。考察この動作、Java使いだった頃は全然気にならなかったのに、Python/Django使いになったら真っ先に気になった。Mayaaテンプレートはブラウザで表示できる「ページ」だから、むしろ自動判別が正しい(忘れてたり指定が間違ったら「正しく化けて欲しい」)。JSPの場合もpageEncodingディレクティブがある。忘れたらサーバーサイドで化ける。Djangoテンプレートはいずれの記述もない。この辺りも文化の違いなのかな。