リモートワーク制度_とある社員の1日

リモートワーク制度_とある社員の1日

新型コロナウィルスの感染拡大によりわたしたちの生活や働き方は大きく変わり、この経験は、今後の働き方を考えるきっかけになりました。

そして、わたしたちアットウェアSIカンパニー(※1)では、このコロナ禍の経験を活かし、選択的全国世帯でのリモートワーク制度を導入することにしました。

この制度は、各自が自らの意思・責任で、勤務場所(オフィス/自宅)・居住地を選択し、自分らしく働ける働き方を実現するための制度です。もちろん、 一切出社しなくていい制度ではなく、組織活動に必要な場合はオフィスへ出勤することもあります 。

~期待する効果~

  • 1人ひとりが自分らしく働く

    • 自分がパフォーマンスを発揮できる方法を選択できる

    • 幸せ・笑顔につながる

    • 自分の時間計測できる

    • 通勤のストレスから開放される

    • お互いの思いやりがUPする

  • 多様性のある働き方ができる

    • ライフステージに合わせて柔軟に働ける

    • 家族との時間を確保しやすくなる

  • 場所によらず素敵な仲間と仕事ができる

    • 全国採用が可能になる

    • 自己都合で引っ越す場合にも仕事を継続できる

この制度を利用して、居住地を変更した社員のインタビュー と 社員の日常 を2回にわけてご紹介いたします。

※1アットウェアでは、2021年12月よりカンパニー制を導入しています

とある社員の1日

今回は社員数名の日々の過ごし方ををご紹介させていただきます。

◆近隣在住者のケース

  • 勤務形態:基本リモート

  • 出社頻度:週1回

  • 出社する主な理由:運動

  • 居住地:横浜市内、会社まで電車&徒歩で30分

  • 2020年1月中途入社(業界歴20年)

  • 趣味:釣り、ゲーム、猫

基本の週予定(主な作業のみ)

※WG(ワーキンググループ):採用・評価・ブランディングなどの組織活動をグループで行っています

基本の1日

リモートでも出勤する日でも、1日の流れは変わりません

◆遠隔地在住者のケース1

  • 勤務形態:基本リモート

  • 出社頻度:月1

  • 出社する主な理由:プロジェクト定例

  • 居住地:中部地方、会社まで2~3時間

  • 2021年5月中途入社(業界歴6年)

  • 趣味:ちょっとヨガ

出勤がある週の予定(主な作業)

基本の1日

出勤する日の1日

◆遠隔地在住者のケース2

  • 勤務形態:基本リモート

  • 出社頻度:半年に一回

  • 出社する主な理由:GMDay

  • 居住地: 関西 会社まで 5~6時間

  • 2021年5月中途入社(業界歴3年)

  • 趣味:サーフィン・写真・キャンプ

※ GMday:半年毎に開催するアットウェア全社のイベント

大体の週予定(主な作業)

基本の1日

22年新卒研修を終えて

22年新卒研修を終えて

初めに

こんにちは。22年新卒の岡本と申します!
22年新卒3名の研修が終わりを迎え、プロジェクトに参加していく時期となりました。
今回研修を終えてみて研修がどんなものだったのか、自分がどのように成長できたかを紹介していこうと思います。

 

今年度の研修の流れ

まずは今年度の研修の流れを紹介していこうと思います!研修は新卒メンバー3名と、研修サポーターの方々とのチームで行いました。研修の最初に研修サポーターの方々から研修の全体像や守ってほしいルール等、ガイドラインの説明がありました。そして、研修を続ける期間やどう進めていくかはほとんど自分達で決めることができました。とても自由だと思いませんか?しかし、そういった自由に伴う責任として、自分達はどういう姿になることを目標にして、それに向かってどうハイペースで進んでいくかという内容を決める必要がありました。研修で何をするか、どういうふうに進めていくのか、いつまでにどうなっていたいのかを自分達で強くイメージして計画を立てることができたので成長の速度が自分の想像よりとても早かったと感じます。

 

今年度の研修の内容

研修の内容は、ソフトスキルとハードスキルという2つの側面がありました。皆さんはソフトスキルとハードスキルという言葉を聞いたことがありますか?私はありませんでした。ハードスキルというのは専門的知識、すなわちプログラミングのスキルやツールの使い方などを指します。一方ソフトスキルというのは、もっと汎用的なスキルです。例えば主体性やコミュニケーションスキル、仕事をする上での心構えなどを身につけることです。

まず最初に、ソフトスキル研修を行いました。活動の一つとしてアットウェアの歴史や現在取り組んでいることなどについて調べました。自分達で社員の方々にアポイントをとって調べていき、自分達から行動して結果を得るための主体性や、さまざまな制度や現在の活動内容、組織構造、それらができた経緯などの組織で活動していくために必要な知識を身につけました。

同時に、7つの習慣という本を読み、社会人として自立して生きていくために重要な価値観や、チームでシナジーを生んで大きな成果を出すための考え方を学びました。この本に書いてあることはどれも自分の考え方を根本から変えてくれてくれるようなものばかりでした。社会通念に縛られていた自分が新しい考え方を身につけるまで3ヶ月もかかりましたが、仕事上だけでなく、人生を通して役に立つ考え方を身につけられたと思います。この本の内容を理解するために行った取り組みで特に印象に残っているのは、ミッションステートメントという人生の目標を立てるために行った「ミッションステートメント合宿」です。1泊2日の合宿を通して自分がどういう人間に成長していきたいのか、そのために何をする必要があるのかを深く考え人生の目標をたてました。今まで日々を流されて過ごしてきた自分にとって、日々を向上心を持って過ごしていくための軸ができたのがとても大きな成長だったと思います!

 

その後のハードスキル研修では、自分達でほぼ全てのカリキュラムを決めました。新卒メンバー3名で何をするのかを真剣に話し合い、実践に近い形でのプロダクト作りに挑戦しました。アットウェアで多く取り扱っているアジャイル開発に倣い、毎週プロダクトオーナー役の研修サポーターの方と今週どのような価値を生み出すことを目標にするのかを決めます。そしてどうやればその機能を実装できるのか、何を勉強する必要があるのかを細かく考え一週間分の計画を立てるのですが、知識のない状態で計画をたててその通りに実行するのはとても難しく、アジャイル開発の難しさを実感しました。私は今までwebアプリを作った経験がなく実業務への不安が大きかったのですが、研修サポーターの方々にフィードバックをもらいながら実践に近い形で開発をしていくことで自分に足りていない能力や経験が身について実業務に入るのが楽しみになりました。また、新卒メンバーでのチーム開発という形だったのですが、事前にソフトスキル研修があったおかげでチームメイトとのコミュニケーションや関係を大切にし、自分だけでなくお互いの成長を考えあえる研修にできたと思っています。

 

最後に

このブログでは、アットウェアの研修がどんなものだったかを振り返ると共に、自分がどのような成長ができたかを書いてきました。

まとめると、研修を通して自分はこのような成長ができたと感じています。

  • 自分から行動する主体性が身についた
  • 自立して生きていくために重要な価値観を学んだ
  • チームでシナジーを生んで大きな成果を出すための考え方を学んだ
  • 日々を向上心を持って過ごしていくための人生の目標を立てた
  • 実践に近い形のハードスキル研修で、技術的な能力や経験が身についた

アットウェアでの研修では開発に必要な技術だけでなく、自分のさまざまな価値観を変えて社会で生きていく上での能力やマインドセットを楽しく身につけられます。このブログを見てアットウェアに興味を持ってもらえたら幸いです!
私はこれから自分で配属希望を出したプロジェクトで活動をしていきますが、最後に研修後の活動への意気込みを書いて終わりにしたいと思います。
実業務はハードスキルの側面が強く、技術を身につけることにとらわれてしまいそうですが、ソフトスキル的な成長との両方を考えて人として成長していきたいと考えています。その一歩目として、プロジェクトで活動をしていく上でただ流されて活動するのではなく、自分にとっての価値、お客さんにとっての価値が何なのかを真剣に考えて取り組んでいきたいと思います。

yamoryという脆弱性管理サービスを社内に導入しました

yamoryという脆弱性管理サービスを社内に導入しました

アットウェアではシステム開発・運用業務をしていく中で、様々なツールやサービスを導入しています。 ここ数年かけてセキュリティ周りへのアプローチとして、脆弱性管理サービス「yamory」を新たに導入しましたので、どういう視点と取り組みで組織に浸透させていったかを紹介したいと思います。

本記事では2年かけてやった社内への導入編として紹介し、次の記事では実際にプロジェクトで適用した実践編をお届けします。

システム開発をやっていく中で持っていた課題感

システム開発をやっていると、設計手法・実装フレームワーク・マネージメントなど様々な分野でナレッジを活かしてゴールに向かっていくわけですが、ゴールというのは納品を指すのではなく、ファーストリリースも通過して、永続的に価値を発揮し続けられるシステムとチームを形成していくことにあります。

その中で運用という面で避けて通れないのが、セキュリティ対策です。 クラウドパタンのベストプラクティスや最新のライブラリを適用したとしても、時間の経過と共に脆弱性が発見されることは避けて通れません。

システムの多くはMavenやGradleなどで依存関係のライブラリを管理しており、記憶で覚えきれなくなるほどの数になります。

そういう中で、ライブラリのバージョンは機能追加により不定期でアップデートすることもあれば、重大な脆弱性が発見されたタイミングで上げることがあります。

