「コンサルに開発力は必要なのか」
今回は、この質問に私なりの考えで回答します。
■対象者 ・SAP業界に従事する業界歴1~3年の人 ・未経験からSAP業界への転職を考えている人 ■この記事で理解できること ・キャリア形成における開発力の必要性を理解できる ・キャリア形成においてエンジニアを経験するか否かの判断がしやすくなる
コンサルに開発力は必要か
結論から言うと、開発力がなくてもコンサルになれます。
ただし、当ブログでは開発力を身に着けておくことを推奨しています。
なぜ開発力がなくてもコンサルになれるにも関わらず、開発力を推奨するのか。
その理由は、開発工程をクリアにイメージできるからです。
具体的には、以下です。
- 開発者と話がしやすくなる
- コンサルは顧客だけでなく、開発者とも話をします。開発力があれば、要件定義・設計から開発へ引き渡す際に開発者の目線で会話ができるため、意思の疎通がしやすくなります。
- コンサルは顧客だけでなく、開発者とも話をします。開発力があれば、要件定義・設計から開発へ引き渡す際に開発者の目線で会話ができるため、意思の疎通がしやすくなります。
- 開発における難所がわかる
- 開発において、この処理が難しい、バグを起こしやすい、といった感覚値が身につきます。要件定義や設計の段階で開発を見越した仕事ができると、できあがる機能の品質が上がります。
また、開発後の受入(テスト)をする際も、この難所を重点的にテストするなど後続フェーズでも役に立ちます。
- 開発において、この処理が難しい、バグを起こしやすい、といった感覚値が身につきます。要件定義や設計の段階で開発を見越した仕事ができると、できあがる機能の品質が上がります。
- 開発工数、パフォーマンスの見積もりができる
- 要件定義では開発工数を概算します。工数によって金額が決まり、開発するorしないの判断をするわけです。この見積もりがしやすくなり、かつ見積もりの精度も上がります。
- 要件定義では開発工数を概算します。工数によって金額が決まり、開発するorしないの判断をするわけです。この見積もりがしやすくなり、かつ見積もりの精度も上がります。
- 機能調査が早くなる
- コンサルといえどコードを見る機会は、結構あります。テストフェーズにおける調査、問い合わせ対応、既存機能の改修、追加機能検討に伴う影響調査、・・・。こういったタイミングでさっとコードを見て、対応を判断できるのとできないのでは、仕事の幅とスピードに差が出ます。
開発力がなくてもコンサルにはなれますが、コンサルになった後に苦労することが多い印象です。
そのため、後々のことを考えると多少時間がかかっても、開発スキルを身に着けてからコンサルになる方がよいと考えています。
開発力をつけることのメリット
開発力をつけることのメリットは、大きく2点あります。
- 要件定義の質が上がる
- 設計~稼働までのフェーズをこなせる
要件定義の質が上がる
先ほどのとおり、開発力があれば要件定義の質が上がります。
要件定義では、「どのような機能を作るか」を詰めていくわけですが、開発力がある/ないでは詰める精度に大きく差が出ます。
たとえば、開発工数の見積もりにおいて、開発・テストの難所がわかっていれば、それを鑑みて工数を算出できるわけです。
また、今はSAPの新規導入だけでなく、SAP導入済み企業のバージョンアップ案件も多いです。そうなると必然的に現行システムの理解するために、コードを見る機会も増えますので、コードの読解力がパフォーマンスに直結します。
設計~稼働までのフェーズをこなせる
また、開発力があると要件定義から稼働までをこなせます。
要するにプロジェクトの最初から最後までこなせるわけです。
※プロジェクトの一連を、要件定義→設計→開発・テスト→稼働(運用・保守)とします。
設計以降のフェーズでは、開発力が必要になってきますが、その比重が高くなります。
開発力がなくても仕事はこなせますが、パフォーマンスは出しにくいでしょう。
なお、「要件定義だけやればいい」という反論もありそうですが、クライアントとしては要件定義をした人が稼働までいてほしいですよね。要員募集時に要件定義で抜けてしまう人よりも、稼働まで見れる人にお願いしたいでしょう。特別な理由がなければ、稼働までいた方が(いれる方が)いいです。
また、要件定義だけのプロジェクトが都合よく転がっているわけでは、ありません。
守備範囲を広げるためにも、開発力を身に着けておいて損はないです。
どれくらいの開発力がいるのか
具体的には、次のことが一通り経験できていればOKです。期間としては、5年程度(学習が早い人であれば3年程度)あれば習得できる見込みです。
- アドオン機能をイチから開発~単体テストをした経験(=既存機能の改修ではない)
- DBの作成
- ALV機能の開発
以下は「あれば、なお良い」経験です。
- 汎用モジュールの開発、改修経験
- Dynpro
- 設計書作成
また、これらは「何も資料を見ずに作業できる」ほどの高レベルは必要ありません。
他人の助力なく、一人でもなんとかできるレベルでよいです。過去の資料見て思い出しながらできる、ちょっと調べながらやればできる、でいいのです。
この自力で解決できる、ということが重要です。このレベルであれば、コンサルになっても開発経験を活かして仕事ができると考えています。
開発力を身につけるには
開発力を身につけるには、実務ベースで経験を積むことが望ましいです。
独学での学習は、難しいためオススメしません。
ABAPを学習するには、Webサイトや書籍が充実しておらず勉強しにくいです。また、少し勉強したレベルでは実務で通用しません。
そして、実務で経験を積む場合は、SAPを扱うSIer企業に入社する方が良いでしょう。
SIer系とは、自社でシステムを持っている会社を指します。
自社でシステムを持っていない会社に比べて、研修でもプログラミングが手集めになります。
また、キャリアステップも、いきなりコンサルになるのではなく、エンジニア→コンサルという流れが一般的ですので、当ブログ推奨のキャリアとマッチしています。
最後にABAPに関してわかりやすいページを紹介します。
SAPエンジニアが最初に読みたい書籍については、以下にまとめております。
コメント