自己紹介
こんにちは。ウクライナ出身のロマンです。
Securitizeでフルスタックエンジニアとして勤めており、CP+(発行体・管理者用の画面)というクライアントが利用するツールの開発に携わっています。学生時代は、東京大学にて自然言語処理の研究を行い修士学位を取得しました。
社会人歴は10年が経ち、様々な分野とプロジェクトにて経験を積んできました。初期キャリアでは、有名なオンラインゲームのフロント開発に数社にて関わり、その後ベンチャー企業のオンライン配信アプリの開発をリードしました。また大手ECサイトのフロントエンド開発とアーキテクチャ改善の専任も担当し、今はSecuritize Japanの一員として頑張っています。
※写真はイメージです。
Securitizeではどのような業務を担当されているか教えてください
作業内容は案件ごとに異なりますが、新規機能の開発では主にNestJSサービスの開発、API、バッチの設計を担当しています。また金融機関と連携したプラットフォームを提供することが多いため、CSVファイルの処理や作成、様々な書面作成、PDFへの保存処理の開発なども手掛けています。
直近担当した機能事例:
- 書類アップロード
- ドキュメント処理共通サービス(HTMLをPDFに変換するサービス)
- 単体テストの実装 (単体テストにて欠けているソースコードに対しテストケースを作成し100%のカバレッジを目指す作業)
フルスタックエンジニアとしてバックエンドやフロントエンドを触れることもあります。開発領域の割合は、バックエンドが6~7割、フロントエンドが3~4割くらいです。
システム開発で注意・意識していることを教えてください
大きく2つあるのですが、1つ目はエラー処理と回復をしっかり考慮しながら開発することです。当社のプロダクトは日本チームの機能やマイクロサービスの技法を広く採用している一方で、海外チームが開発したプラットフォームの主要なAPIに依存しながら、金融機関等のAPIとも連携しています。また単体テストと結合テストを実装してシステムの安定性を担保することに注意し開発を行なっています。
2つ目は大量のデータを処理できるシステム開発を意識することです。システムを開発する上で、 数十万件の投資家データを一括で処理する必要があるため、この点も意識して開発を行なっています。
また、開発は以下のような流れで行います。
主な開発の流れ:
- プロダクトマネージャーが会社のニーズに合わせた要件定義を作成
- 開発担当がプロダクトリーダーと機能の設計や、アーキテクチャを相談し納期と実装詳細を決定
- 基本的な開発を実施(必要に応じて要件や実装面の確認、相談を実施)
- 開発後PRのレビューを依頼、修正・変更
- 参考資料とテスト項目一覧の作成(案件によって異なる)
- レビュー後、本番環境に出るまでDEV、 RC、 SANDBOX3つの環境で厳重にQAを実施(QA自体は開発者が行うわけではないが、繁忙期の時に手助けすることもあり。)
- 本番リリース
1日のスケジュールを教えてください
朝9時〜10時の間に仕事を開始します。まず最初に既存タスクの洗い出しを行い、優先順位をつけながら1日のタスクリストをざっくり作ります。午前はPRのレビュー対応、開発機能のすり合わせ(主にSlackで)業務が多いです。
13時〜14時に休憩に入ります。最近運動量が減ってきましたので食事後散歩したり、運動したりするようにしています。
午後は既存のタスクに着手したり、新規機能の開発を行ったりします。手が空いた時は、改善系の案件を行ったり、仕様書の作成、カバレッジされていないコードの単体テストを実装しています。またプログラミングの技能を磨いてスキルアップする時間も多いです。
また、Securitizeはフルリモートなので、海外でワーケーションをすることもあります。その場合、スケジュールが少し変わります。
例えば、ヨーロッパでリモートする際は日本と8時間、サマータイムは7時間の時差があるため、朝3〜4時に仕事を開始し、12〜13時ごろに勤務を終えるような時間帯で働きます。
しかし、他のエンジニアとコアタイムを3〜4時間合わせたら、仕事開始の時間は特に決まっていないため、日本時間の午後から勤務を行う日もあります。
Securitizeで働く魅力について教えてください
沢山ありますが1つ目はSecuritizeのビジネス領域です。Securitizeでは、今注目されているブロックチェーンとモダンWEB技術を活用しています。私は、元々ブロックチェーンに興味はあったのですが、真剣に勉強するまでは至りませんでした。ですがSecuritizeにジョインしたことでブロックチェーンへの扉を開き、仕事を通じて知見を得ることができました。
2つ目は、多方面で金融業界と深く関わっており初対面の時に、格好をつけて「金融業界で働いている」とおしゃれに自己紹介ができる点です。もう一つの利点としては、書類を記入する際の職種欄にて「情報処理」だけではなく「金融」も選べる点です。
3つ目は、金融リテラシーが上がったことです。金融系の会社で働いていることにより、お金に関しての考え方と感覚も変わってきました。例えば私は以前、投資などへの関心が低く、お金の使い方も強く意識していなかったのですが、今はお金への意識が高まっていることを実感しています。(まだまだロバート・キヨサキレベルではないですが)
4つ目のSecuritizeで働く魅力として、開発に採用している技術とアーキテクチャーの選定です。前職はレガシーコードと関わることが多く、プログラミングというより謎解きの仕事でした。Securitizeではこういうことが殆どなく、「謎」と思った際に仲間に聞けばすぐ解決してくれます。その上、モダンWEB技術を採用しており開発で学んだことは今後も生かすことができ、決して無駄になりません。
最後に、色々と魅力的な点が多いSecuritizeですが、私が最も好きなのは会社の文化と雰囲気です。仕事上の質問や相談はもちろん、プライベートの悩みも、皆親友みたいに家族の一員みたいに、話を聞いて相談に乗ってくれます。
また非同期コミュニケーション(Slackメッセージ)という手段のおかげで会議の数を最低限にし、マイクロマネジメントのない働き方が実現できます。非同期コミュニケーションばかりでなく、毎月都内のおしゃれで美味しいお店で交流会を実施している点も魅力的な文化の1つです(飲み会の会場選定は技術選定と同じぐらい難しく、厳しいと思っていただいて良いでしょう。)
Securitizeがグローバル企業だと感じる点について教えてください
Securitizeは本社米国の会社で5カ国にチームが分散されています。米国では主に経営を行っている部署があり、アルゼンチンのチームはコアな部分の開発を背負っており、開発者の数が最も多いです。他にイスラエルの開発チーム、スペインのプロダクトデザインやヨーロッパのデジタル証券市場上場の戦略を行うチームがあります。またカナダやマレーシアからリモートで働いている人もいます。
私たちSecuritize Japanは、日本のクライアントのニーズに沿った機能開発や、プラットフォームを活用した提案を行っています。
このように世界中でSecuritizeのメンバーが働いています。普段オンラインの全社会議やイベントを通じて他国の人と関わることで、グローバル事業に関わっていることを実感できグローバル企業だなと感じています。
先ほどSecuritizeで働く魅力として多数の点を上げましたが、Securitizeで働く魅力のボーナスポイントとして、フルリモート環境が備わっていることが上げられます。出勤する必要がないことで、大事な自分の時間を自己啓発などに使えます。また出勤しないことでコロナウイルス感染拡大防止にも貢献できています。
また勤務地に関して規定がないため、東京ではなく、田舎や山の奥で自然と一体化になり仕事をしたり、リゾート地に行って海を眺めながら仕事ができます。国内だけではなく海外から仕事をすることも可能です。働きながらゆっくり様々な国を探検できる点が魅力です。
私は入社してから以下の国に行きました:
スペイン、オランダ、ドイツ、フランス、コソボ、アルバニア、スイス、オーストリア、チェコ、台湾、ベトナム。
これから予定している国:北ヨーロッパの国、オーストラリア、インドネシア
おわりに
この記事で会社の背景と雰囲気を伝えてみましたが、お読みになった皆さん、いかがでしょうか?少しでも興味が沸きましたか?もしもっと知りたいことがありましたらぜひ質問ください。私は沢山の会社と社風を体験していただきましたが、Securitize Japanは自由度が高く向上心が強く、ユニバーサル・ITエンジニアに育つために非常によい会社だと思います。