重大な脆弱性が見つかったライブラリ以外についても、「影響度が少ないだろう」とバージョンアップを放置しておくと以下の2つの観点で問題になることが多いので、小まめにアップデートをしていくという方針を取っているプロジェクトチームが多いです。

  • セキュリティホールが重なっているライブラリが依存関係を拡大させビックバンアップデートとなってしまう
  • バージョンが古いライブラリは最新のバージョン(バージョン2つ飛ばしなど)にアップグレードできないことがある
    • リファクタリングの粋を超えどんどん手がつけにくくなる
    • アップデート作業にかける専用予算などを確保して工数の問題が発生しがち

次に、プロジェクト横断に関連する状況をご説明します。

弊社では利用している主要なフレームワークはありますが、プロジェクトチームによって最適なモノを選んでいるため、専任者として全プロジェクトの利用ライブラリを把握してアップデート計画を立て、対応していくという体制をとっていくのはコミュニケーションコストを含め現実的ではありません。 そうなると個別最適となり、各チームで(もしくは中の誰かが)公開されているCVEやIT情報記事をRSSで購読したり、SNSでキャッチした情報でチームごとに対応しています。チームごととはいっても、少しでも効率化や情報共有をしてお互いに助け合っていこうということで、技術・セキュリティを扱う社内チャットへ展開しナレッジ共有を図っていこうという取り組みを長年行ってきました。

しかしながら、全ての脆弱性を自発的(プル方式)に調べていると、作業の重複や抜け漏れが発生する可能性がありますし、人的リソースの使い方がベストエフォートな対応となり最適なリソース配分や時間の使い方ではない状態でした。

最近ではAmazon InspectorやGitHub Dependabotが出てきて、検知する仕組みを利用し、社内横断でナレッジを溜めたり、取り組みがしたいと考えていたところでした。

yamoryとの出会いと紹介

そういった課題感を持っている状況でyamoryというサービスが世に登場して、yamoryのプロダクトオーナーが弊社に以下のような問い合わせをしてくださいました。

「新規事業としてサイバーセキュリティソリューション「yamory」を立ち上げました。 サービスの品質向上に向けて、様々な企業様からお話をお伺いしたく考えております。 「yamory」のサービスについて電話・web会議・面談等でご意見をお伺いできますでしょうか。

これはいい機会だと思い、Webミーティングを開いてお話を聞かせていただくと、以下の機能があることがわかりました。

  • SaaSでサービスを提供しているがソースコードを預ける必要がない
    • 預ける情報は依存関係を示すpom.xmlなどのメタ情報だけでよい
    • ソースコードの管理を最小スコープのまま維持できる
  • 使っているライブラリの脆弱性をリアルタイム(日次やCIと連動)で検出できる
  • 攻撃方法や脆弱性の種類などレポート形式で表示
  • 危険性を段階わけして一覧化・対応するかどうかのステータス管理(トリアージ)ができる
  • 社内の複数チームで利用できる組織機能があり横断した脆弱性状況も把握できる

私達の課題感を解消してくれるツールになりえると感じ、またサービスが開始されて間もないということで、フィードバック&トライアルに参加させていただくことになりました。

会話の中では「こういう事ができたらいいな」という事を開発者とプロダクトオーナーの方と直接会話でディスカッションしながらニーズを伝えることができ、また自分たちのこともより明確に理解できて、いい場となりました。

社内への導入に向けて

何はともあれ実際に使ってみようということで、イメージしていた通りの検知の仕組みで、可視化とハンドリングのサイクルを回していけることがトライアル期間の利用の中でわかりました。

CIへの組み込みにあたっては特別なagentをインストールする必要がなく、「APIのエンドポイントにAPIキーをcurlコマンドで送信すればよい」というシンプルな仕組みで、導入の敷居がとても低かったです。

弊社が主に使っている言語サポートとしては、JVM上で動作するJavaやScalaを始めとする(mavenやgradleやsbt)とJava Script(npm)に対応しており実用に足る状態でした。ただ、トライアル時点ではPythonのpip対応の要望はあるがまだリリースできていないとのことでしたが、対応していく方向性ではあるということでしたので、カバー範囲として充分でした。

いくつかの商用サービスを開発しているプロジェクトチームに評価を協力してもらって、社内の幾つかのリポジトリにも適用してみました。

社内でのファーストインプレッション

全社的に最初の評価をして出たフィードバックは意外な反応でした。

それは「サービスのポテンシャルは高いものの、自分たちのチームがこのサービスを活かし切れる状況ではない」という意見が複数のチームからでたことです。

例えば、SIの案件としてプロジェクトチームが今までセキュリティ対策に対して取っていたアプローチや、顧客と共にマイルストーンを決めて保守開発をしているやり方、プロジェクトによってはファーストリリース前という段階というケースもありました。脆弱性対策は大事だということはわかっているが、シードステージで予算の比重のかけ方のバランスどりに影響するといった点です。

これは私達のフィッティングの問題で、話をよくよく聞いてみると「とはいったものの、ぜひ使ってみたい」という意見がほとんどでした。

いきなり全振りで今までのやり方を考慮せず切り替えるのではなく、ホップ・ステップ・ジャンプ(ふつうのことにしていく)が必要だなと感じて、いつでも辞めれる・強制はしない・関心を高める、といった、推進活動をベースにして導入戦略を立てていくことにしました。

初年度の導入指針

初年度はまずホップをしたいということで、以下の導入コンセプトを立てて行き渡らせることに注力しました。

自分たちが認識していない脆弱性や未来に発生しうる脆弱性にも対応できるように、
アットウェアとして「システム開発をする時にはこれくらいのことはやっているよ」
というレベルの底上げをしていきたい。

社内で年一回行っている全社セキュリティオリエンテーションでも、ひとつのテーマとして話題に触れ、あるべき論を押し付けないということも心がけて、以下のような導入指針をきめて普及を進めました。

  • チーム毎にどのアプリケーションをスキャン対象にするかなどはお任せします
  • すぐ絶対に脆弱性0にする必要はなく誰かに報告を義務付けるということはしません
  • 使いたいという人があればいつでも招待します

契約を結ぶ

トライアル期間の終了に際し、社内からの理解も得てこの取組をさらに推進していくことを決めて、それなりの金額で年間契約を結びました。(専任者を設けるよりは全然安い金額ですが)

契約に至るまでにyamoryの中の方と交流させていただいた中での印象も導入の意志決定に影響したので、幾つか紹介します。

  • 開発者やプロダクトオーナーと直接やりとりでプロダクトの方向性がイメージができた
  • マイルストーンとその意義を聞いた時にパワーをかけ方・優先度の付け方に共感した(将来性)
  • 「社内へ普及しSIという業態で適用する」という弊社の課題感を共有した時のディスカッションで会話のコンテキストレベルが合った
  • 社内への勉強会やデモなど協力を惜しまない姿勢
  • 不安に感じた点について問い合わせたところ真摯な対応で説明いただけた
  • ユーザの意見を大事にしつつプロダクトのビジョンと方向性がしっかりしていた

1年経って普及はできたのか?

できませんでした。

と書いてしまうと誤解を生んでしまうかもしれませんが、yamoryという言葉をちらほらと会話の中で聞くようになったり、社員が四半期ごとに立てている個人目標の中に「yamoryを導入する」と書いてくださる方がでてきました。

非機能要件にあたる脆弱性管理を他の要件と共にバランスよくやっていきたいという意識が導入する前より顕著に高くなってきており、取り組みが作用してくる機運が高くなってきたというのを感じました。

半年後にヒアリングを行った結果、各プロジェクト事情を聞かせてくれました。

わかったことは、「本格導入はまだまだ道半ば」ということです。

そこで、1年目の契約が終わるタイミングくらいにyamoryの開発者とプロダクトオーナーと営業さんにご相談して、社内勉強会を開催していただくことにしました。

勉強会の後半部分で実際にPoCコードが存在する脆弱性を再現してみましょうということで、デモをしていただきました。この勉強会には多数の方が参加して事後アンケートでも非常に反応がよかったです。

「こういうこと大事だよね」という意見や「また勉強会をやって欲しい」という意見をもらいました。

1年目はホップの年と位置づけたので、次の年は更にステップアップしていくにはどうしたらいいかを考えました。

2年目の契約に向けて

今までは私が中心になって推進して私が最終的に判断の意志決定をしていました。 これからさらに飛躍するために、個人ではなく組織としての取り組みに発展したくて、 その輪を拡げてみようということを意識しました。

その時に、yamoryの契約に向けて営業さん・プロダクトオーナーとディスカッションしている時に伝えたのは「社内で一人も継続して使いたいという人がいなければ契約を更新しません」という意志決定の基準です。

つまり、自分のチームや全社で契約金額のコストをペイできるかどうかはさておき、

「もし、どこかのプロジェクトの案件で引き続きプロジェクト予算を使ってでも活用していきたいのであれば継続方向で調整をしていきますが、使い続けたいという声がなければ一旦契約は満了する方向にします。」

ということを全社展開したところ、使ってもらっていたプロジェクトメンバーからの反応は「継続できるなら利用したい」という声がいくつも届きました。

この瞬間に、今まで「各プロジェクトに使ってもらっていた」という状態から「自分の意志で使っている」にステップアップできたのです。

これで、2年目の契約に向けての機運もあがり、後押しをもらいながら期日ギリギリになってしまいましたが、yamoryの初めての契約更新ができました。

2年目でついに実運用で活用が確立

yamoryはサービスとして成長し、ホストスキャンの機能も加わりさらに便利になりました。 Docker対応やライセンス管理機能なども発表され実用性がどんどんあがってきました。

