Goのcontext.Contextに入れる値をリクエストスコープに限る理由

こんにちは!
京都開発本部テクニカルアーキテクトグループの櫻(@ysakura_)です。
クラウド会計Plusの性能問題の解決を担当しています。

先日Goの開発をしていて、 context.Contextに入れる値をリクエストスコープに限るべき理由をパッと説明できない事がありました。
そこで、自分なりの意見を纏めてみました。

 

はじめに

contextパッケージのコメントによると、Contextに入れる値はリクエストスコープなものに限るべきとされています。

// Use context Values only for request-scoped data that transits processes and
// APIs, not for passing optional parameters to functions.

contextの値は、プロセスやAPIを通過するリクエストスコープなデータに限って使ってください。
関数にオプショナルなパラメータを渡す目的で使うべきではありません。

 

Contextに入れる値を限定するべき背景

大きな理由として、ContextにおけるValueの扱いが難しい事が挙げられます。
Contextを使う必要がなければ、グローバル変数や構造体で値を持つ方が良いです。
扱いが難しい点に関して、以下の2点を取り上げます。

  • Valueの型がinterface{}である事
  • 推奨されるValueへのアクセス方法

 

Valueの型がinterface{}

ContextにはKey-Valueの形式で値を入れる必要があります。
その際の型は、空のインターフェース(interface{})になります。

続きを読む

社内で短期留学してきました!

こんにちは。マネーフォワード京都開発部の伊藤です。

京都開発拠点では技術力の違うチームへの短期留学ができないか計画しています。

先日の『マネーフォワード京都拠点について気になる事』で紹介していた『社内短期留学制度』が始まりまして、早速活用してみました。

とても良い体験だったのでレポートしたいと思います。

 

社内短期留学制度

特定タスクをテーマに公募が行われ、別チームのメンバーが応募できます。

現在所属するチームから異動することなく、他チームにタスクベースでジョインできる制度です。

誰でも応募できて、留学の期間なども前もって設定されます。

 

テクニカルアーキテクトグループへ留学 ~ Docker, AWS に触れて~

京都開発拠点はメンバーが増えており、複数のチームがあります。
今回は、私が所属する『会計Plus開発チーム』から『KTA(京都開発本部 テクニカルアーキテクトグループ)』に短期留学しました。

続きを読む

京都拠点でRailsのフルリモートなスクラム開発をした知見

こんにちは!
マネーフォワード京都開発拠点の井上(@ino_dev)です。

マネーフォワードさんの中では現状比較的珍しく(?)、業務委託のメンバーとして、2019年12月頃から開発をお手伝いさせていただいております。
今日はそんな自分の立場から客観的に見て、いつもの京都拠点でのスクラム開発において、ここが良いなーというところなどをお話しできればと思っています。

 

目次

  1. マネーフォワードの京都拠点って何やってるの?
  2. 緊急事態宣言でフルリモートでのスクラム開発に
  3. リモートワークでのスクラム開発の知見
  4. リモートワークでの反省
  5. 京都拠点メンバーを大募集中だそうです

 

マネーフォワードの京都拠点って何やってるの?

京都拠点では主に、IPOを目指されている企業向けに内部統制を強化する機能を追加した「クラウド会計Plus」と言うサービスの開発を行っています。
他にもいくつかのプロジェクトが並行して動いていますが、スクラムでクラウド会計Plusの開発に携わっているエンジニアメンバーが中心となっています。

続きを読む

学習をフォワードする取り組み 〜 京都拠点〜

京都開発拠点所属 マネーフォワード会計Plusチームの @luccafortです。
最近 TypeScript Deep Dive を朝会で読んでいるのですが大変面白いですね、JS苦手だー!というかたにもオススメです。

さて今日はぼくがマネーフォワードに入ってから享受してきたさまざまな「学習をフォワードする取り組み」をご紹介しようと思います。

マネーフォワードにはいろいろな学習を加速させる仕組みや取り組みがあって大変ハッピーなのでエンジニアブログで世間にオープンにすることで「マネーフォワードいいじゃん!」とか「マネーフォワードよさそう!」という流れに繋がってほしいと思ってます。

あわよくばそれで京都拠点の採用応募や採用者にインパクトしてめっちゃ優秀なエンジニアや優秀な若手エンジニアと働けたら最高!!!っていう邪な気持ちで書いています。

|д゚)チラッ

|д゚)……オマチシテマス

|彡サッ

 

地方におけるエンジニアの学習コストは高い

東京にいると毎日のように何かしらの勉強会やカンファレンス、イベントが溢れており自分から情報を取りにいかなくても自動的に大量の情報がインプットされやすいという特殊な状態があります。

