社内SEで必要なスキル
Sal
inhouse_se 社内SEでプログラミングは必要なのか?他にどんなスキルを身につければ良いのか?現役社内SEの筆者の実体験を元に書きました。

社内SEで必要なスキル

  1. 企業のスペック(再掲)
  2. プログラミング言語について
  3. Java言語
  4. 日本言語
  5. #以下は言語以外で必要な技術について
  6. git or svn
  7. ブラインドタッチ
  8. プログラミング
  9. コミュニケーション能力
  10. エクセル
  11. パワーポイント
  12. メール作成能力
title:社内SEで必要となる技術 description:社内SEで必要とされる技術について、プログラミング言語などを中心にまとめました。 #社内SEの必要な知識〜 先日こんな記事を投稿したところ、想像よりもアクセス数が伸びたため今回は技術的な知識に焦点を絞って話を進めていく。
##企業のスペック(再掲)
初めて記事を読む人もいるので再掲しておく あくまで一企業の話であるので他の企業も全てがそうであると言い切れないということで。 企業名:言えない 場所:東京某所 主な業種:言えない 開発あるなし:あり 社員の人数:いっぱい エンジニアの人数:いっぱい 色々言えないこと多いけど、要はデカめな企業のシステム部門ということです。 企業のスペックについては以上。 (質問してくれたら答える。かもしれない。) それではマイル。
##プログラミング言語について
#SQL言語 プログラミング言語なのか?と問われるとちょっと曖昧ですが、少なくともIT技術ではあります。 さて、SQLの使用頻度ですが __少なくともプログラミング言語の中で一番多く使います。__ 大学生だった頃はJavaというプログラミング言語が一番使うと思っていました。 (実際に今も実践経験のない大学生はそう思っているのではないでしょうか?) ところがどっこいJavaなんて比較にならないぐらい使います。 いったいなぜそんなに使うのか? __社内SEでは他の部署からデータの提供を求められます。__ よく聞かれるデータのリクエストは以下の通り。 ・X曜日の顧客の購入人数を見て欲しい。 ・X時の時間帯の購入金額とY時の購入金額の差を教えて欲しい。 ・XXXXという商品がいくつ売れるのか教えて欲しい。 ・売れていない商品のワースト10位を教えて欲しい などなど様々です。 このリクエストが来るたびに社内SEはクエリを組み上げてSQLサーバーへ投げ、 長いレスポンス時間を得てようやく情報を手に入れることができるわけです。 また、__新しい企画、プロジェクトの立ち上げ__の際には、必ずその企画が費用に見合う成果を出せる保証を示してあげなければなりません。 その保証となるのがデータ以外にはないです。 例えば以下のような使い道があります。 ・XXXというサイトからYYYというサイトへの流入数が多い。 ・XXXというサイトの離脱率は他と比べて多いので対策しなければならない。 ・このYYYというソフトではXXXというページのロード時間が長い。 などなどです。 他のIT企業でも同じなのではないか?と思われがちですが。 自社の製品に自分で責任を持たなければならない社内SEという職業はよりSQLに長けている必要があると感じております。 実際私の先輩で技術よりもマネジメントよりの方がいらっしゃいますが、 その方でもクエリの作成はめちゃくちゃ早かったです。 このように、自他含め様々な場面でデータが登場するためSQLを描く技術は必要になるわけですね。
##Java言語
JavaはSQLに比べればそこまで使いませんが、 代わりにコードを見る力、いわゆる__コードレビュー力__は求められてきます。 社内SEでは必ずしも自社で開発を行なっているわけではなく、外部の会社に開発を委託する場面も当然あります。 脱SIerの動きが活発になってはきましたが、まだまだ自力で全てを賄うほどではありません。 そんな時に大事なのが、コードを見る力です。 協力会社の方が書いたコードは適切か、規約に反したコードを書いていないか(書いていたら容赦なく鉄柱を下します。)、そもそも費用に見合うコードを書く能力があるのかどうかまで見なければなりません。 一番大切な観点は__セキュリティ的に問題がないか__が特に重要です。」(SQLインジェクションが発生する余地はないかどうか) これらをソースから読み取って判断し、最終的にお金を払えるものかどうかを決断しなければなりません。 以上の理由から、社内SEはJavaをかける必要はないが、__Javaを読める必要はあるというわけです。__
##日本言語
冗談じゃなく必要です。 社内SEという仕事をすごい洗い粒度で見た場合、__上司と部下or協力会社の橋渡し__ということになります。 それを円滑に行うための説明能力が必要になってくるわけです。 逆に英語は必要ないです。
###以下は言語以外で必要な技術について
##git or svn
何かと使います。 例えばソースコードの以前の内容を把握したりだとか、 ソースの改修案件で改修前後のソースを比較してエラーやセキュリティ事故が起きないかどうかとか ありとあらゆる場面で必要になってきます。 最終手段としてソースという現物の前後比較を上司に見てもらい、説明を納得してもらう-なんて場面も出てきたりします。
##ブラインドタッチ
ブラインドタッチについて、多くのプログラマー・エンジニアが必要か、必要でないかの論争はいまだに存在し、決着がついていないのは事実です。 ですが、社内SEの現場においてはおそらくほとんど決着はついてます。 答えは、__必要あり__です。 なぜ必要かと言いますと、 __周りが全員ブラインドタッチができる__からです。 全員ブラインドタッチで高速タイピングをしているところで人差し指オンリーでタイピングしているとかなり目立ちます。 また、多くの情報が飛び交い、社内の人間の要望に素早く応える環境に適応するためにはチャットでの高速タイピングは必要不可欠です。 早めに練習しておきましょう。
##プログラミング
プログラミングが必要かどうかは会社の方針によることが多いと思います。 ちなみに私が勤めている会社はプログラミング能力必須です。 おそらく読者の中には開発は全て外部に任せて、その開発過程がうまくいっているかどうか確認する会社に勤めている人もいます。 また、サポートデスクのように、開発を行うというよりは社内のPCの困りごと解決のような部署で働いている人もいるでしょう。 そういった方々であればプログラミング能力が必要でない可能性もありますが、ここでは自社の話に焦点を絞っておきます。(他社はどうなんだろう?教えて詳しい人) さて、自社はプログラミング能力は求められておりますが、__実際に書いているわけではないです__ コードを書いている割合は1/4程度であとは外部の人たちに任せることが多いです。 なぜ書けるのに書かない人がいるのかというと、 それは単に__時間がない__からです。 なぜ時間がないかというと、たくさんのプロジェクトを同時並行で推進しているからです。 優秀な人たちの一つのプロジェクトにかける時間をなるべく少なくし、同時並行で別のプロジェクトに時間を割く方が会社の効率は良いということでしょうか。(3年目のちんちくりんにはわからない教えて詳し人) じゃあプログラミング能力いらないじゃんってことになりそうですが、 かける人がマネジメントした方が、プロジェクトを推進する上で協力会社の信用を得やすいので、 その方が結果的に有利なことが多いです。 ちなみに自分はガリガリコードを書いている方の人です。 ハヤクマネージャーナリタイ どんな言語が必要かは別の記事を作成しようと思います。 (主にJavaですけども)
##コミュニケーション能力
言わずもがな。 エンジニア業界に限らず、全ての業界に言えることですが、 特にこの業界でさらに社内SEとなると、 __一般人(社内の非SE)の言いたいことを察する理解力・洞察力__と __システムについて一般人(社内の非SE)に説明できる能力__が必要とされると思われます。 この能力はとても重要で、 一般人はよく「このシステム一日で作れないの?」とか平気な顔で言ってきます。 それを__なぜ一日で作って欲しいのか__を察した上で、__なぜできないのか__を説明しなければなりません。 #以下は、ハードスキルについて
##エクセル
はい、めちゃくちゃ必要です。 弊社ではアホみたいに使用します。 「そのタイプの資料なら、パワーポイントの方が表現力豊かだしその方が良くね?」なんて言ってはいけません。 例えばマニュアルの作成ならエクセルよりもパワーポイントの方が表現力が豊かですし、読み物としての能力も高いです。 ですが__頑なにエクセルで通そうとします__。 (理由は不明です...教えて詳しい人) まぁ普通のIT企業でも設計書とかはExcelで書きますし、 慣れている人が多いからかな...? vlookupとかsumなどの基本的な関数は必要ですし、 グラフの作成までできると安泰です。 ちなみに__Excel VBAができるとめちゃくちゃ重宝されます__
##パワーポイント
先ほどエクセルの方がパワーポイントよりも使われると記述しましたが、パワーポイントも同様に使われます。 というか、会社での会議では基本的にオンラインミーティングで行っており、その際の画面の表示には必ずパワーポイントで作成された資料が映し出されています。 パワポでできると良いのは以下の通り ・図形の書式設定 ・フォントのサイズ変更 ・整った配置 ・__デザインセンス__(意外と重要)
##メール作成能力
これも必要です。 他部署の一般人との会話は社内のチャットなどではなく、主にメールを使います。 (まるで別の会社の人と話をする気分) また、上司に対して正式な書類を送るときもチャットではなくメールです。 日本の律儀な文化はなかなかメールを捨てきれないようです。 メールで必要なスキルは以下の通り ・敬語を素早く錬成する能力(レスポンス速度が必要) ・各位、敬称略などのメール特有の語彙力 CCで入ってきたメールで上司が「五月雨式(さみだれしき)」なんて言葉を使っている文面を見た時には 「かっこいい...」なんて思ってしまいました。笑 #その他のスキル ・ショートカットキー(あるとスピードが上がる。excelで使うと驚かれる) ・teams,zoomのオンラインミーティングアプリの操作能力 #いらない能力 ・英語(誰も使わない。ここにほんですから。) ・飲み会での粋な計らい(そもそも飲み会がない) title:社内SEで必要なスキル description:社内SEでプログラミングは必要なのか?他にどんなスキルを身につければ良いのか?現役社内SEの筆者の実体験を元に書きました。 keywords:プログラミング,python,django,docker,docker-compose