そんな中、CIへの組み込みやITSでのチケット管理フローまで確立できたチームがついに現れました。それに加えて、新規に立ち上がったプロジェクトでも導入されました。

log4j2の脆弱性が世の中を賑わせたりして、脆弱性という話題が賑わった年でした。 yamoryの活用事例のインタビューが他社で発表されたりして、HPに掲載されている導入企業数も増えたようで、弊社取引先も導入していたりして、世の中の需要の実感を感じました。

社内でも実用的な活用ができはじめて、取り組みが実になってきました。

そして3年目の今

こうやって、やったことや感じたことをアウトプットしようという段階まできました。

「世に同様のツールが充実してきてどれを選べばいいのか」という悩みの種も増えましたが、根本的な課題へのアプローチや意識を忘れず、この取り組みを通して文化形成の礎もできた気がします。

どんないいものでも、運用段階に持っていきDevOpsとして融合していくまでが大事で、小さな積み重ねが糧になっていきます。これからもよいサービスやツールがあれば実体験を通して評価し、導入を検討して、よりよいシステム開発ができる組織になっていければと思います。

リモートワーク制度_社員インタビュー

リモートワーク制度_社員インタビュー

新型コロナウィルスの感染拡大によりわたしたちの生活や働き方は大きく変わり、この経験は、今後の働き方を考えるきっかけになりました。

そして、わたしたちアットウェアSIカンパニー(※1)では、このコロナ禍の経験を活かし、選択的全国居住でのリモートワーク制度を導入することにしました。

この制度は、各自が自らの意思・責任で、勤務場所(オフィス/自宅)・居住地を選択し、自分らしく働ける働き方を実現するための制度です。もちろん、 一切出社しなくていい制度ではなく、組織活動に必要な場合はオフィスへ出勤することもあります 。

~期待する効果~

  • 1人ひとりが自分らしく働ける

    • 自分がパフォーマンスを発揮できる方法を選択できる

    • 幸せ・笑顔につながる

    • 自分の時間が確保できる

    • 通勤のストレスから開放される

    • お互いの思いやりがUPする

  • 多様性のある働き方ができる

    • ライフステージに合わせ柔軟に働ける

    • 家族との時間を確保しやすくなる

  • 場所によらず素敵な仲間と仕事ができる

    • 全国採用が可能になる

    • 自己都合で引っ越す場合にも仕事を継続できる

この制度を利用し居住地を変更した社員のインタビュー と 社員の日常を2回にわけてご紹介いたします。

※1アットウェアでは、2021年12月よりカンパニー制を導入しています

社員インタビュー

・名前:吉井

・入社年月:2021年4月入社(新卒)

・趣味:ランニング,旅行,映画鑑賞,FPS

◆どこでどんな働き方をしていますか?

今は、地元の静岡で働いています。働き方としては、基本フルリモートで、毎月1回は横浜本社へ出張し、お客さま含め、顔を合わせて打ち合わせを行っています。

たまに、お客さまのオフィス(都内)で打ち合わせを行うこともあります。

リモート作業といっても、1人でもくもくと作業するのではなく、音声チャットツールを使ってプロジェクトメンバーと会話しあったり、ペアプロしながら進めています。

◆全国居住が制度化される前と後で、働き方や生活で変化した点はありますか?

そうですね、僕の場合は、制度導入前後で、フルリモートは変わっていませんが、気軽に出社する。ということはできなくなりましたね。

コロナ禍になってからの入社だったので、入社してからずっと、「基本フルリモート」でした。ただ、入社当時は、会社に近い横浜市内に住んでいたので、ふらっとオフィスに出勤するようなこともありましたが、地元に戻ってからは、地元のネットワークを活用して、「新しいことに挑戦しよう!」と取り組んでいます。

◆横浜と地元でネットワークの違いはありますか?

地元の場合は、もともと、学生の間に構築できていたネットワークで、横浜では、コロナ禍の特殊な状況だったということもあって、ネットワークの構築には至らなかったですね。

「知らない土地でオンラインで」というのは、難しかったです。オンラインは気軽さもあるのですが、メンバーの名前が覚えづらかったり、会話のフックを見つけ難かったです。

◆なぜ、地元に戻ることを決断したんですか?

もともとこんなに早く地元に帰ることは考えていなかったんです。たまたま住んでいたシェアハウスが閉まることになったのがきっかけです。

1年近く住んでみて、横浜という土地の良さはわかってきたんですが、コロナ禍の生活は、都会だと人との接触数が多かったり、外出がしにくかったり、本来の都会の良さを体感し難かったんですよね。あと、色々なところに住んでみたいという願望があったことや、将来のために軍資金を貯めたいという気持ち、賃貸契約に縛られたくないという想いから、横浜市内での転居ではなく、実家に戻ることを選びました。

◆会社が離れた場所にあることで、不安を感じることはないですか?

ないか、あるか。でいうと、あります。相手の人となりを知る・自分を知ってもらうという関係性の構築に不安を感じています。ただ、飲み会や親睦会は好きなので、参加できるチャンスがあれば、積極的に参加したり、自分からも周囲の人を誘ったりと、不安を改善できるように意識しています。

◆会社の本社機能が近くになくて、困ったことはありますか?

9ヶ月ほど過ごしてみましたが、困ったということはあまりないです。あえて言うなら、健康診断のために出勤するのは大変なので、自分で医療機関を探して健康診断を予約する必要があるということですね。今までは、会社が横浜近辺の提携医療機関を予約してくれていました。全国居住によって、自分でやらなければいけないことが、ごく稀にありますが、地元に帰るということを自分で決断したので、困りごとだとは感じていません。

◆今の働き方で、しみじみと感じる良さ。を教えてください。

会社がシェアオフィスにあるということで、縛られずに働きやすい。とは思っていたのですが、アットウェアでは、社員が制度を作っていくことができるので、有志メンバーで制度改訂に取り組んだんです。その結果、全国居住を会社公認。とすることができたので、今は、縛られていないだけではなく、自分が思い描いていた”多拠点生活”の実現にも近づけていると感じています。

◆更なる改善ポイントをしいてあげるとすると?

僕たちの仕事は、機密情報を扱うので、どこでもふらっと気軽に業務を行うことはできません。例えば、人の目があるようなパブリックな場所で業務を行うことには、まだまだ課題があると感じています。(満員電車で顧客名を出して会話はしない。ことと同じ観点)

より柔軟に働くためには、インフラ整備なのか、各自のセキュリティに対する意識なのか、さまざまな対策がもっと必要だと思うんです。

他にも、チームで業務を進める上で、ほぼあったことがない人と一緒に取り組むことの大変さは感じているので、GMDay(半期に1度のリアル全社イベント)などを活かして、お互いの人となりを知った状態で、一緒に取り組めるとよいと思っています。

Scrum Interaction 2022 のスポンサーになりました

Scrum Interaction 2022 のスポンサーになりました

こんにちは。アットウェアでアジャイルコーチやスクラムマスターとして活動している梶平です。

アットウェアは、2022年9月22日(木)にオンラインで開催される Scrum Interaction 2022 にスポンサーとして協賛します。

個人的な話になりますが、前回の Scrum Interaction 2019 では、ジェフサザーランドさんと、野中郁次郎さんが同じ場所にいらっしゃるという奇跡的な場で、私自身とても興奮したことを鮮明に覚えています。

更に組織変革の事例を多く知ることができたり、参加者同士のグループディスカッションもとても楽しく、学び多き時間を過ごせました。

興奮。楽しさ。学び。

それだけではなく、場から発せられているエネルギーのようなものが自分の中に入っていくような感覚もあり、自身の日々の活動について応援されているような、ありがたい気持ちにもなれました。

今回もアジャイルの力に助けてもらいつつ、自身・チーム・組織の変革に取り組まれている事例や、その中で感じる悩み・モヤモヤを聞き、そして参加者の方々と話し合えることがとても楽しみです。

株式会社アットウェア 21年度新卒採用者 インタビュー動画その1

株式会社アットウェア 21年度新卒採用者 インタビュー動画その1

21年度新卒採用インタビュー その1

第1段は多拠点エンジニアを目指している吉井さんです。以下のようなことを聞いています。

  • 自己紹介

  • アットウェアを選んだ理由

  • アットウェアに入っての感想

  • 入社した時の研修

  • 仕事に慣れていく過程

  • 現在の仕事の進め方

  • 挑戦したいこと

  • どんな人にアットウェアを勧めるか?

株式会社アットウェア 採用チャンネルはこちら

株式会社アットウェア 代表 牧野インタビュー「システムで人々をしあわせにする組織づくりをサポートしたい」

株式会社アットウェア 代表 牧野インタビュー「システムで人々をしあわせにする組織づくりをサポートしたい」

株式会社アットウェア 代表 牧野隆志 インタビュー動画 第2段として、牧野が最近挑戦していることについて聞いてみました。アットウェア、アットウェアベトナム、個人としてどんなことに目を向けているでしょうか?


株式会社アットウェア 採用チャンネルはこちら

2021年11月

採用向けYoutubeチャンネルはじめます。

採用向けYoutubeチャンネルはじめます。

アットウェアの魅力を映像でお伝えしたくて、採用向けYoutubeチャンネルを開設しました。今後不定期ではありますが、動画をアップロードしていく予定です。

第1段としては、アットウェアの簡単な紹介ムービーです。

動画内容の概要

「システムで人々をしあわせにする」をミッションとしている、株式会社アットウェアの会社紹介動画です。

SI事業について

