だいごろうのブログ

熊本出身で大阪、東京、パリを転勤して、今は福岡でデータエンジニアです

パリで働いて感じたこと 第3話 コードの成長と成り立ちの巻

へろう( ・∀・)ノ

1ヶ月と半をブログの更新をしてなかった。
それは、毎日をエンジョイしすぎてたからである。
「ブログを更新するのめんどくせーな」ではなく、
ブログを持ってることを軽く忘れてた(オイw

っとまぁ、そんなこと、前置きは置いといて。

今日は、

コードの成長と成り立ち

について、感じたことを書きなぐる。

コードを読んだ感じ

今、見ているソースコードはかなりレガシーですw
そして、感じることはソースコード全体が、
ちょっとずれたパズルで構成されているようになっていて、
そのピース一つ一つから、各人の個性が伺えます。
同じ人が作ったピースはぴったり合うのだけれど、
他の人が作ったピースとは、(書いた人の技量次第だが)なんか、ズレがある感じ。
部分的には、かなりテクニカルだけど、部分的にはドン臭い感じ。

なぜ、そーなったかを考察してみた

簡単に、思ったことを箇条書すると

  • フランスの開発者は1-2年くらいで転職しちゃう。
    • だから、あまり、コードの運用のことを重視しない
    • もちろん、そうでもない人もいる。(超重要な人
    • なので、運用しやすいより、動くことだけを大事にする人が多い。
  • 開発に、新しいテクニカルなことを導入したがる人が多い。
    • 既存のコードとの組み合わせは無理やり。動けばOK
    • 1,2年ペースで新しいことがどんどんコードに足される
  • リーダーがやめたら、外から保管することが多い
    • 気のせいかもしれない。
    • でも、リーダーが変われば、方針が変わる。
    • 1,2年ペースで変われば、そりゃコードも荒れる。
    • ノウハウの衰退化。

ッて感じなのかなっと。

6ヶ月しかいない自分にできること

ってなんだろうな。
短期的な解決策としては

  • "今"のメンバーの意識を、ちょっとだけでも変える。
  • レビューを導入する。レビューでなにをするか伝える。
  • そのための時間を確保する。
  • 不要なコードを消す。

長期的だとこんなんかな。

  • もっとマクロサービス的に考えて、ちぐはぐなのを容認する(できる)システムを構築する。
  • ほげほげ

くらいかなー。
あー、なんか真面目だな。
もっと、不真面目で面白いことできないかな。

結局思うことは、意外とこれでもサービスは回ってるし、どうにかなってんだよね。
これはこれで、ひとつの開発のあり方なのか?
でも、こういうのって、確実にサービス成長を鈍足化させてるから、
やっぱり問題だな(´・ω・`)

結果、0から全部作り直したいになるんだよな(悪い癖(((((((((((っ・ω・)っ

まとめ

フランスで食べるパスタはそんなに美味しくない。
つまり、ソースコードはスパゲッティってことだ。

どうでもいい、後付

なので、最後に、先日作った
ポルチーニドライトマトの和風パスタの写真を置いておきます。
ポルチーニドライトマトが安すぎて、なけます。日本で作ったら、材料費だけで死ねます。
別に、料理を自慢したわけじゃないんだから!!(/ω・\)チラッ
f:id:daigorowhite:20150524194559j:plain

パリで働いて感じたこと 第2話 前進アルノミの巻

ぼんじゅーる!
全然フランス語が身につかない男で定評のあるだいごろうです。
もはや、発音が違いすぎて土地の名前すら分かってもらえません。

さて、1ヶ月目にして2話目です。
亀よりも遅いと自負しています。

今回は、わりとお仕事についてです。
さて今日は、こっちのコミット意識について、お話していきたいと思います。
(プログラムのバージョン管理系の話になるので、何だそれってなる人は、このページをそっとじしてね(((((((((((っ・ω・)っ )

ちなみに、今からするお話は、
僕の現場のお話なので、フランスの開発がこうだとは限りません。

日本にいた時は、

共通で開発しているブランチで作業をしているとします。
じゃあ、開発するかってなったら、

  • そこからブランチを切ったりして、ローカル環境を構築して
  • 自分の作業が完了して、テストが通るようになって、
  • ある程度動くことを確認してから、コミット、(レビューしたり)
  • みんなの作業ブランチにマージ

ッて感じで、

全員の共通のブランチは、基本安定させる
な感じで、開発進めていきますよね?

今の現場だと

じゃあ、開発するかってなったら、

  • そこからブランチをクローンして、ローカル環境を構築して
  • 自分の作業が完了して
  • とりあえずコミット、マージ、プッシュ
  • jenkins先生が怒る
  • 「だれのコミットだー」って感じで犯人探し、
  • 「おれだー、治すわー」
  • なんとなく修正したら、コミット
  • 上記を0回以上繰り返す。

って、感じで、
前進あるのみ、バグったら修正したらいいじゃんッ。
て感じ。

なんか、こういう文化は、けっこう個人主義があるからのような気がしています。
さくさくと自分のタスクを終わらせて、次々に進めていきたいという、ベンチャー基質な感じがあるのかもしれません。

なので、所感的には

最新版にして、実行しよう!ってすると、けっこう起動すらしないことが多い。
スピードは大事だけど、さすがに、一度くらいは実行してみてほしいと思うっす。
まぁ、全員でひとつのブランチでわっしゃーって開発するから、
協力プレイで強大なボス倒してるみたいで意外と面白いんですがw

では、最後に

モンマルトルの丘から見る、パリの町並みで今回のブログは締めたいと思います。
さよなら、さよなら、さよなら
f:id:daigorowhite:20150404073030j:plain

パリで働いて感じたこと 第1話 異文化の巻

こんばんは!ぼんじゅーる!
今日からひと時の間、ブログはパリ編に入ります。
理由は単純、今、パリでプログラマとして働いてるからです。
そこで感じたこと、思ったことを徒然と書いていきます。

正直

英語で仕事をしたことないんですが、
職場は英語とフランス語を使っております。
毎日の脳の疲れが半端ないですw

最初の1週間

正直、最初の1週間は相手が英語で何を行ってるかさっぱりです。
うちのチーム5カ国くらいの人たちが集まってまして、
みんな少しずつ英語の発音が違うんですよね。
たとえば、

  • currently

は日本人の僕は、

  • カレントリィ

フランス人は

  • キュレントゥリィー

って、感じで、いろいろな単語がずれて攻め込んできます!w
ワット!!?? って感じですねw

それに、それぞれ、イロイロな文化が違うのでみんなとどうコミュニケーションを取ればいいのか、手探り状態で疲労困憊の1週目でした。

2週目は

人って、意外と慣れるもので、相手が英語で何と言ってるか発音がずれてもわかるようになってきますね。それでも、長文になるとわからないことは多いんですが。
でも、些細な聞き取りミスで失敗します。たとえば

  • won't (〜しないつもり)

  • want (〜したい)

に聞き間違えたりします。これも、慣れなのかなー。ちゃんと聞き分けられるようになりたい!

異文化だらけ

そんで、初めてこんなに多くの文化圏の人と関わるし、心配したり
気を使ってたりとか考えていたら、
フランス人のチームリーダーに
「そんなに気にすることはない、文化とか言語の違いを楽しめばいいんだよ」
と教えられました。
( ゚д゚)ハッ!ソウカ,ソウカンガエレバイイノカ っと。
しかしそこで、新しい疑問が。
「僕らの違いとはなんだろう」「そもそも自分の文化ってなんだろうと。」「日本の文化、習慣ってなんだろうと。」
あ、意外と、自分のことも、自分の国の文化のことも正しく理解してないなと。
今、僕は異国にいることで、自分と自分の国のことを再認識する機会になりそうな気がしてきた!

っというところで、本日のブログはおしまい。
また、暇な時にボケーッと更新していきます。
それでは、また!

TO BE CONTINUED

ガウディから約半年たった。

今日はエンジニア関係の話です。
1ヶ月ぶりのブログで、自分の3日坊主っぷりに安心してます。

さて

ガウディの思想というタイトルを付属して発表させていただいてから、
約半年がたちました。
現場のコード意識を変えるために導入したリーダブルコードとガウディの思想 - DevLove甲子園2014技 -

開発のチーム内で、「設計思想」を大事にすることを意識して仕事をしていて
なんか、うまく回ってるなって思ったことがあったので、ちょっと書きます。

トライしてたこと

  • まずは、設計前にどういう思想で設計するか話し合う。
  • 設計のときに、why -> how -> what の順番で考える。
  • ちゃんと、Whyの共通認識をチームで持つ。あと、コードに書く。

最近、うまく回ってきたなって実感したこと

自分がいない場所で、開発メンバーが実装について話しているときに
「思想的に、ここの設計はこういうじゃなくて」
みたいな会話が聞こえてきて、
「自分がいなくても大丈夫そうだな」って思いました。


この流れが続いてけば、最初の開発者がいなくても
このプロダクトがうまく開発されていくんだろうなぁ


そんだけ!お疲れました!

越境について〜固定概念からの越境〜

DevLoveのAdvent Calendar越境の1月17日(土)記事を書かせていただきたいと思います。
DevLOVE Advent Calendar 2014 「越境」 - DevLOVE | Doorkeeper
このテーマは「(自分にとっての)越境」です。
長文失礼。

越境

今回、僕が話す越境は「固定概念からの越境」です。

名言から考える「越境」

本当に強い者とは どういうものかがわかるのは・・・ 本当に強い者になったときじゃ
by バガボンド 胤栄

はい。僕の大好きな井上雄彦さんの漫画バガボンドより引用させていただきました。

まさに、(僕の中で)越境とはコレだと思います。越境したことは越境したことがある人にしかわからないし、それを言葉にしたところで、してない人にはほとんどが絵本の中のお伽話を聞いてるような状態です。越境話とはそういうことではないでしょうか。
それに、越境とはやるまで上手くいくかもわからないものです。それでも、模索しながら考えて行動することが、越境の一歩ではないでしょうか。少なくとも僕は、そう思います。だから、自分の越境に「どう考えてるか」と「どう至ったか」をココに記します。

固定概念からの越境について考えたこと。

僕が大事だと思うことが2つあります。
「気付き」と「活かす」です。
そして、避けることとして
「決めつけること」です。

「気付き」

まず、日常からアンテナを張り気付くことが大事だと思います。
気づきと知見なければ、アイディアにはつながりません。
僕が知るかぎりだと、面白いと思う芸人は日常であった面白いことに気付くのが上手いですし。世の中に普及しているwebサービスは、日常からの気付きから生まれた物もあるかと思います。
日常から周りに、小さなことでも面白いことはないか。にアンテナを貼ることから始まると思います。

「活かす」

そして次に、この気付き活かすということを考えます。
「この前したゲームの内容って、意外と仕事で活かせるんじゃない?」
「この前読んだ映画評論の雑誌って、今度のプレゼンで使えそうだな」
って言うことを、クロスして考えることが大事かなと。
今まで、「やってきた」やり方ではなく、いま「一番面白いとか、人のためになるとかの」やり方をいろんな分野の気付きから取り入れること。
「万物は全て一つにつながっている」っていうことです(大袈裟だけど)。

「決めつけること」

そして、できるだけ避けるたいことは、決めつけることです。
「あいつ(おれ)には無理だよ。」
「この仕事は、コレが精一杯だ。」
「この分野ではコレが定石。」
こういう固定概念が大事な可能性を否定してます。ただ、固定概念は判断を早くし、効率性を上げると思っています。なので、ここは仕事の場合はバランスが大事。
だから、僕の場合は特にプライベートで何かするときには、固定概念を壊せないかと考えています(←人と同じことをするのが嫌いなあまのじゃくなんです。)

結局どういうこと?

つまり、「現状の概念」を覆すために
いろいろな分野でアンテナを張り「気付き」、それを「活かし」、
より良い考えを創造することが、
僕の考える固定概念からの越境です。
大事なことは、
「その分野のことはその分野にしか答えがない」
と決め付けないことです。そして、恐れずに分野の概念を超えることです。

越境したこと

「でるんだったら、DevLove甲子園で1位とります。」っと言った時、沢山の人が僕のことを冗談だと思ったと思います。正直、正しい評価だと思います。だって、僕は今まで1度も外部発表したことありません笑。あぁ、なんか、この評価を覆せないかなとあまのじゃく的に考えてました。
そこで、どうやってインパクトを残すかを考え、至った答えは「僕の気づき活かし、みんなが楽しめ印象に残るエンターテイメントなプレゼン」です。

固定概念の越境の一歩

まず、テーマを一番みんなが共通して楽しんでくれるであろう(僕の好きな)プログラミングにしました(技術者向けの発表なので)。しかし、それだけだと面白く無いので、僕がガウディの建築が、今の僕達がやっている開発に通じているのでは?という、普段読んでいる雑誌から得た気付き活かしているということを題材にすることにしました。
現場のコード意識を変えるために導入したリーダブルコードとガウディの思想 - DevLove甲子園2014技 -

そして、プレゼン自体には、普通だとありえない野次機能を取り入れました。
これには2つの気づきがありました。

  1. 甲子園って客もいないと成り立たないよね
  2. 会社でプレゼンするときに、少人数で観客から会話が飛ぶほうが楽しいよね。

そこから、自問自答です。
「なんか、野次も声援もない甲子園なんて面白くないよね。」
「じゃあ、お客さんから野次とかを飛ばしてもらおう。」
「一番手軽なのは何かな?twitterだ!」
っということで、twitterにつぶやいたことが、画面に表示される。野次機能を作成しました。
DevLove甲子園で使った野次機能を公開しました! - だいごろうのブログ


あとは、これが成功するかどうかは全然わかないので、自信を持って、チャレンジするだけですね。今回大事なのは、コレを通して、僕が2つの越境の一歩を表現したことだと思います。

  • プログラミングにガウディの考えは活かせるかもしれない。
  • 登壇は発表者のみでやるより、観客も参加したほうが面白い。

締め名言

最後に、もう一つ、大事にしている名ぼやきがありまして、このぼやきで締めていきたいと思います。

先入観は罪、偏見は悪
初めの勝ちは、嘘の勝ち
by 野村克也

まとめ

今回、僕が題材としたのは固定概念からの越境です。
越境するために大事なことは、日常から気付き、それをどう活かすか考え、その世界で決められている(かのうような)固定概念を超えて行くこと。
そして、「その分野のことはその分野にしか答えがない」と決め付けないことです。そして、恐れずに分野の概念を超えることです。

本当に強い者とは どういうものかがわかるのは・・・ 本当に強い者になったときじゃ
by バガボンド 胤栄

そもそも、まずは、気付きもなければ、活かせることもありません。ファーストステップに立つために気づきのアンテナを広げましょう。
そして、それを活かして、今までの概念を壊してみましょう。
最後に強い者(越境したか)になれたのか、振り返ってみましょう。
やらないと、そもそもファーストステップにすら立てません。

先入観は罪、偏見は悪
初めの勝ちは、嘘の勝ち
by 野村克也

そして、越境したなと思ったら、それは先入観になるので、
「この越境も素晴らしい1つの気づきだったな」
くらいに抑えて、また、新しい気付きを探していきましょう。

そうやって、世の中の固定概念にどんどん越境がたくさん起きて、
様々な分野がもっと面白くなっていけばいいなと思います。

次回予告

1月18日(日) 新井 剛(2)さんですね!よろしくお願いしますー

1月24日(土) - 1月30日(金) 新井 剛
が気になるところです。もはや、これがひとつの越境なのでは?と(; ・`д・´)カンジマシタ。

今年の抱負@2015version

明けましておめでとうございます。
3連休ですね。暇です。予定なしです。
というところで、今年の抱負を考えてました。

早速ですが今年の抱負はコレです。

(仕事において)選択と集中

昨年の目標が「アウトプット」という年で、がむしゃらにイロイロと挑戦してきましたが。今年は、「やること」と「やらないこと」をちゃんと分けて行動していきたいと思います。特に、僕はあんまり、物事を決めるっていうのが上手くないタイプなので、そこらへんをきちんと決めれるように成れればいいなと思っています。そんで、決めたことに集中して行動していきたいです。


あと、

(プライベートで)予定を組んで脱引き篭もり

サブターゲットってところで、ちゃんと人と会う予定を入れるようにしようと思ってます。
土日は家でボケーッとしてることが多いので、ちゃんと外に出ようと思いました。

ではでは、今年もよろしくお願い致します。

2014総まとめ

もうすぐ2014年も締めくくりですね。
最後に風邪を引きまして、布団の中で死んでおります。なので、頭働かないので書きなぐります。

目標

さて、2014の3月に考えた今年も目標が

  • 失敗してもいいから、アウトプット
  • 彼女を作る(笑

でした。

結果

  • DevLove甲子園で登壇

  • 野次機能


  • このブログを始めれた。
  • 彼女?なにそれ、美味しいの?

インスパイアー受けた系

TED動画


  • 関西で僕の発表中に(本気の)野次を飛ばす素晴らしい先輩方
  • 一緒に登壇させていただいた、最高のライバルの方々(DevLove)
  • おやじ、おかん、おい、めい、あね、あに
  • ガウディ

イロイロと考え事中に聞いた曲

まとめ

今年は、本当に新しいもの・人とたくさん会う年だったなと。社外の人とたくさん知り合えた。また、お酒でも行きたい。
でも、プライベートでたくさんプログラムを書くという事はできなかったので、もっと時間取らないと行けないなと。
まぁ、時間というものは有限でそのリソースの中で自分のできるようになりたいことをやり、やらないことを決めていくっていうことをしっかり考えるいい1年でした。

では、また、来年!さよなら、さよなら、さよなら!