【朗報】社内SEはプログラミングができなくても大丈夫です。でもできた方がいい。

プログラミング

記事の背景

社内SEはプログラミングができなくても大丈夫なのか?について考察します。

筆者はWeb系事業会社で社内SE兼インフラエンジニアをしております。ご参考になれば幸いです。

社内SEはプログラミングができなくても大丈夫なのか?

結論

社内SEはプログラミングができなくても大丈夫です。でもできた方がいいです。

社内SEがプログラミングができなくてもつとまる理由


以下の通り。

  • 社内SEの業務範囲は広く、開発だけではないため
  • 社内SEが直接開発に関わる必要があるのは、スタートアップかベンチャーのWEB系自社開発企業

社内SEの業務範囲は広く、開発だけではないため

社内SEの業務内容は会社の規模、事業内容、常駐エンジニアであれば商流など色々な要素が関係してきますが、ほとんどのPJTでは開発が主業務ではない場合が多いです。

業務内容としては、各種ヘルプデスク対応、コーポレートインフラの構築や管理、IT資産管理、セキュリティ対応、システム導入や運用など会社の運営に関わる部分が多いです。一方、サービス開発は専門のエンジニアが担う場合が多いため、社内SEが開発に関わることは少ないでしょう。

一方、組織の規模によっては、情シスと他のタスクを兼務する場合があるかもしれません。例えば、スタートアップやベンチャーーなど、少ない人数で複数のタスクを掛け持ちが必要なフェーズの組織であれば、開発兼情シスとか、総務兼人事兼情シスとかのパターンもありそうです。

また、商流によっては情シスに配属になったが、新規システム開発に関わる場合があるかもしれませんので、その場合はプログラミングが必要となる場合もあるでしょう。

このように、組織の規模や商流によっては、プログラミングが必要となる場合があるかもしれませんが、一般的には直接開発に関わらないため、プログラミングができなくても問題ありません。

【参考記事】
商流については以下の日本で働く外国人エンジニアの寄稿がとても参考になります。

本記事との関連性は薄いトピックなのですが、記事内に日本のIT業界についての鋭い考察があり、とてもまとまっていてわかりやすいため共有いたします。

>> 日本のIT業界はとてもユニークです


社内SEが直接開発に関わる必要があるのは、スタートアップかベンチャーのWEB系自社開発企業


上記で述べたように、組織のフェーズや規模によっては開発エンジニアが社内SEを兼務する場合があります。

例えば、筆者が所属する組織もそうですが、組織の人数が10名を超えたら、現在主流であるゼロトラストセキュリティに対応したコーポレートインフラを構築する必要があると考えます。

理由は悪意のある第三者は組織の規模や人出が厚い薄いを考慮してくれないからです。つまり、どのような規模の組織でもセキュリティ事故に遭遇する可能性があるからです。そのため、社内SEを立ててセキュリティを確保するべきです。

最低限でもAzure ADなどのIDaaSサービスと、Google WorkspaceやMicrosoft365などのクラウド型オフィスツール、Microsoft IntuneなどのMDM(端末マネジメントシステム)は導入するべきです。

これにより、各SaaSにシングルサインオンでログインしつつ、クラウド型オフィスツールを適切な権限で使用しつつ、許可された端末(PC、スマートフォン、タブレット)のみが組織のデータにアクセス可能にすることができるため、最低限のセキュリティを確保しつつ、テレワークにも対応することができます。

このようなある程度モダンなコーポレートインフラを構築して運用するためには、ある一定程度の論理的思考能力とITリテラシーが必要なため、必然的に開発エンジニアが社内SE的を兼務する必要が出てきます。

社内SEがプログラミングできた方がいい理由

  • 業務効率化ができる
  • エンジニアやベンダーと会話しやすい
  • 周囲と差別化できる(転職に有利)

業務効率化ができる


プログラミングができると業務効率化ができます。以下は例です。

  • 定例作業の自動化(RPA)
  • 定例作業の自動化(プログラム)
  • 情報収集の自動化(プログラム)

定例作業の自動化(RPA)

UiPathやMicrosoftPower AutomateなどのRPAツールを使って定例業務を効率化できます。定例業務は自動化してしまって、ロボットに任せた方が、残業しなくて済みますし、ミスも減ります。


定例作業の自動化(プログラム)

例えば、サーバーのログ取得などは、CRONとBashを組み合わせれば自動取得可能ですし、朝のブラウザ立ち上げなどもWindowsであればバッチ、Macであればシェルスクリプトを書いておけばワンクリックでブラウザ起動や各SaaSへのログインができたりします。