弊社のSI(システムインテグレーション)事業は、主にエンタープライズ(企業向け)に特化し、顧客企業のビジネスを動かす上で必要不可欠なシステムの開発を行っています。

働き方について

システム開発をする上で、顧客企業と「恊働」を行うためのワンチームを結成します。 株式会社アットウェアの社員は、お互いフラットな関係で働いています。上司・部下という関係や、役職(部長、課長、係長)というものはありません。一人ひとりが自分の働き方をし、創意工夫、意思決定おこない生き生きと活動しています。また、個々の能力を最大化できるよう自律型組織の文化を形成しています。

オフィスについて

私達はWeworkコミュニティを通して出会う様々なタイプの人と共創により価値を作り出すことも非常に重要であるとの狙いを持ち、2019年2月に横浜みなとみらいのWeworkに入居しました。残念ながら2020年初頭より新型コロナウィルス感染症の蔓延により、現在はテレワークを強く推奨している状況です。一日も早い、コロナウィルスの収束を願っております。

こちら、Vyondというアニメーション動画作成ツールを利用して作っています。

21年新卒の研修が終わりました🎉

21年新卒の研修が終わりました🎉

始めに

こんにちは、21年新卒の中山と申します!
21年新卒の研修が、7月いっぱいで終わり、8月からOJTという形で新卒4名(西川、平澤、吉井、中山)がそれぞれ違うプロジェクトに参画し、少しずつ開発に入っております。

そこで、このブログでは

  • 研修を振り返ってみて研修がどうだったか  

についてお伝えしたいと思います!🔥

研修を振り返ってみて研修がどうだったか

研修を通してどんな成長を感じられたか

中山:

吉井さんに、「研修を通してどんな成長を感じられたか」について伺ってもいいですか?🙋‍

吉井:

僕たちの今年の研修は、自身で得たい価値に即した目標を設定するセルフ・コントロール型研修だったので、自身で設定した目標を確実に達成し成長していく実感が得られました。

今までは目先の結果に注力してしまい今やる必要がないことはやらないことが多かったのですが、研修中は自分が結果を出し続けていくために必要な土台作りとして、今すぐ必要はないものの重要なことに注力し学ぶことができました。

技術面だけではなく、人として成長をし続けられる良い習慣を身につけることが特に成長した点だと感じています!

中山:

めちゃめちゃいいですね。
確かに、自分で得たい価値に即した目標を設定するから、中長期的な視点でどんなことを研修ですべきか考える必要があって、緊急性は低いけど、着実に良い習慣を身に付けるような考え方は僕も勉強になりましたね🔥
吉井さん、ありがとうございました!🎉

研修で難しかったところ

中山:

それでは、平澤さんに、「研修で難しかったところ」について伺ってもいいですか?

平澤:

そうですね。僕は、「セルフ・コントロール」という言葉を「何事も自力で解決すべき」と解釈してしまっていた場面が多くあったので、研修の初期では、何か困ったことがあってもなかなか仲間を頼れなかったんです。けど、このままだとよくないなと思い自ら質問をできるだけするようにしたんです。そうすると、少しずつ「何事も自力で解決すべき」という考え方から外れることができて、チームで協力して、それぞれの得意分野を出し合いながら進めていけるようになりました!

中山:

セルフって言葉を聞くと確かに、「自分で」という意味になるので、一人で全て決めて目標決めて頑張る、ように思ってしまうかもしれないけど、仕事は一人ではできないし、チームで成果を出すものですもんね、、。僕自身、平澤さんが徐々に自分が分からないことなどを同期とか先輩に積極的に聞いていて、とても素敵な姿勢だなあって思ってました☺️
平澤さん、ありがとうございました!🎉

配属に向けての意気込み

中山:

それでは最後に、西川さんに「配属に向けての意気込み」を伺ってもいいですか?

西川:

はい👍
配属先のプロジェクトでは、日本とベトナムのメンバーが混じったチームでBtoB向けのソフトウェアを開発します。
英語メインのチームで常に考えることが求められる環境ですが、自ら配属希望を出しました。
異なるバックグラウンドを持った人々と関わる中で、エンジニアとして成長し、プロジェクトのさらなる拡大に寄与したいと思っています。

中山:

西川さん、入社した当初からすごくベトナム推しだったので、配属希望出したときに「やっぱり!」と思いましたね笑
英語メインのプロジェクトで大変なこともあるかと思いますが、西川さんのガッツで乗り切ってください🔥
西川さんありがとうございました!

最後に

中山:

はい、ここまで21年新卒の同期3人に研修についての感想を聞いてみました!
アットウェアでは、それぞれの社員がどんな姿になりたいか、どんな価値を生みたいかを考え、そしてその姿になるためには、またその価値を生み出すためにはどんな目標を立てどんな研修をするかを自分たちで決めます。研修中には、悩んだり、一人では達成が難しいこともありますが、そんな時は仲間と相談しながら研修を進めていきます。アットウェアに何となくでも興味がある方はぜひ下のリンクなどからお問い合わせください!それではまたのブログ更新をお楽しみに!

新卒の方はこちらから
中途の方はこちらから

今年も、新人研修がスタートしました!

今年も、新人研修がスタートしました!

春ですね。弊社に、新しい仲間が4人入社いたしました!

本年度の研修もスタートしています。

昨年度から、セルフ・コントロール型研修を実施しました。研修が終わり、そのふりかえりを行い、本年度の研修を見直ししました。 このブログでは、昨年の研修のふりかえりと、本年度の見直した部分をお伝えしようと思います。

セルフ・コントロール型研修

 短くいうと、研修者と運営者が設定したゴールを共有して、ゴールまでのプロセスを研修者の裁量で決める研修です。

 弊社で取り組んでいた過去の研修内容を参考に、どのような研修内容を行うか、「カリキュラムは?」や「タイムテーブルは?」「担当は?」など組み立て、社員のいろいろなアイデアを募って、紆余曲折しながら、研修の設計をしていました。

 並行して、一昨年の弊社で 『7つの習慣』読書会 を行ってました。

 『7つの習慣』の「Win-Winのマネジメント・トレーニング」を読んで、「セルフ・コントロール型研修」に、手段を本人に任せることで、個々人の潜在能力を最大に活用し、主体性をはぐくむ実践経験ができる理想の研修を見出しました。

 私達は、研修者が研修後にどのような能力を身に着けているべきか明らかにして、研修者を全面的に信頼し、手段を押し付けないことで、早く目標達成しようと意欲的になり、望む結果にも、相手の成長にもいち早くつながると、考えました。

 そこで、セルフ・コントロール型研修になるように、研修者へ全面的なデリゲーション(手段は自由に選ばせ、結果に責任をもたせる)のもと、何が期待されているかお互いに理解し、納得するために「実行協定」をまとめました。

「実行協定」

  • 望む結果(カリキュラムの各ゴール)
  • ガイドライン(守るルール)
  • リソース(望む結果を達成するために使える人員・資金etc)
  • アカウンタビリティ(研修なので、理解度の報告)
  • 評価の結果(OJTへの移行の可否)

 カリキュラムは、ハードスキルとソフトスキルを体系化し、各課題のゴールを設定しました。

昨年度のふりかえり

研修が終了し、KPTにそって、ふりかえりを行いました。

Keep

  • ボリューム総量がちょうどよかった。
  • コロナ禍以降も、担当&研修者で制御できた。

Problem/Potential

  • 報告のフォーマットを用意したことで、報告書を書くことがゴールと捉えられ、ゴールまでのプロセスに自由度(創意工夫)が制限された。
  • 研修後、どんな姿になっているかを描いていないので、各課題を消化するだけになってしまった。

Try

  • カリキュラムは最低限を定義し、研修者に研修後のイメージ・目標を最初に想像していただき、カリキュラムに入れたいこと(希望)を盛り込む。
  • 報告の手段も自由にする

今年のセルフ・コントロール型研修

 ふりかえりを受け、今年の研修は、事前に、内定を承諾頂いて以降、新入社員の方々と研修内容のすり合わせの時間をいただきながら、研修内容を組み立てました。

 そして、研修後のイメージ・目標を見出すことを先に行うために、セルフ・コントロール型研修より、前に以下のイベントを行うことにしました。

  • ドリームマネジメント:自分の夢の解像度を上げる。
  • ミッションステートメント研修:自分の軸(原理・原則)を見い出す。

 今年の研修は、もう一つ願い(テーマ)を込めました。

「P/PCのバランス」

 研修は、P(成果:Performance)よりも、PC(成果を生み出す能力:Performance Capability)に重きを置いて、活動する。

(すでに始まっていますが、)これから、新しい仲間が、ワクワクして成長に取り組めるような研修にしたいです。

研修の終わりには、研修をうけたみんなより、レポートをお伝えしようと思います。

新型コロナウィルス感染拡大に伴う弊社の対応について

株式会社アットウェアは、新型コロナウィルス感染症の日本国内での感染拡大に伴い、弊社従業者を原則在宅での勤務としております。 在宅勤務中におきましても可能な限り業務遂行を維持する体制を取って参りますが、郵送物の取り扱いの遅延ならびに弊社代表電話からの担当者への取次時など、ご不便をおかけすることが予想されます。 お取引先様各位におかれましては、ご理解のほど何卒よろしくお願い申し上げます。 なお、お急ぎの場合は、名刺等に記載の担当者連絡先へ直接ご連絡ください。

