読者です 読者をやめる 読者になる 読者になる

Line 1: Error: Invalid Blog('by Esehara' )

または私は如何にして心配するのを止めてバグを愛するようになったか

>> Zanmemo

あと何かあれは 「esehara あっと じーめーる」 か @esehara まで

他人の技術に興味や関心を持つということ

 暫くスタートアップのお手伝いをしている。最近やったのだと、下のような感じ。

 そんな感じ。上のことがどれだけ効いているかはわからないけれど、自分が楽しんでやれる環境に整備し、あとは他の人にも「だいぶ楽になったなー」という気持ちになれれば、こっちとしては万々歳。もしかしたら半分くらいは自己満足かもしれない。

 あとはAnsibleも導入できたらいいなーと思いつつ、まだまだ新機能の実装とか、そういう対応があって出来ていない。リプレイス前までにはちゃんとその辺も整理しないとやばいなーとか考えたりしている。現状として、サーバーはそれこそ場当たりで設定している感じなので、秘伝のタレ化する前に、各サーバーの設定を可視化しないといけないなーとも思ってる。

 上のことはもしかしたら、意識の高いPythonistaなら当たり前にやっていることかもしれないのだけれども、今回のスタートアップはPythonに不慣れな人達が作っているみたいだ。以前にお世話になっていたところが、djangoを利用した開発としてはきちんとしていたから、なおさらそう感じるのかもしれない。あるいはdjangoでコマンドをどういう風に作るかとか。そういうのを一つ一つ教えていったら「そんな便利機能があるのか」と嬉しがってくれていた。

 ちょっと考えさせられたことがあったので、その辺について少しメモしておこうと思う。

 俺は、スタートアップの本当に初期の「立ち上げ」のことは全く分からない。恐らく、資金調達をし、マネタイズに舵を切るために、それこそ自分たちにとって価値のあるサービスを作るということを最優先するんだろうと思う。そして、ユーザーというのは、基本的にはインターフェイスを通じてしか、そのサービスに触れることは出来ないし、関心を持たない。

 だから、どれだけコードやインフラが突貫工事であったとしても、まずはユーザーに自分たちのサービスを触れさせることが最優先になる。その判断は全く正しい。往々にして、エンジニアというのは、最初から綺麗に作りすぎようとしすぎて、サービスをリリースしないままということは多々あるからだし、そもそもリリースしてみないと、それがユーザーにとって本当に価値のあることかはわからないからだ。そんなところで綺麗にコードを書いてても仕方がない。

 しかし、このような「前だけを見ている開発」というのは、限界にぶち当たったりする。確かに、最初に手持ちのカードを切りまくるということは、手持ちのカードでしか戦えないからだ。手持ちのカードを消費しつつ、どんどん自分のカードを増やしていかないといけない。ずっと同じカードを使い続けていると、いずれ破綻してしまう。だから、他の人達がどんなカードを揃えて、どんなカードの使い方をしているか、知らないといけない。

 最初の立ち上げ時にコードをずっと書いているのは正しいと思う一方で、しかしある時点で、自分たちのカードを増やすためにはどうすればいいのか、ということを割としっかりと考えないといけないのではないのかなという気はしている。特にこのIT業界はドックイヤーというのはさんざん言われる話だ。もちろん、身の丈にあった技術を選ぶ必要はあるし、最新の技術を追いかけていることが偉いというわけではない。だが、他のエンジニアたちがどういう実践をしているのか、あるいはどういう失敗があるのか、ということについては、耳を傾けないといけない気がする。

 なものだから、あえて言うけれども、「やみくもにコードを書きなさい」というのが常態化してしまうと、切れるカードが段々となくなってきてしまう。ある時点で言わなければならないのは「やみくもにコードを書くな」ということであり、「他のエンジニアがどういうことをしているのかを知ったり、見たりする余裕を持たせたり、促したり、場合によってはそういう場をセッティングする(ここまではさすがに厳しかもいれない)」なのではないかと思う。そういう、自分たちがやっていることはもっと上手く出来ないか、改善の余地がないか考えていく必要があるのではないかなという気はしている。

 とはいえ、こういうことは「そうしろ」と言っても、なかなか面倒くさい。自分自身も、根っこのところは怠惰だし、本音のところを言えば、家に帰ってSteamでゲームやっていたいと思う人間だし、だからモチベーションを出して出来るだけカンファレンスに行こうと頑張っているのだけれども、なかなか難しい。また、リリース間際であったり、ちょっとプロジェクトが炎上ぎみで厳しい状態だと、そうも言っていられないだろう。

 とはいえ、そういう個々の怠惰さ、あるいは状況の優先度はおいておくとして、トップが技術に対して無関心であったり、あるいは「それよりも機能」みたいにつっついていると、勉強する気もなくなるだろうし、エンジニアが勉強する気が無くなると、まわりまわって、全体的に良くない雰囲気になるのかなあ、なんて考えたりしている。

 あとは、以外にこういう情報って何処に行けば手に入るのかわからなかったりする。自分は闇雲に検索しまくったり、Amazonの本を検索したり、あるいはいろんなプログラミング言語コミュニティーをウォッチしたりしているから、たまに引っかかったりするんだけど、そんなこと出来る人(暇人)がすべてではないし、そうではない人にとっては、なかなか難しくて、その辺が自然に共有されるスペースなんていうのも、今後の課題になるのだろうと思う。

 消極的な意見だけれど、一人が技術について面白がったり、出来るだけ色々な話題を共有できる土壌があり、トップもそれに好感があると、良い雰囲気になるのかなという気がしている。

 自分もまだまだ未熟者なので、どんどんいろんなエンジニアの人達と話をして、いろんなプラクティスを吸収したいと思う。