SE(たぶん)の雑感記

一応SEやっている筆者の思ったことを書き連ねます。会計学もやってたので、両方を生かした記事を書きたいと考えています。 でもテーマが定まってない感がすごい。

Lightning Experience Specialist取得(Trailhead)

trailhead.salesforce.com

取りました。

f:id:hiroronn:20200621150136p:plain

これはなに

Salesforceの学習サイトTrailheadのSuperbadgeというものです。

trailhead.salesforce.com

一連の単元をまとめたものをモジュールと呼びますが、それの高難易度版みたいなものです。問題に従ってSalesforceの実際の環境を操作し、代位を満たすような開発ができたらOKです。

こちら、受験資格を得るには複数のモジュールをクリアせねばなりません。今回だと下記の通り、4つのモジュール合格が前提になります。

f:id:hiroronn:20200621154321p:plain

すごいのか

わかりません。Salesforce触り始めて二カ月半の私が合格できるぐらいですし、そこまですごくないと思います。

とはいえ、かなり難しかったです。私は一週間かかりました。6時間って書いてあるのに!

難しかったところ

全部英語

問題文は全部英語です。Trailheadはわりと日本語訳頑張ってくれているのですが、Superbadgeはそんなことありません。

問題文だけならよいのですが、Salesforce環境も英語でやります。テストでデータチェックやラベル名チェックがありますが、これが英語前提(姓名が日本と逆とか)で行われます。

問題文で「ここはこうしてね」という正確な意図がつかみきれないことが多々ありました。英語力低い。

As long as the opportunity stage is not Cancelled at the time an adventure is added and a fulfillment has not already been created for the adventure package, you create a new fulfillment record, and automatically populate several fields from the opportunity, adventure, and adventure package data.

一部抽出するとこんな感じで普通に文章です。このぐらいならどうということはないですが、全部これなので…

問題8:レガシーデータのインポート

概要は、

レガシーシステムから出力したExcelファイルあるから、それSalesforceにインポートしてね

です。本当に問題文はこの程度の情報しかありません。びっくりしました。

これ、本当にきつくて。単にインポートするとチェックが通りません。「商談に商品追加するときのデータ構造」や「この商談の関係者って誰だっけ?どうやって扱うんだっけ?」などをきちんと理解しないと辛いです。

最大のはまりどころは、最初から登録されているデータを全部削除しないといけない点です。書いてよ。実際にはデータ消す必要ないのかもしれませんが、結局クリアできずに全部消しました。

なお、私は何をミスったのかデータ不整合を引き起こし、インポートのチェックを通過できそうになかったので、環境を一から作り直しました。おかげでいろんな操作を覚えました。

エンジニアには楽なところ

商談商品オブジェクトが作成されたら、対応するオブジェクトを作って

という問題がありまして。これはエンジニアなら直観的にわかるのでは、と思います。上記ぐらいの要件だったら、ソースコードは一行も必要ありません、ポチポチやれば完成します。すごく楽。Salesforceすごい。

実際は

  • オブジェクト作ってね
  • 商談にフラグ立ててね
  • 商談所有者にToDo作っておいてね
  • 商談商品の値を見て商談の状態更新してね
  • 14日後にChatter*1にリマインド投稿してね

という問題です。これ全部ソースいりません。めっちゃ楽。

エンジニア的にも、元の設計がちゃんとしていればただの作業のような実装です。Salesforceよくできてる。

今後

Salesforceは、基本画面上でポチポチやっていくほうが生産性良くて、エンジニアがいないような組織だとソース管理されていないと思います*2Salesforceのソース管理が面倒という側面もあります。

というのも今は昔。Salesforceがすごく頑張ってくれて、SFDX(Salesforce Developer eXperiment)というソース管理しやすい仕組みを提供してくれています。

そして新しい開発手法を提唱しています。それを学習しています。

trailhead.salesforce.com

Salesforceには、Lightning Web Componentという開発者ならさくっと触れるようになるし、うまくやればSalesforceの使い勝手を向上させる可能性のある仕組みがあります。それを開発者が使いやすくするためにも、ソース管理とそれに付随した開発環境構築は必須と思っています。

このあたりを深堀りしてみます。

おわりに

Salesforce意外と楽しいので、開発者の人もたしなみの一つとして触ると楽しいと思います。ではでは。

*1:Salesforce付属のチャットツール

*2:それ以前に設計がされていないところもいっぱいありそう