私たちはミッションである「システムで人々をしあわせにする」の実現に向け、プロフェッショナルなソフトウェアソリューション・サービスを提供しておりますが、在宅勤務中におきましてもこれまでと変わらぬあるいはそれ以上の価値の創造を果たしていけるよう、日々の改善と努力を積み重ねて参ります。新たな挑戦故、ご迷惑ならびにご心配をおかけすることも多々ございますが、ご容赦いただけますようお願い申し上げます。

この難局を乗り越え、一刻も早く日本および世界の全ての人、社会が再び平静を取り戻し、またさらなる経済発展と平和の実現に向け、地域社会の一員として弊社社員一同取り組んで参る所存です。


※※※ 2020年6月30日更新 ※※※
株式会社アットウェアは、新型コロナウィルス感染症の日本国内での感染拡大を受け、3月中旬より弊社従業者を原則在宅勤務としておりました。
5月25日に首都圏の緊急事態宣言が解除されてから一ヶ月ほどが経過し、間もなく当初在宅勤務期間として予定しておりました6月30日となりますが、未だ従業者が安心して安全にオフィスに通勤ならびに就業できる状況とはいい難く、また通勤が避けられないエッセンシャルワーカーの方々などへの接触を少しでも避けるため、引き続き在宅勤務を推奨して参ります。期間については、現時点では明確には定めず、概ねワクチンが広く行き渡るなど状況が改善されるまでといたします。

なお、弊社はこれまでも従業者個人の状況に応じて在宅等での勤務も認めておりましたが、今後はより自分らしい働き方・生き方に重きをおいた多様な就業形態も視野に社内で議論を進め、取り組んで参りたいと考えております。


期間: 2020年6月30日まで 未定(概ねワクチンが広く行き渡るなど状況が改善されるまで)

水島さんを招いてジェネリクス勉強会を開催しました

水島さんを招いてジェネリクス勉強会を開催しました

縁あって@kmizuこと水島宏太さんに社内の技術推進活動の支援をいただいています。
その活動のひとつとして勉強会を開催したのでご紹介します。 コロナ禍の影響でオンライン勉強会です!

水島さんの経験や得意分野を踏まえ、弊社社員からテーマをリクエストさせていただき、アカデミックな話題も混ぜつつ、時にはマニアックな内容も盛り込んでもらっています。

ブログでは紹介できていませんでしたが、昨年より勉強会を開催してきました。

  • ガベージコレクションの基礎と歴史
  • 基礎の学び方
  • コンピュータサイエンスって何だろう?
  • Scala教育悲喜こもごも
  • Javaのジェネリクスを知ろう

この記事では、先週開催された「Javaのジェネリクスを知ろう」の勉強会レポをご紹介します。

Javaのジェネリクスを知ろう

この発表テーマをお願いする時に、実は他にもラムダの話を聞きたいというリクエストがありましたが、ラムダはジェネリクスを理解していることがキーポイントになるため、先にジェネリクスに絞ってお話をしていただくことに。内容はJavaを学び始めた新卒者に役立つような内容でありつつ、ベテラン向けにマニアックな話も入れて欲しいという、やや無茶なお願いをしました。それをうまく落としこんで私たちが聞きたい内容に仕上げてくださいました。ありがとうございます!

発表はJava 1.4までジェネリクスがなかった時代背景から話が始まり、Object型を使うとダウンキャストが必要となり安全性に問題があることをコード例を添えて解説。その後にジェネリクスが導入されるきっかけや歴史に触れて、概要や機能の話をしてくださいました。

発表時間は1時間弱で基本的なところがしっかり押さえられており、初学者でもわかりやすい内容だったと思います。その中でも私が興味深く感じたのは以下の話題でした。

  • 型パラメータの上限境界
  • ワイルドカード

ジェネリクスの機能の一つであるワイルドカードは、リリースされてだいぶ時間が経ってから、安全性の面で問題あることがわかったそうです。OOPSLA2016で公開された Java and scala's type systems are unsound: the existential crisis of null pointers という論文を引用しつつ、自身の考えを述べてくださいました。

危険視すべき問題なのかというと、水島さんの考えではそうではなく、「ワイルドカード単体では発生する問題ではないので、一概にワイルドカードが駄目だという話ではない」ということでした。nullや上限・下限ワイルドカードと組み合わせた時に発生するというもので、nullとワイルドカードという機能の組み合わせによって、安全性上の問題が発生してしまったよと。ユースケースなどの多面性や言語仕様として取り入れられた経緯を追いながら、なぜこの機能は存在しているのか、何がヤバいのかというのがわかって話を聞いていて面白かったです。

コーナーケースなので知らなくても実務では困ることは少ないかもしれないけど、知ったうえでJava APIやフレームワークのコードを読むと、見えてくる世界も違うかもしれませんね。

他のベテラン層の参加者に参加した感想を聞いてみたら「ワイルドカードの元になった理論を発明したのが日本人だって知らなかったし、他の言語でのジェネリクスの話が個人的によかったです。ScalaとKotlinが激似とか、Goでの話など。」と言っていて、新しい発見や新鮮さを楽しめたようです。

2020年にジェネリクスを取り上げていただいたわけですが、時が経ったからわかった事もあり「今だから言える事だけど実はワイルドカードは必要なかったかもね……」というような話ができるのも、今だからできる話題ですね。

たのしかったです。

「みんなのJava OpenJDKから始まる大変革期!」を献本いただき書評しました - 乗るしかない このビッグウェーブに -

「みんなのJava OpenJDKから始まる大変革期!」を献本いただき書評しました - 乗るしかない このビッグウェーブに -

先日(3/11)、技術評論社刊 「みんなのJava OpenJDKから始まる大変革期!」 を弊社牧野のもとに献本いただきました。

以下、そのときのやりとり

牧野「『みんなのJava OpenJDKから始まる大変革期』を献本いただきました!」

私「明後日発売の本じゃないですか!」

周り「せっかく献本頂いたたんだし速攻読んで書評を書いてツイートをしましょう!」

… 翌日 …

周り「そろそろツイートしようと思いますが読みました?」

隣の席の若手「ざっくり読んだのでこんな感じで簡単な感想書きました」

私「手元にまだありません」

隣の席の若手「私さんどうぞ」

私「」

という感じで空気を読んで書評を書くことに。

が、さすがに発売前には間に合わなかったので、機動力のある若手にツイート を譲りましたが、この週末を利用してようやく読むことができたので、遅ればせながら書評(というか感想)を書いていきます。

結論からいうと、「Java が OpenJDK としてオープンソースとなったことで、Java の進化が加速していることがわかり、Javaの躍動が感じられる本」でした。

内容と感想

全6章に渡る本ですが、各章ごとにテーマ・内容が異なっているので各章ごとに書きます。

第1章 Java 9 から 14 までに起こった変化から見るこれからのJava

ちょっと前に混乱をもたらした Java のライセンス変更は記憶に新しいですが、それ以外にも、Java 界隈では Java9 以降現在にいたるまで様々なことがありました。短期間にたくさんのことがありすぎて、情報がオーバーフローしてしまった方もいるのではないでしょうか(少なくとも私はそうでした)。また、その情報も、テック系ブログをはじめ、さまざまなところに分散していて、まとめるのも大変でした。

この章では、その Java 界隈の状況の変化が見通しよくまとめられています。

内容としては、Java 界隈の変化を押さえ、Java 開発体制から、Java9 〜 14 までのリリース内容概要、新しい言語仕様の紹介、これからの機能などがわかりやすくまとめられています。

過去と比較して、何ができるようになったかが把握できるのもさることながら、紹介されている機能・仕様が「何故そのようになっているか」にも言及されていて、現在の Java の機能がいかに使いやすくなっているかがよく理解できました。

第2章 JDKに関する疑問と不安解消! JDKディストリビューション徹底解説

Java リリースモデルの変更があり、その後、雨後の筍の様にたくさんのJDKディストリビューションが現れました。これらのディストリビューションのうち、どれを業務で利用するか迷った経験をお持ちの方は多いのではないでしょうか。

この章では、JDKディストリビューションの歴史から、現在どのようなJDKディストリビューションがあり、どのような特徴をもっているのかが網羅的に解説されています。さらに、どのように選ぶべきかという方針についても言及されています。

これを読んでおけば、JDKディストリビューション選択時のステークホルダーに説明する材料に困ることはないでしょう。

個人的には、BellSoft Liberica JDK が初耳だったので、ちょっと試してみたいと思っています。

第3章 JavaEEからJakartaEEへ 新しいEnterprise Java

20年ぐらい前にJ2EEを使っていましたが、そのときは設定が多く、柔軟性が少ない堅い印象。Java EE7 のときはてらだよしおさんが JJUG ナイトセミナーですごく推してた記憶。その後は進化が滞っていて、今後は余り使うことはないだろう。個人的にはそんな印象の Java EE ですが、 近年開発が再び動き出しています。そんな Enterprise Java の過去から現在についてまとめられています。

この章では、Enterprise Java にフォーカスして、その歴史やアーキテクチャの変遷、最新の Jakarta EE 8 の機能について、網羅的に解説されています。

序盤の歴史の部分は、J2EE を触ったことのある私からすると歴史書的な印象もありましたが、Jakarta EE8 の新機能の部分では、モダンな Java フレームワークの機能を積極的に標準化していこうとする姿勢がよくわかり、変わろうとしているんだ、ということが感じられました。

Enterprise Java の標準としてまとまることで、より開発しやすくなることに期待します。

第4章 MicroProfile が拓く Java のマイクロサービス