ところが地方にはそもそもの分母が東京よりも少ないため、勉強会やそれらのイベントの数も比例して少なくなります。
京都と東京でいうと人口差はおおよそ10分の1なのでそもそもエンジニア・デザイナーの数も推して知るべしというところです。

続きを読む

マネーフォワードCTOが考えていること(2020年6月)

こんにちは、マネーフォワード CTOの中出(なかで)です。

CTOの私が、普段「なにを感じて、どんなことを考えているか」について、社内へ四半期に一回共有している内容を一部編集し、エンジニアブログに公開したいと思います。

前回はこちら : マネーフォワードCTOが考えていること(2020年3月)

目次

  • コロナ禍のマネーフォワードの取り組み
  • 不可逆な社会の変化
  • デジタライゼーションの推進
  • さらなるエンジニアリングへの要求
  • 私たちのチャレンジ

 

コロナ禍のマネーフォワードの取り組み

新型コロナウイルス感染症(以下、コロナ)の感染拡大により、人々の生活や働き方が大きく変わりました。

私自身これまで40年以上生きてきましたが、こんなに世の中が急激に様変わりした経験はありませんでした。

幸いなことに、マネーフォワードは現在のところ、大きな影響を受けていません。

マネーフォワードのメンバーは、多少の不便こそあれど、「生活が困窮する」「明日からどうやって生きていけば良いかわからない」といった状況にはなっていません。それ自体は、こんな状況下においても有難いことだと思っています。

「自分や家族、会社の同僚たちの被害がそこまで大きくない」「リモートワークは快適で、むしろ今までよりも生産性が上がった」

ポジティブなこともあるかもしれません。

続きを読む

マネーフォワード京都拠点について気になる事

 

こんにちは。
マネーフォワード京都拠点の村上です。

京都拠点は設立から1年とちょっとが経ちました。

そして、京都拠点のホームページもOpenしました!!!!
https://kyoto.moneyforward.com/

1年間で沢山の方から応募がありました。1年間で多くの方とカジュアル面談をしてきました。
何人も話をしていると、気になる点に共通点があると思ったので今日はそれを書こうと思います。

「面談で聞くなよ!」と言うわけではなくて、面談の限られた時間の中でより深く、書けば伝わる程度の事は先に書いておいた方が濃密な面談を過ごして、ミスマッチを減らす助力になるのではないか?と思ったからです。
ぜひ自分自身に合う環境なのか?見てみてください。

今回は主にweb開発チーム向けのコンテンツです。
MLは一部違うので沢山応募がきたら書こうかなと思います。

(2020年5月1日時点の情報です)

拠点の話

なぜ立ち上げたか、そして何処へ向かうのか

まずは、こちらを読んでみて欲しいです!

はじめまして! 京都開発拠点 | Money Forward Engineers’ Blog

インタビュー形式でもお答えしたことがあります。
京都開発拠点の設立メンバーに聞く、立ち上げの経緯と今後の展望について | MoneyForward’s ROOM

続きを読む

如何にしてわたしはマネーフォワードの一員になったのか

TL;DR

こんにちは。
2020年1月から マネーフォワード 京都開発拠点で働いています luccafort です。

本日は、ぼくがマネーフォワードに入社してから3ヶ月経ち、試用期間という禊を終えたいまだからこそ書けることをしっかりと足跡として残しておきたいな、と感じたので筆を取らせてもらいました。

どうやってマネーフォワードを知ったのか。
どうしてマネーフォワードで働きたいと感じたのか。
マネーフォワードに入る前と後でどう変わったか。
今後マネーフォワードでどうしていきたいか。

もしぼくが将来マネーフォワードを離れる日が来たときにこれを読んで

「良かったことをより良く出来たと胸を張れるか」
「課題と感じていた部分をちゃんとやりきったといえるのか」

ということを見極めれるとよいなという気持ちで書いています。

超大作ポエムなので読む人は心して読まねばならないことをお伝えしておきます。

 

長過ぎるのでまとめから

なんかいろいろあってマネーフォワードの文化や働く人と入社前から関われてハッピー!だった。
そんなハッピーな経験をしたのでマネーフォワードで働けるようになって嬉しく思ってる。
誠実な人が多くてぼくはいまハッピーです、いぇいっ!
マネーフォワードの京都開発拠点、めっちゃいいところなので遊びにきてくれよな!

続きを読む

AndroidアプリのAndroidバージョンサポート基準を定めました

こんにちは、Androidエンジニアの syarihu です。

当社が提供するお金の見える化アプリ「マネーフォワード ME」のAndroidアプリ版では、2020年4月下旬にリリースのバージョン13.2.0からAndroidの最低動作バージョンをAndroid 6.0(API Level 23)にすることになりました。
対象のAndroid OSでAndroidアプリ版「マネーフォワード ME」を利用してくださっているユーザー様には重要なお知らせとしてすでに表示されていますが、今後はAndroid 6.0以上の端末にのみ最新のアップデートが配信されます。

