[salesforce]Salesforceデベロッパーのレベル10
ちょっと懐かしネタですが、以下のシリーズのSalesforceデベロッパー版を書いてみたいなとふと思いつきまして。
- javascriptプログラマのレベル10
- Perlプログラマ
- Schemeプログラマ
- Rubyプログラマ
- haskellプログラマ
- 堕落したCプログラマ
- HTML知識レベル
- プログラマレベル
- 企業法務
- JavaScriptの業務スキルレベル 判別表 (5段階)
- FPGAプログラマ
- C++プログラマ
- Vim使い
内容に偏りはありますが、とりあえず私の視点からということで。それでは行ってみましょう!
レベル0:
クラウドやSalesforceという単語は知っていますが何を行う物かよく知りません。CRM/SFAが何の略なのかも知りません。Webアプリケーション開発に携わったことがありません。
レベル1:
HTML/CSSをタグ打ちしたことがあります。何らかの言語を使って設計書通りにWebアプリケーションを開発したことがあります。IT業界で働いたりプライベートで情報機器に触るのは好きですが、アプリケーションソフトウェアを開発した経験はありません。
レベル2:
Force.com IDEを使ってSalesforce開発に着手することができます。
他人のコードを見てコピペと改修をしながらSalesforce開発を行う事ができます。
スキーマブラウザを見ながらSalesforceのデータ構造を理解することができます。
レベル3:
リファレンスに記載されているAPEX/Visualforceの機能について一通りの理解をしています。
JavaScriptの経験はありますがライブラリの使用経験はありません。
HTML/CSSについて理解しています。
親子関係の深度や項目型の種類や内容などのSalesforceにおけるスキーマの制限を理解しています。
SOQL/SOSLの利用方法やデータバインドについて理解しています。
レベル4:
APEX/Visualforceの仕組みを理解しています。
MVCモデルの特徴を理解しています。Visualforceページ上でAJAXツールキットやjQueryやprototype.jsを使いこなして、自分の得意な画面開発パターンが定着しています。
Visualforceページで生成されるクラス/ID名の命名規則や生成される各タグの配置順序やSalesforce標準ページのHTMLタグとCSSの構成/利用しているJavaScriptについて理解しており、JavaScriptライブラリの衝突を避けることができます。
DOM操作によりSalesforce上のページを自在にハックすることができます。
SOQLにおいてfor loopやDML処理におけるガバナ制限とその回避策の定石を理解しています。
タブスタイルの設定が毎回面倒であるが、いつの間にか選ぶのが楽しくなってきています。
レベル5:
WebサービスAPI、メタデータAPIについて深く理解しており、外部連携アプリケーションの利用や開発を行うことができます。
電子メールサービスやChatterやバッチAPEXやAPEXスケジューラをAPEXから自在に制御することができます。
Heroku、VMForce、Radian6とSalesforceの相乗効果について理解しておりリリースが待ち遠しくなります。
Salesforceの年3回のリリースアップデートの時期が楽しみになってきます。
レベル6:
自分のアイディアをWebアプリケーションとして表現することができます。
ゼロから案件の開発に着手して一人で開発作業を完遂することができます。
Salesforceの標準機能を理解しており、できる限り開発工数を削減して標準機能を駆使したアプリケーションを提供することができます。
項目やオブジェクトのAPI参照名に独自のセンスを込めることが楽しみになってきます。
レベル7:
Salesforceを使ってパブリックなWebサイトを開発することができます。
Sites、カスタマーポータルを使って一般公開するWebサイトを構築できます。
独自開発のログイン画面やセルフ登録画面の開発を行えます。
APEX/Visualforce上でのXSS対策、CSRF対策、SQOLインジェクション対策、データアクセスコントロールを適切に設計することができます。
SitesのトラフィックやPVのガバナ制限、カスタマーポータルのライセンス料金を理解して、Webサイトの性質とその負荷を考慮して適切な設計を提案することができます。
一般的なWebサイトを開発する際に、Sites/カスタマーポータルが一番開発しやすい環境になってきます。
レベル8:
ガバナ制限について熟知しています。
開発中やリリース後にガバナ制限一覧に表記されていないガバナ制限が見つかってしまっても泣きません。
Salesforce内でのコード設計や標準機能利用によりガバナ制限を回避するテクニックを経験的に熟知しており、APEXだけで無理な場合は外部システムと連携することによりガバナ制限を回避することができます。
最後の手段として、ガバナ制限が緩和されるまで顧客に待ってもらうための妥協案を作成し提案することができます。
それぞれのガバナ制限数値の裏付けを推測したり、毎リリースで改訂されるガバナ制限を自分で予測し始めます。
レベル9:
Salesforceで利用できるAPEX/Visualforceのライブラリの開発、他言語を使ってSalesforceと連携するためのツールキットの開発、OEMやAppExchangeでの独自アプリケーションの開発、ブラウザ拡張や他製品とSalesforceの連携開発の経験があります。
パッケージングのためのコード記法の癖やセキュリティチェックのクリア方法を理解しています。
自分のアイディアや意見をIdeaExchangeやディスカッションボードに投稿してSalesforce自体のアップデートにも貢献を始めます。
レベル10:
IT業界で新しい技術が出現したら、とりあえずSalesforceと連携することを考え検証を始めます。言語やライブラリやWebサービスはもちろん、モバイル、デジタル家電、ガジェット機器、果てにはスマートグリッド、ロボット、EVなどの他業界への応用も常日頃検証しています。
世間の開発者の間でSalesforceがあまりに知られていないことを知り、布教活動を始めます。