前章をうけて、Java EE から派生したマイクロサービスのためのAPI、MicroProfile について書かれています。マイクロサービスは流行っていますが、実装パターンは様々で、開発に時間がかかってしまう印象です。そんなマイクロサービスの実装でみんなが苦労している部分を標準化しようというのが MicroProfile です。

この章では、MicroProfile が産まれた経緯と、その実装方法、機能、そして今後の発展について説明されています。

マイクロサービスとして開発するかどうかは要件によってかわるかとは思いますが、いざマイクロサービスを利用する、となったときにこうした標準があることは助かると思いました。個人的には、今後の発展に含まれていた、「Reactive対応」「LRA対応」が興味深かったです。とくに、LRA(Long Running Actions)についてはマイクロサービスを作る上でいつも悩まされていたことなので、今後の動向に注視していきたいです。

第5章 ネイティブイメージ生成で注目! Java も他言語も高パフォーマンスGraalVM

昨年行われた JJUG CCC などのイベントでも、GraalVM と名のつくセッションは人気でした。その事実からもわかるように、GraalVM は、おそらくいまJava開発者の間でもっとも興味が惹かれている技術ではないでしょうか。

しかし、昨今のFaaS勃興の背景から、GraalVM はどうしてもネイティブコンパイラにフォーカスしがちです(私もその一面しか見ていなかった感じです)。しかし、GraalVMはそれだけでなく、多言語実行環境としての一面もあります。

この章では、GraalVM と HosSpot VM の内部構造を比較し、Graal VM がどのように動作しているのか、如何にして多言語実行環境を実現しているのか、ネイティブコンパイラがどのように動作しているのか、などが記載されていて、いままで曖昧だったGraalVMの全体像が明確に見える思いでした。

また、GraalVM の具体的な適用事例も幾つか紹介されており、この中でも興味深かったのは、リアクティブストリームを使ったアプリケーションにおいて、JITコンパイラをGraalVMのものに置き換えることで、最適化が図られる可能性があるという内容でした。

このことが必要になる大規模なプロジェクトはそう無さそうですが、今後の引き出しとするためにも、手元で試してみたいと思います。

第6章 マイクロサービス、クラウド、コンテナ対応

最後は、最近のJavaというより、Java界隈のフレームワークについての内容です。

Javaのフレームワークは、現在では Spring Boot が隆盛を極めているように思えますが、システムのクラウド化にともなうフレームワークに対する要求の変化から、新しい軽量なフレームワークが数多く誕生しています。その中から、Micronaut / Quarkus / Helidon を実際の実装・コード例を通して紹介しています。

実際に記載されている内容通りに手を動かすことで、ハンズオン的に各フレームワークの機能を知ることができますが、個人的に重要と感じたのは、最近のフレームワークに求められているものについての記事でした。

昨今のクラウドやマイクロサービスが求められているなかで、新しい軽量フレームワークには可搬性(Portability)や観測性(Observability)、非同期処理などが求められているとのこと。とくに「観測性」については、強く言及されている印象で、私も業務中、実装しているときに忘れがちな側面ではあるので、紹介されている軽量フレームワークを試しながら、どのように実現されているのかを確認したいと思います。

まとめ

Java開発をやってきた人の中には、長く進化が止まっていた時代のイメージから、「枯れた技術で長く続ける」という発想を持っている人もいるかと思います。しかし、時代は移り、Java は半年ごとに機能追加が行われ、常に新しいパラダイムを取り込むようになりました。

そうした状況の中、この本は、Java 開発者が今まさに読んでおくべきものだと感じました。一年後では遅いです。なぜなら、今の Java は進化を続けていて、数年後には、この本に書かれていることに加えて、さらに新しいパラダイムがやってきているかも知れません。

Java を使う開発者である我々も、常に新しい技術を学んで、この先生きのこれるようにしなければなりません。また、世の中のシステムが陳腐化することも避けたいです。

この本の序文において、著者の一人であるきしだなおきさんは以下のように書かれています。

Java はみんなで作るものになりました。

この言葉は、言語開発者にだけ向けられた言葉ではないと思っています。 我々開発者も、新しい技術を学び、学んだ知識を共有して、よりよいシステムをつくれるようにしていきたい。

この本を読んでその思いを新たにしました。

逆すえなみチャンスのムーブメントに乗っかりで開催したら最高だったお話

逆すえなみチャンスのムーブメントに乗っかりで開催したら最高だったお話

すえなみさんが主催している「すえなみチャンス」が面白そうだなと思って、アットウェアで逆すえなみチャンス的なことが開催できたらいいなという所から、トントン拍子で話が進み実現しました!

「すえなみチャンス」についてご説明をすると、参加者はすえなみさんの知りたい話をトークする代わりに、すえなみさんに焼肉をご馳走してもらえるというイベントです。それの逆バージョンをしてみたいというのが、今回の趣旨です。

開催レポを書いたのでご紹介します。

TL;DR

  • 二部に分けて開催したことで参加者が楽しめ、エッジの効いた雰囲気を作ることができた
    • 楽しめるように企画して楽しんだ!
  • 逆すえなみチャンスはプチカンファレンスかと思うくらい最高の時間だった
    • またやりたい
  • アーキテクチャを体現するということは強いメッセージ性があるので、感受性を養ってコミュニケーションしたり表現する事が大事。

第一部

第一部は、スライドを使ったオーソドックスな発表形式で、お話を聞かせていただきました。
発表者はすえなみさんと、すえなみさんをご紹介頂いたかとじゅんさんをお招きし、2名の発表となりました。

一人あたり30分から1時間程度の発表時間でお願いしていましたが、当日はお二人で1時間30分ほどとなり、発表のボリュームとして駆け足にならず、じっくりお話が聞けて、ちょうど良かったです。

すえなみさんがT字形ERの E-E 関連についての考察を話している姿

すえなみさんがT字形ERの E-E 関連についての考察を話している姿

かとじゅんさん

MSA(マイクロサービスアーキテクチャ)がテーマです。

昨今、世の中でマイクロサービスについて言及されたり・取り組んでいる事例があるなかで

  • 今まで「モジュール」と言われていたものと「マイクロサービス」はどう違うのか、共通性は何か。
  • 複雑性があるものをそのまま設計・実装するのは大変だけど、どういう考え方をするとよいのか。
  • 分割するアプローチ(分割統治)の必要性が、どういう経緯で出てきたのか。

というようなを切り口にして話してくださいました。

最初、「過去の文献や実践者とのディスカッションの中でも、最適解は見つかっていないけどドメインで分割すると良さそうという流れがある」というところから話が始まりました。そうやって歴史から紐解いていくことで、マイクロサービスの意義へと繋がり、幅広い参加者に向けた話なんだなと、発表への期待を持ちました。

私の所感を書く前にアットウェアの背景をお伝えしておくと、アットウェアでは技術的裁量があることを大事にしています。ビジネス要件やお客様の状況や運用のことも考えて、枯れた技術だけでなく、事前に試した上で最新の技術まで組み合わせているほか、言語やツールも選定して、アーキテクチャや運用の仕組みを考えて設計していきます。そういう背景を持ち合わせている聴衆に向けて、マイクロサービスのメリットの一例として以下のような事を紹介されていました。

  • 要件に合わせて言語やツールを選べる
  • 裁量が持てるのでモチベーションが持てるチームビルディングを試行できる

当日の話で一番印象に残っているのは、システムの構造には組織構造が大きく関わるという話です。

マイクロサービスアーキテクチャは、システムは人が作っているという事実を踏まえて、うまくやっていくためのアプローチがコンセプトとして込められているといいます。 個人的に分散化やクラウドなどの技術は関心が高い分野なのですが、それだけでなく、チーム開発という観点からも言及されていたのが、一層の興味を引き立てられました。 発表を聞いて、組織構造には利用者だけでなく、開発者・運用者として関わる私たちも含まれており(あってますでしょうか)、システム間の認識合わせやRESTインタフェース定義などに集中しすぎて、視点が狭くなりすぎないよう、モジュール化のさじ加減も大事なんだということを改めて意識しました。

最後にいくつかあった質問の中から興味深い内容をご紹介します!

  • Q. マイクロサービスの分割はトランザクションの単位で分けるという考えについてはどう思うか?やっている人の事例を聞くと2フェーズコミットすごく大変そう。分割労力に見合うのかと考えてしまう時がある。

  • A. サービスが別れると2フェーズコミットが必要な時はあるが、関心が強いものだけど業務が違うといったようなケースでは分割が難しい場合がある。そういう疑問こそ分散システムの難しさでSpotifyがとったアプローチは「モジュラモノリス」というトランザクションを共有するやり方をとっている。

この質問のやり取りを聞いて感じたことは、そうするとデータベースの共有のことを考えたり、DevOpsの事情で立戻って考え直したりすることあるだろうし、システムを作るのって面白いなぁと思いながら質疑応答を聞いていました。

すえなみさん

  • アーキテクトとしてチーム開発がうまくいくように考えてやっていること
  • プロダクトやビジネスに影響してどんなことを大事にしてアプローチしているか

というテーマを事前にリクエストして発表準備をしていただきました。

当日は、ソフトウェアアーキテクチャを軸に置いてコミュニケーションすることで、エンジニアとビジネスサイドが意思疎通できるという切り口で話をしてくださいました。

ソフトウェアアーキテクチャの説明で「抽象化と問題分割によって複雑性を減らす」ということが言及されて、かとじゅんさんの発表の繋がりがあってすごくいい感じでスタートしました。

