はじめに
私はこれまで、エンジニアに必要なスキルとして、こんなイメージを持っていました。
- AWSやAzureなどのクラウド技術
- PythonやVBAなどのプログラミング言語
- 業務自動化のためのツール開発スキル
- 顧客の要件をヒアリングする力
・・・など。
つまり、「技術スキルを持っていて、顧客に色々と確認しながら求められるツールを作って提供していく」というスタイルです。
これは間違っていません。 むしろ、多くのエンジニアはこのスタイルで仕事をしていますし、これで十分に価値を提供できていることもあります。
しかし、SAPエンジニアという職種を最近知り、そこで色々と考えたことがあるので、
今回はその学びを共有したいと思います。
SAPエンジニアという存在
SAPエンジニアとは一般的なシステムエンジニアとは少し異なり、SAP製品に特化し、かつ業務知識(特に経理・会計)を持つエンジニアのことを指します。
確かに、例えば経理に関するツール開発をお願いされたとしても、経理のことをあらかじめ知っておいた方が話が早いということも多いので需要性は高いと思います。
SAPとは?
SAPとは、ドイツのSAP SE社が提供するERP(Enterprise Resource Planning)パッケージの製品名です。
ERPとは、企業の経営資源(ヒト・モノ・カネ・情報)を統合的に管理するシステムのこと。SAPは世界的に広く使われているERPパッケージで、以下のような業務を一元管理できます。
- 財務会計・管理会計
- 販売管理
- 購買管理
- 在庫・物流管理
- 人事・給与管理
- 生産管理
など。
特に大企業や中堅企業の基幹業務システムとして採用されることが多く、グローバル展開している企業では標準的な選択肢の一つとなっています。
実際にSAPを見てみた:Udemyでの学び
SAPエンジニアを知った時、SAPはそもそも1つのパッケージなので、その使い方さえ分かれば良いということなのかな?とちょっとピンときませんでした。
それで、SAPと経理についてもっと理解を深めたいと思い、Udemyの講座「SAP×簿記で学ぶ!初心者のための経理システム入門」を受講してみました(ちょうどUdemyセール中で安くなっていたのも良かったです)。
この講座でSAP S/4HANAの実際の動きを見て、大きな気づきがありました。
パッケージを使うにも簿記や経理などの知識が必要
最初は「S/4HANA画面に数字を入力していければいいのかな?」と思っていたのですが、そうではありませんでした。
SAPを使うには、簿記の知識に従ってユーザーが自分で判断する必要があるのです。
例えば
- この取引は「現金」勘定なのか「預金」勘定なのか
- 借方に記入すべきか貸方に記入すべきか
- この費用は「販売費」なのか「一般管理費」なのか
これらを理解していないと、正しくSAPに入力することができません。つまり、簿記の知識がないとSAPは使えないのです。
システムを作る側の視点
さらになるほど、と思ったのは、SAPはただ与えられたものを動かすだけではないということです。
企業の要件に応じて、こちら側が
- 業務フローを要件定義する
- システムをカスタマイズして改善する
- SAPシステムに落とし込む設計をする
ということができるのです。
そして、これを実現するにはSAPのFI/COモジュール(財務会計/管理会計)の知見が重要であることを知りました。
単にSAPの操作方法を知っているだけでなく、財務会計・管理会計の仕組みを理解し、それをシステムでどう実現するかを設計できる力が求められるのです。
SAPエンジニアの仕事内容
次に、SAPエンジニアは具体的にどんな仕事をするのでしょうか?
調べてみると、主に以下のような業務があることが分かりました。
1. 要件定義・設計
企業の経理業務をヒアリングし、SAPシステムに落とし込むための設計を行います。
例えば。
- 「月次決算を5営業日以内に完了させたい」という要件に対して、どのように業務フローを設計するか
- 「部門別損益を可視化したい」という要件に対して、管理会計モジュールをどう設定するか
- 既存の勘定科目体系をSAPの勘定科目にどうマッピングするか
ここで重要なのは、顧客の業務を理解する力です。「仕訳とは何か」「減価償却の仕組み」「決算の流れ」といった経理知識がないと、適切な要件定義はできません。
2. 設定・開発
SAPの財務会計(FI)や管理会計(CO)モジュールの設定や追加開発を行います。
具体的には。
- パラメータ設定: 会計年度、会社コード、勘定科目表などの基本設定
- マスタ登録: 勘定科目、原価センタ、得意先・仕入先などのマスタデータ登録
- カスタマイズ: 企業固有の業務要件に合わせた設定調整
- 追加開発: 標準機能でカバーできない要件に対して、ABAP(SAPの開発言語)などでプログラム開発
ABAPというプログラミング言語を使いますが、何を開発すべきかを判断するには前提としてその業務知識(今回の場合は経理の知識)が必須です。
3. 運用・保守
システム稼働後の問い合わせ対応、トラブルシューティング、機能改善提案を行います。
例えば
- 「この仕訳が正しく転記されない」というトラブル → 設定ミスか業務フローの問題かを切り分け
- 「決算処理が遅い」という課題 → ボトルネックを分析して改善提案
- 「新しい勘定科目を追加したい」という要望 → 影響範囲を確認して対応
ユーザーは経理部門の担当者なので、彼らの言語で会話できる必要があります。 技術的な説明だけでなく、業務的な観点からの説明ができることが重要です。
・・・といったように、経理の知識を前提にユーザーから求められた仕様などを設計しそれをSAPに落とし込むというのがSAPエンジニアの仕事らしいということが分かりました。
(もちろんこれだけが仕事ではないです)
(※とはいっても私はまだそこまで専門的な知識を持っているわけではないので、間違っているところもあるかもしれませんが・・・)
まとめ:技術×ドメイン知識の可能性
ここまでで、SAPエンジニアという職種について調べてきました。
ここから分かったのは、何かに特化したエンジニアには確実に需要が高いということです。
むしろ、技術スキルだけのエンジニアよりも、業務知識を併せ持つエンジニアの方が希少価値が高く、より高度な仕事を任されることが多いのではないでしょうか。
そのほうが顧客側と同じ視点で会話しながら仕様を決定させたりこちらからも提案したりなどしやすく重宝がられそうですね。
または、同じ視点でというのは難しくても、ある程度の基礎知識があったほうが顧客も話しやすいかなと思いますし、信頼性も高まりそうだなと思いました。
そして、これはSAP・経理分野に限った話ではありません。
他にも、
- 医療系システムのエンジニア → 医療知識・電子カルテの仕組みを理解
- 物流系システムのエンジニア → 物流業務・在庫管理の知識を理解
- 製造系システムのエンジニア → 生産管理・品質管理の知識を理解
- 人事系システムのエンジニア → 労務・給与計算の知識を理解
・・・と、このように、
エンジニアは技術だけではなく他の専門性も掛け合わせると強い場合もあるのだと思いました。**
もちろん、冒頭で述べたように、技術スキルを軸にして幅広い顧客にサービスを提供するスタイルも立派なキャリアです。しかし、特定の業務分野に深く入り込み、技術×ドメイン知識の掛け算で価値を出すという選択肢もある、ということを知っておくと、キャリアの可能性が広がることもあるのだな、と気づきました。
そして、自分の興味がある分野、これまでの経験がある業務領域があれば、そこにエンジニアリングのスキルを掛け合わせてみる。そんなキャリアの築き方もあるのだと、SAPエンジニアという職種を知って学びました。
この記事が、エンジニアのキャリアを考える一つのきっかけになれば幸いです。