今回のマネーフォワード MEの最低動作バージョンの引き上げを機に、当社で提供するAndroidアプリについてminSdkVersion(サポートするAndroid OSの最低バージョン)とtargetSdkVersion(アプリのターゲットとなるAndroid OSのバージョン)を判断する際の基準を社内で統一しました。

Android OSは毎年アップデートされるため、バージョンが増えるごとにサポートコストが増していきます。
AOSP(Android Open Source Project)によるAndroid OSのサポート(セキュリティアップデートなども含む)も古いAndroid OSには提供されません。
minSdkVersionを古いままにしておくことはセキュリティ面においても良くないため、minSdkVersionは定期的な見直しが必要だと考えています。
また、新規でAndroidアプリを提供する場合もこういったAndroid OSのサポート基準が定められていることでminSdkVersionを決めやすいため、そういった目的から今回Androidバージョンのサポート基準を定めることにしました。

minSdkVersionを上げることはプロダクトの利用ユーザーによって影響が異なるため、minSdkVersionを揃えるのではなく見直しをするタイミングや観点などの基準を揃えるだけにとどめて、実際に引き上げを行う判断は各プロダクトに任せるというスタイルをとりました。
会社全体で基準を揃えることで、引き上げを行った際に調査した内容などを知見として溜めておくことができたり、社内のAndroidエンジニア間で連携をとることが容易になるため、こういった基準を定めることは大きなメリットがあります。

本記事では、当社で定めたAndroidアプリのAndroidバージョンサポート基準についてご紹介します。

続きを読む

マネーフォワードCTOが考えていること(2020年3月)

こんにちは、マネーフォワード CTOの中出(なかで)です。

CTOの私が普段なにを感じて、どんなことを考えているかを、改めて言語化して、社内に共有するという取り組みをしています。
そうしたところ「当社のエンジニア組織に興味を持っている方にも読んでいただくのがいいのでは?」という社内の意見もあり、今回公開することにしました。

もちろん、日々考えていることは変化しているので、今後は四半期に一度ぐらいの頻度で、変更があれば更新していきます。
※公開用として、社内向けの内容を一部編集しております。

 

これからのマネーフォワードのエンジニア組織について

まず、マネーフォワードのエンジニア組織として「どこを目指すのか」という話をしたいと思います。

もちろんビジネスには「やれる・やれない」という議論も必要ですが、まずは私たちが「どこを目指すのか」という意志が必要です。

そして、「どこを目指すのか」を決めた時点で、どこまで到達できるかが決まると思っています。そのため、まずはその話をさせてください。

私たちよりも前を進んでいるIntuitという企業

海外には、先行して私たちと同じようなサービスを展開している企業があります。
その1つとして挙げられるのがアメリカのIntuitという企業です。

Intuitの社内にはJavaの開発者がいたり、ハーバードやスタンフォードのPhDがたくさんいます。

私たちよりも前を進んでいるプレイヤーに追いつくためにはどうしなければならないかを考えるときに、社内で働く人材の優秀さで追いつくことは最重要です。

もちろん一足飛びには出来ないですし、今はそれを口にするのもおこがましいのかも知れない。しかしそういう目線を持ち続け、それに向かって少しずつでも前に進めていくことが必要だと思っています。

会社のMission/Vision/Value/Cultureが魅力的であることはもちろんですが、待遇しかり、やりがいのあるチャレンジや自主性の発揮しやすさ、働きやすさなど総合的に魅力を向上させないといけないと考えています。

続きを読む

DroidKaigi 2020に登壇する予定でした & 登壇動画公開のお知らせ

こんにちは。
Androidアプリエンジニアのsyarihuです。

2020年2月20日、21日に開催が予定されていたDroidKaigi 2020ですが、昨今の状況により残念ながら開催中止となってしまいました。

中止になった経緯などについては、DroidKaigi 2020の開催予定だった初日の2020年2月20日に日高さんを始めとする理事の方々からライブ配信にて説明がありました。
まだご覧になっていない方はぜひ見ていただけるとよいと思います。

ライブ配信のあと、DroidKaigiスタッフの皆さまのご尽力があったおかげで、登壇予定だったスピーカーは任意で動画を撮影し、撮影した動画をDroidKaigi公式のYouTubeチャンネルで公開していただけるというアナウンスがありました。

DroidKaigi 2020にて登壇予定だった私は登壇動画を撮影していただくことにしました。
そして、2020年3月16日 14時からDroidKaigi公式のYouTubeチャンネルにてプレミア公開で登壇動画を公開していただいたのでここでお知らせします。

続きを読む