Lean Architectureという書籍に書いてある「what system is」と「what system does」というフレーズを紹介してくださり、システムの特性には2つの観点があり「そのシステムが何か(システムの構造や状態を示す)」「そのシステムは何をするのか(システムの振る舞い)」があるとのこといついて解説頂きました。

それに加え、ソフトウェアアーキテクチャは「what system is」を規定するものなんだけど、これ以外に「what system can't (システム制約)」も含まれているのだという持論も述べてくれました。

開発者以外とのコミュニケーションについて話題にした時は、キングダムという漫画の「法治」という概念を言語化していくシーンをメタファとして、ソフトウェアアーキテクチャとの関連性を説いてくれました。 ソフトウェアアーキテクチャが発するメッセージ性の意味について、しっかりと受け止めました! 「法とは願いだ」というフレーズが意味するところ、「結果から考え始めるべきではない」というあるべき論、開発者を楽にしたり都合をよくする為ではなく「実際に利用するユーザ」のこと、「誰にとってどういう価値を提供したいのか」を示すという所に通じている、という考え方。すえなみさんの話を聞いて、普段から自分の行動や考えを深掘りしていこうと心に誓ったのでした...
繰り出される問題提起や持論が「いい話」ばかりで、心の中で頷くばかりでした(笑)

「実際にビジネス価値を生み出すのはアーキテクチャ自身ではなく、その上に乗っかるユースケースがビジネス価値だしていく」という考え・姿勢を持たれているからこそ、普段からコミュニケーションもうまくいくんだろうなと想像(すえなみさんと仕事をする人達の姿や顔なども)できました。

「顧客のビジネスをアクセラレートするシステム開発では、抽象化はビジネスを阻害したり促進もすることがあって、実際の現場のことを理解することで、求められている抽象化に繋がる」と述べられていたのは、ここでもやはりコミュニケーションコストを費やすことの重要性を感じました。

やはり、アーキテクトは顧客に近い位置で活動するのが大事ですね。 切り口や考察の視点が面白くもっと話が聞きたくて、あっという間に時間が過ぎてしまうのが惜しかったです。

第二部

IMG_3809.JPG

雑な感じのスクリーン

場所を焼肉店に移し、お肉を食べながら技術談義をするという感じで開催しました。 すえなみさんに「いつもどんな風にやっているんですか?」と聞いたら、「形式は決まっていなくて、集まる人や回によってバラバラです。食事前に済ませてからやるって事が多いです。ただこのスタイルも興味深いので全然アリです!」とのこと。

お店の一角にバッテリー駆動のモバイルプロジェクターを持ち込ませていただき(事前にお店には電話連絡しご了承いただきました)、参加者全員がLTスタイルでネタを持ち寄って、お酒の肴にしてワイワイやりました。
スクリーンはホワイトフィルムに木の骨枠を組み付け、雑に作って投影しました(骨枠は事前に用意してあった割り箸を雑につなぎ合わせて作成)。 細長のテーブルで奥の人にもしっかり見えて、とてもいい感じにできたのでバーベキューやお花見など野外でも応用できるポテンシャルを感じました。

カジュアルな感じのスタイルで美味しい食事というのがよくて、一番良かったのは、アットウェアからの参加者の6名、1部で発表したすえなみさん、かとじゅんさんを含め、全員がしゃべったこと。そして、社内のメンバーが社外技術者に自分の言葉で感じていることや取り組んでいることを伝えたうえで、コミュニケーション(ラフに雑談)できたというところでした!

技術を肴に楽しむ・共感する・悩みを相談する(考えていることの言語化やアウトプットからのフィードバック)ということを、研修スタイルだけでなく懇親会スタイルで1テーブルで行えるというのはいいですね。お肉も美味しかったし貴重な時間を過ごせました。

技術談義をすることは仕事のようで仕事ではない。そんなよくあるフレーズを実感したひとときでした。 自分たちのあったらいいなが実現できたことはうれしいですし、機会を第一部の形で社内全員に機会も創出できたというのも良かったです。

「また、やりたいですね!」と最後に言ってもらえて、お二人にも楽しんでいただけたのも嬉しかったです。 よかったという話しかしていませんが、これからも積極的にどんどんこういう活動を広げていきたいと思います!

木村宗太郎さんをお招きしてストリーム処理についての社内勉強会を実施しました

木村宗太郎さんをお招きしてストリーム処理についての社内勉強会を実施しました

dotDataの木村宗太郎さんを招いて、「ストリームデータ処理入門」と題した社内勉強会を開催しました。

開催に至った経緯

今回の勉強会のきっかけは、弊社で大規模のストリーム処理を扱うプロジェクトのメンバーでストリーム処理について雑談していたときでした。

そのプロジェクトメンバーの一人である私がストリーム処理に対する技術的興味をもっており、そのことを知った別のメンバーが、過去に ScalaMatsuri 2017 で木村さんがストリーム処理について発表されていたことを教えてくれました。

そこで「社内勉強会をお願いしよう!」と発案があり、共通の知人を経て木村さんにオファーをして快諾いただけたことで、今回の勉強会が開催されることとなりました。

「入門」という名の「全部のせ」

勉強会のタイトルは「ストリームデータ処理入門」でしたが、タイトルに書いてある「入門」以上の充実した内容でした。

「ストリーム処理とは何か?」という基本的なところから、その基盤や構造、利用方法まで、開発者がおさえるべきポイントを幅広く解説され、そのカバー範囲の広さはまさに「全部のせ」。

アジェンダを資料から引用してみましたが、その内容の充実ぶりがおわかりいただけるでしょうか。

  • What is Stream Processing?
  • Data processing patterns
  • History of Stream Processing System Architecture
  • Trouble of Stream Processing
  • Stream Processing system structure
  • Technical consideration points
  • Real Stream Processing performance problems
  • Stream Processing system misconceptions

当日はこちらの資料を使ってお話してくださいました。

それぞれの項目の内容もとても充実した内容で、木村さんも知識を共有しようと熱く語ってくださいました。 その情報量はあたかもバックプレッシャーのないストリーム処理のよう。 私も、情報を取り逃すまいと集中して聞いていました。

特に印象に残っているのは、「バッチ処理はストリーム処理のサブセットである」という概念。 「バッチ処理は、無限であるデータストリームを、一定時間ごとに区切って処理する、ストリーム処理の限定的なモデルである」という考え方ですが、今までバッチ処理とストリーム処理の関連性を意識していなかった私にとっては、目から鱗が落ちるような思いがしました。

勉強会を終えて

今回の勉強会は内容が盛りだくさんで、私もいまだ全て消化し切れていません。

しかし、これまで大まかな理解だった大規模ストリームデータ処理について、どのように構築して、どのようなところに注意するべきか、イメージが明確になったと感じています。 また、弊社で進めているストリームデータを扱うプロジェクトにおいては、勉強会で紹介された処理基盤プロダクトではないKinesisなどを利用していますが、質疑応答でKinesisならではの課題をディスカッションできました。勉強会中で学んだ問題点や解決方法などはプロダクト内容に関わらず、幅広く活かすことができそうだとも感じました。

今後ますますデータは増え続け、リアルタイムに処理しなければならない事例はもっと増えていくことと思います。そうした時代においてのソリューションの一つの選択肢として活用できるよう、この勉強会をきっかけとして更に技術を磨いていきたいです。

かとじゅんさんを招いて「Big Picture Workshop」を開催しました

かとじゅんさんを招いて「Big Picture Workshop」を開催しました

かとじゅんさんをお招きし、2回にわたってEventStormingの一種である Big Picture Workshop を開催しました。

EventStormingは、近年注目されている、情報システムの概観を掴むための手法の一つです。ThoughtWorks社のTechnology Rader Vol.19では、当社の考える産業で採用していくべきテクニックの一つとして取り上げられました。

EventStormingでは、関係者が集まりシステムを取り巻く環境を大きな壁と付箋を使って互いに発表しあいながら、システム化の対象とシステムへの期待を共有していきます。

EventStormingの特徴は、システムを利用するにあたって発生するイベント(ドメインイベント)に着目している点です。イベントから始まり、それを時系列順に並べ、関連する利用者や外部システム、金銭の発生を洗い出していくことで、システムの全体像を掴むことができます。

今回は「かつてない図書館」を企画するというテーマで、10人程度の参加者が集まって、アイデアを出し合いました。

進めながら気づいたのは、議論を促進するような仕組みが随所に取り入れられていることです。 最初は発散させ後で収束させるようにしたり、全員が立った状態で全員と情報を共有しながら認識合わせをして、座って議論しないようにしたりと意見を言いやすい環境を整え議論の価値を高める効果を感じました。

event-stroming-1.jpg

タイムライン強化 〜 ウォークスルー

最初は参加者が各自の思い思いのイベントを付箋に書いて、タイムライン(時系列順)に並べていきます。 イベントは、動詞の過去形で書くように決められていて、動詞の過去形で書くことで、イベントでないものを出さないように誘導したり、後の工程で「□□した」のが誰なのかに視点を誘導する効果があります。

イベントが出揃ってきたら、タイムライン強化を行います。タイムライン強化では、システムを利用する上で必要不可欠で価値の高い、重要なイベントにフォーカスしてその前後のイベントや関係のあるアクター、外部システムなどを充実させていきます。

次のウォークスルーでは、イベントの流れを言語化しながら、考慮不足や抜け漏れを発見していきます。まずこのイベントが起こって、次はこのイベントが起こる、というように、流れに沿って説明することで、あのイベントが抜けているのではないかということに気づきやすくなるそうです。