情シスの例ですと、キッティング(入社時にPCをセットアップする)などは各種設定投入を自動化するスクリプトを書いておけば、かなり手作業を簡略化できますので、作業スピードと精度が上がります。


情報収集の自動化(プログラム)

例えば、PythonとBeautifulSoupなどのライブラリを使って、ネット上の情報をスクレイピングすることで、面倒な検索や情報収集も自動化できます。

結果として、定例業務を延々と手作業で行うなどの無駄な時間を過ごさなくて済むようになります。


エンジニアやベンダーと会話しやすい


社内SEは社内のステークホルダーや社外のベンダーと絡む機会がどうしても多いのですが、プログラミング知識があると、社内のエンジニアや社外のベンダーとある程度同じ目線で会話ができますので、話が大きくずれたり、噛み合わないということは少なくなります。


プログラミングの学び方とおすすめの言語

プログラミングの学び方

プログラミングの学び方は色々ありますが、この記事では以下の分類をしてみました。

完全独学 メリット
・安価
・在学、在職したまま対応可能
デメリット
・挫折しやすい
・高い検索能力、期待値判断能力が必要
挫折理由
・初学者の仲間がいないと孤独
・自己管理能力が高くないと難しい
・レビュアーがいないため、コードや考え方が正しいか判断できない
・エラー対処に時間がかかる
独学+メンター メリット
・比較的安価
・在学、在職したまま対応可能
・コミュニティ付きであれば初学者同士で励まし合える
・メンターにエラー対処法や調査方法のアドバイスをもらえる
デメリット
・それなりの自己管理能力が必要
・良質なメンターを自分で選ぶ必要がある
・検索能力、期待値判断能力がある程度必要
挫折理由
・ある程度の自己管理能力がないと折れる
・メンターと合わないと折れる
プログラミングスクール メリット
・半強制的に学ぶことが可能なので、挫折しにくい
・コミュニティ付きであれば初学者同士で励まし合える
・返金保証などもある
デメリット
・講師の質がまちまち(エンジニア経験が少ない講師もいる)
・現役エンジニアにコードレビューをもらわないとほぼ意味がない
・ポートフォリオが均一化しやすい
挫折理由
・金銭的理由
・講師やカリキュラムと合わない
その他
・ただし、良質なポートフォリオを作る目的ではなく
プログラミングの基礎やITリテラリーを学びたいだけなら、
現役エンジニアから学ばなくてもそれほど問題はない
番外編:職業訓練校 メリット
・給付金を受けながら学習ができる
デメリット
・社会人の場合、退職する必要がある
・使用言語やフレームワークがレガシー
・通学の必要あり
・開催時期と場所がマッチしない場合あり
・就職のサポートが画一的
・就職の紹介先がSES多め
・モチベーションが著しく低い受講生が一定数いる
・エンジニア就職できるかは自分次第

おすすめのプログラミング言語とその理由

Ruby ■理由
・モダンなWeb系ベンチャーやスタートアップ企業で求人数が多い
・日本人が開発した言語なので、学習時に良質な教材が多い
PHP ■理由
・Ruby同様モダンなWeb系ベンチャーやスタートアップ企業で求人数が多い
・WEBページのデファクトCMSであるWordPressがPHPで開発されており、一定の需要がある
・以前ソーシャルゲームの多くはPHPで書かれていた経緯がある
Python ■理由
・機械学習に強い
・ライブラリが豊富
・文法がシンプルで初学者でも取り組みやすい
Bash ■理由
・Linux上の作業を自動化できる
・インフラエンジニアの業務で利用頻度が高い
SQL ■理由
・データベース操作用の言語であり、求人数が多い
・非エンジニアでもデータ分析に利用可能
・業務効率化やデータ分析に有効なため、人材の差別化になる

プログラミングの学習方法については、以下の記事が参考になります。
>> 未経験から社内SEになるための手順

周囲と差別化できる(転職に有利)


上記のおすすめ言語のセクションでも触れた通り、プログラミングができると他との差別化要素になります。

言い換えると、転職時に有利に作用しますので学習を検討してみるのもアリかと。

なお、プログラミングができるとどの程度市場価値がアップするかどうかは、転職サービスに登録すると客観的に判断可能です。

以下の記事をご参考にどうぞ
>> 転職エージェントに登録してエンジニアとしての市場価値をチェックする

コメント

タイトルとURLをコピーしました