実際にやってみると、タイムライン強化の最中は気にしていなかったイベント同士の前後関係の違和感や足りていないアクターが明確になり、タイムラインを充実させることができました。

こうした考慮不足に早い段階で気づけるのは、EventStormingの大きな利点だと感じました。

event-storming-2.jpg

逆方向ナラティブ 〜 クロージング

ウォークスルーで拡充したタイムラインについて今度は逆方向からそのイベントを起こし得るのに、その前のイベントは適切かという視点を持ちながら言語化しました。

逆方向から読んでいくとそのイベントを起こすためにはその前のイベントは重要だがそれだけでは足りないといった、依存の不足が見つかりました。

また、エンジニアはお金の話が抜けがちということであえてお金について考えるフェーズが用意されていて、実際この辺りの話はいくら素晴らしいビジネスモデルやアイデアがあったとしても無い袖は振れないので、ステークホルダーが一同に介して認識合わせができるタイミングで一緒にお金について考えるフェーズを設けるのは合理的に感じました。

一通り終わったところで今回のワークショップの中でリスクになりそうな問題やその解決策を洗い出し共有しました。

IMG_0092.jpg

終わりに

ステークホルダーが一堂に会して曖昧な部分を明らかにし合意を形成するため、お客さんやチーム内での認識合わせなど、実際のプロジェクトで有用なテクニックだと感じました。

関係者と顔を合わせながら合意を得るという点で、同様に情報システムに対する期待を取りまとめる技法である、リレーションシップ駆動要件分析(RDRA)と似ている点がありそうです。それぞれの違いを見定めて、各プロジェクトに適した手法を取り入れられるよう理解を深め活用していきたいです。

今回のワークショップで体験した Big Picture EventStorming は、プロジェクトを立ち上げる際に使うものでしたが、他にもプロジェクトの別の場面で使える手法があるそうです。 中でも、設計者や実装者の観点に寄った Design Level EventStorming という技法があるそうで興味を惹かれました。

最後になりましたが、かとじゅんさんに感謝の意を申し上げます。

この度は貴重な体験の機会を作ってくださり、ありがとうございました。

VimConf2019のプラチナスポンサーを終えて

VimConf2019のプラチナスポンサーを終えて

2年連続でプラチナスポンサーとなったVimConfが終わりました。
スポンサーに加え、昨年のブログで書きましたが2年連続で筆者はコアスタッフもさせて頂きました。
この記事では、この2年間スポンサー・スタッフ・そして一個人として感じてきたことを語ろうと思います。

そんな、過去と未来を繋げるこのカンファレンスに、筆者個人・所属会社として今できる最大限の貢献は何か?と真っさらな状態から考え、プラチナスポンサーとして申し込みさせていただきました。(この辺りのことはまた当日話せる機会があればお話ししたいです)また、筆者個人としても開催に向けて協力できることがあればしていきたいと考えております。
Bramさんが来日するVimConf2018のプラチナムスポンサーになりました — 株式会社アットウェア

(2年間の想いを詰め込んだので、ポエム調で本記事をお届けすることをご容赦ください。)

今回のVimConfですが、企業としてのコミュニティやIT業界への貢献だけでなく、私の想いも詰め込んだカンファレンスにすることができました。

当日のスポンサーセッションでは、「弊社のような小さな企業でも社員の活動できる間口は広く、コミュニティに大きく貢献できるんだ」ということを話しました。

社内でも、プラチナスポンサーのような規模の企画を立ち上げるのは特別なことで、実はプラチナスポンサーになるかどうか、それなりに悩んでいました。それでも、自分たちにできる最高のことができれば、企業として価値のあり、周りからも素晴らしいと言ってもらえると信じて、スポンサーとなることを決めました。私以外の社員からの後押しがあったのも大きいです。

最初はプラチナスポンサーの提案にもすくんでいたのが、今では自信を持って「素晴らしい事をした!」言えるようになりました。それは、行動に移して、皆さんからの反響を感じたからこそわかった事でした。以前に私が感銘を受けたDropboxの創業者がMITの卒業式スピーチで「良い行動」を示す表現として言っていた、「テニスボール」と「サークル」を例にしたエピソードに似た体験をできたのではないかと感じています。

誤解を恐れず大げさに言うと、「一企業がこうやって貢献できたということに、無限の可能性が秘められているんだ」ということを伝えたいです。 実際に活動してみると、テーマとビジョンを持って「最高のものにしたい」と心の底から思い、本気で取り組んでいるVimConfコアスタッフの皆さんの考え・意思決定・アクションは凄くて、そこから刺激を受けながら、自分もスタッフの一員としていい経験ができました。

こういったスポンサーや個人活動は、弊社くらいの小規模の会社で働いている人にとってもすごくお勧めできるアクションだと言える実感を持ちました。なぜなら、一個人や企業ができることは多くはないかもしれないけど、一人が何かを成し遂げたいと思う原動力(私の場合は「今と未来を繋げるこのカンファレンス」に最大の貢献をしたいという気持ち)は凄まじいと感じたからです。そうした皆の気持ちを、スポンサーとして応援することができれば、世の中にとって掛け替えのないことが実現できると信じています。社内でもこういう事例があと数個でたら、すごいこと(いい意味で)になりそうだと想像してしまうほどでした。

私はVimというモノを通して、使う人の思考や姿勢、工夫が色濃くでることが好きで、今年のテーマ「Vimでより生産的になる方法」はそういう意味でも自分が聞いてみたい話を多く聞くことができました。 個人の主観だけではなく、VimConf2019は昨年に負けず劣らず、素晴らしい場だったと思います。

最後になりましたが、鮭とば(とばっとうぇあ)の印象が強くなってしまいましたが、大事なアピールもさせてください!
弊社ではソフトウェア開発が好きで、顧客の課題解決に自身の技能を全力で注ぎ込める "エンジニア" を積極的に募集しています。
こんな企業で働いてみたいという方、カジュアル面談も開催できますので、ぜひご連絡を!!

リチャード 伊真岡さんをお招きして社内勉強会を開催しました

リチャード 伊真岡さんをお招きして社内勉強会を開催しました

リチャード 伊真岡さんをお招きし、「OSSコントリビューションの始め方」「Akkaについて」という2テーマで社内勉強会を開催していただきました。

資料はこちら

Scala関連のカンファレンスやbuildersconなどで登壇されているリチャードさんにお越しいただいて話が聞ける大変ありがたい機会でした。

前半:OSSコントリビューションの始め方

前半は「OSSコントリビューションの始め方」というタイトルで、OSSへのコントリビューションの貢献のモチベーション・仕方・程度などは多様で、まずは「気軽に始めてみましょう」というお話でした。

普段お世話になっているOSSに恩返しの気持ちも込めて、簡単なところから始めてみようと考える機会になりました。

後半:Akkaについて

Akkaの歴史から始まり、akka-cluster, akka-persistenceの解説や、 弊社のバックグラウンドに合わせてAkka + SpringBootという切り口で、よく採用しているSpringBootを軸にした視点で比較・解説くださり、盛り沢山な内容でした。

中でも私が印象に残っているお話がAkkaで構築するクラスターとKubernetes等のコンテナオーケストレーションを使ったマイクロサービスという視点でのクラスターの関心の違いについてでした。

IMG_9942.jpeg

図のようにAkkaが意識しているのは1つのアプリケーションとしてのスケールで、Kubernetes等のコンテナオーケストレーションツールではマイクロサービスのようなサービス群としてのクラスターを意識しているということでした。

Akkaクラスターの得意/不得意について実際の利用シーンを交えて説明してくださり、使い分けのイメージが湧きました。

最後に

発表を通じてOSSコントリビューションやAkkaについて理解を深めることが出来ました。

今回は座学が中心でしたが、発表の中でAkka Clusteringのハンズオンを行いたいというお話もありましたのでそのような手を動かす機会や、社内勉強会を通じてAkkaへの理解をより深めていきたいです。

リチャード 伊真岡さん、素晴らしい発表をありがとうございました。

近日リチャード 伊真岡さん主催のEventStormingワークショップが開催されますのでご興味のある方は、是非参加してみてはいかがでしょうか。

2年連続でVimConf2019のプラチナスポンサーになりました

2年連続でVimConf2019のプラチナスポンサーになりました

昨年のVimConfに引き続き、2年連続でプラチナスポンサーになりました。

その想いをご紹介いたします。

VimConf2018でBramさんが登壇され、直接コミュニケーションがあった空間、リアルタイムでのTwitterをつかった感想やフィードバック、あの場が特別であったことは言うまでもありません。

それはコミュニティの情熱、OSSへの貢献、日々の活動の積み重ねの上に実現した場であり、そしてカンファレンスのスタッフがコンセプトを掲げ1年かけてたくさんの議論を経て準備をし開催されていることを深く体感できるものでした。

ニッチかもしれないけど、受ける影響や内容は素晴らしく、自身で体験したいこと・ありたい未来そのものです。

今年はBramさんはいないけど、そんな去年の場を経験した参加者からの発表、新しい息吹を感じさせる基調講演があります。

今一度、「筆者個人・所属会社として今できる最大限の貢献は何か」と考え、最高のイメージを描いたとき、やっぱり今年も継続してプラチナスポンサーをしようという結論に至りました。社内の他メンバーからの後推しをもらって、スポンサー締め切り最終日にプラチナスポンサーをさせてくださいと申し込みました。

我ながら2年連続でプラチナスポンサー(と3年連続スポンサー)になるってすごいことだなと思っています...

当日はスポンサーとして話す時間を頂けるので、思いの丈をお話しさせていただきます!