こんにちは。げんきWEB作者の”げんき”です。
この記事ではこれからシステムエンジニアとして働こうとしている方やシステムエンジニアの仕事に興味がある方向けに、現役のSE(システムエンジニア)が現場の実態をご紹介します。
[su_list icon="icon: check-square-o" icon_color="#ed3333" indent="1"]
- そもそもシステムエンジニアってどんな職業
- システムエンジニアの仕事内容
- 仕事する上でのポイント
- 上司や周りの人間関係
- フリーランスってどうなの
- スキルアップの方法
[/su_list]
システムエンジニア
システムエンジニアやインフラエンジニアという言葉を聞いたことがあると思います。何が違うのか?と疑問になるかも知れませんが基本的にはシステムを扱うエンジニアという大きな括りでは同じ意味と捉えて良いと思います。
昔からの友人に仕事を聞かれると説明するのが面倒なので「エンジニアだよ」とか、「コンピュータを使う仕事」とか適当に返事をすることが多いです。
そもそも「インフラ」とは、インフラストラクチャー(Infrastructure)の略語で、「基盤」、「下部構造」などの意味があります。インフラエンジニアとはシステム的なインフラ(基盤)のエンジニアと言う意味合いです。
わたしの職場は某金融系企業のシステムセンターで、EC決済システムの基盤の運用・保守を担当しています。
EC決済システム は、インターネット上のWEBサイトでクレジットカードなどを使って商品を購入、決済をするシステムのこと。
システムエンジニアの仕事内容
実際の仕事内容
実際の現場での業務内容は大きく分類すると7つの分野に分類されます。
※こちらに書ききれないタスクも沢山ありますがザックリとした仕事内容はこんな感じです。
1.セキュリティ関連
- セキュリティ運用①(脆弱性を調査したり修正パッチを適用したり)
- セキュリティ運用②(ファイアウォール機器で不正なIPからの攻撃通信を遮断したり)
- 脆弱性診断立会い(実際の診断は診断ベンダーに依頼)
2.資料作成関連
- 作業計画書の作成
- テスト計画書の作成
- ネットワークの設計書作成
3.性能管理(監視)
- SLA(性能)情報取得と分析
- 業務処理件数とサーバのレスポンス情報採取
- DBの性能情報(AWR)取得と分析
4.作業
- 開発環境でのテスト(各種ネットワークの設定変更作業、サーバの設定変更作業、負荷分散装置の設定変更作業、セキュリティ設定変更作業、SSL証明書の更新作業など)
- 本番環境での設定導入(開発環境でテストした設定を本番の環境に適用する作業)
5.バッチジョブ(シェルスクリプト)運用
- 自動処理を導入するためのタスクやシェルの作成とメンテナンス
6.工数管理
- 案件の費用見積り
- 人員の配置調整など
7.定常運用作業
- システムログやアプリケーションのログ管理
- トラブル発生時の対処と予防処置の導入など
- 定期的なバックアップ運用
これらの業務をスケジュールを詳細に管理しながら進めていきます。業務内容を書き出すとかなりのボリュームになりますが、一人で全てをこなしている訳ではなく5人程度のチームでタスクを分担して業務をこなしています。
基本的にスケジュールにはかなり厳しく、少しでも遅れそうな場合は事前に上司や顧客に報告して理由を説明しなければいけません。
※最近の傾向としては、セキュリティ関連の業務に力が入れられています。
ほとんど毎日のように打合せと資料作成をしています。なぜ打合せがエンジニアの工数に占める割合が大きいのでしょうか?
打合せや資料作成が多い理由
エンジニアが管理しているシステムは顧客の資産であり顧客の意向が最優先されるためです。つまり、顧客の考えとエンジニアの考えが一致して初めてシステムの今後の向かう先が決まるのです。
顧客の考えや思いが全て実現できる訳ではありませんので、システムを保守・管理するエンジニアと顧客が頻繁に打合せを通して意志を共有して初めて顧客の意向がシステムに反映できるのです。
打合せを通して、エンジニアは顧客の意志や考えを確認し、「どうすれば顧客の要望が実現できるのか」を検討します。時には顧客の要望が実現できない場合もあります。その時は代替案を考えて顧客に提案することが必要になります。
打合せ
一般的には、システムエンジニアと言うと、コンピュータの前でもくもくとキーボードを打ち続けているイメージを持たれている方が多いと思いますが、実際の仕事の現場では打合せが非常に多いのです。
システムを幅広い分野で運用担当しているため、トラブル時の対応方針や今後の予定作業の進め方や進捗具合の確認、予算に関する認識合わせなどほとんど毎日と言って良いほど打合せが予定されています。
資料作成
作業の説明資料やトラブルが発生したときの報告資料など打合せと並んで多いのが資料作成の時間です。
管理職へ報告する際の資料となるため、誤字や脱字、間違った記載などが無いように何度もチーム内でレビューを繰り返して作成します。
管理職の方は基本的に立場が上の方になるほどシステムに詳しくない方が多いです。誰が見ても理解できる資料を作成できるかどうか、安心して作業を任せられるか(過去に実績があるか)等、資料を作成する際のポイントがあります。
人間関係
システムエンジニアが仕事上で関わる主な関係者は以下です。
[su_list icon="icon: check-square-o" icon_color="#0a0808" indent="1"]
- 顧客サイドのシステム担当者
- 同僚・上司、BP(business partner)のフリーランスエンジニア
- ミドルウェアのサポート担当者
- ハード保守担当者(CE)
[/su_list]
基本的には、業務方針が決定されると先輩や後輩のエンジニアと2人1組で仕事を進めます。 2人1組で仕事を進める理由は、資料のチェック(誤記や内容)・不正な作業の防止・オペレーションミスの防止などが挙げられますが色々なエンジニアとペアで仕事を進めるため自然に打ち解けられることができるため、人間関係は良好になりやすいです。
フリーランスが多い
システムエンジニアの業界では、フリーランスの方が非常に多くいらっしゃいます。私も現在の職場で5年目になりますが50人以上のフリーランスの方々と一緒に仕事をした経験があります。
わたしの知り合いには、会社員からフリーになられた方が殆どですがフリーランスになる理由は様々なようです。
スキルアップ方法
[su_list icon="icon: check-square-o" icon_color="#0a0808" indent="1"]
- オンラインセミナーなどに申し込む
- 書籍で学習する
[/su_list]
悪いスキルアップの例
仕事をこなしながらスキルアップする方法はオーソドックスですが、中途で転職される方や新人のSEにはあまりオススメできません。
理由としては、事前知識がない状態で実際の現場に配属されても戦力になるまでには非常に時間がかかってしまいます。戦力になれるまで全く自己学習していない方は顧客や周りのSEから評価されずらくなってしまいます。
また、ネットの情報で独学する方法もあまりオススメできません。
理由としては、ネットで自身の思うままに学習しても実際の現場で働く際の知識としては中途半端な知識になってしまいます。
オススメのスキルアップ方法
1.オンラインセミナーや専門の教室で学習する方法
専門の講師がしっかりとしたカリキュラムでSEとして必要な知識を段階を追って教えて下さいます。
※わたしの会社では未経験の中途社員・新入社員として入社すると、3か月間の研修期間がありセミナーでSEとしての最低限の研修を行います。
2.書籍で自己学習する方法
これからインフラエンジニアを目指す方や1年目、2年目のエンジニアでスキルアップしたい方へ是非オススメしたい書籍はこちらです。
28日で即戦力! サーバ技術者養成講座[改訂3版]
わたしも今の会社に就職してすぐに先輩SEから勧められて購入した書籍です。
オンラインセミナーには及びませんが、この書籍ではCentOS環境をインストールして28日で以下のスキルを身に着けることができます。
サーバ技術OSの基礎
- サーバ技術の基礎
- Windows、Linux/UNIXの基礎
ネットワークの基礎
- ネットワーク環境の構築やネットワークに関する基礎知識全般
各種サーバの基礎
- DNSサーバ
- メールサーバ
- プロキシサーバ
- WEBサーバ
システムのセキュリティ
- SSHバージョン
- SSLの仕組み
- ファイアウォール
- 改ざん検知(TripWire)
- セキュリティ強化と応用
データベース
- MySQL(データベースの作成、利用環境の設定、動作環境の設定)
- MySQL利用例(XOOPS)
仮想化
- システムの仮想化
- Xenの概要と環境構築
- VirtualBox
- ネットワークでの仮想化(LVSの仕組み、設定と実行)
運用管理の技術
- ファイアウォール
- ログチェック
- スケジューリング
ドメインの導入
- ドメイン環境の基礎知識
- ドメインの設定・導入手順
- サーバ移行
- その他
上記すべてのスキルを現場で仕事をしながら身に着けようとするとかなりの年月が必要になりますが、この書籍一冊で実際の現場で必要とされるスキルのほとんどすべてを学習することができます。インフラエンジニアとしてのスキルを向上させるには持ってこいの良本です。
まとめ
基盤のことなら運用から構築(一部サーバの開発)まで一通りなんでもこなすスキルを求められる仕事内容ですが、コミュニケーション能力や資料の作成能力など幅広い分野での専門知識とスキルが要求されます。
システムにトラブルが発生すると24時間体制で顧客と会議をしてトラブル発生の原因調査、原因の特定方法、トラブルの解消方法、ユーザーへの報告資料の作成など膨大な時間が使われることもあります。
最近はインフラの知識だけではなく、ExcelマクロやPowerShellなどを活用したデータ等の集計スキルやセキュリティに関する幅広いスキルが求められています。
インフラの仕事に就くと、毎日が勉強の繰り返しのような日々が続きます。その内、顧客から信頼されるようになり作業を任されるようになると資料作成や打合せなどでスケジュールが埋まってしまい個人的な学習の時間を確保することが難しくなってしまいます。
仕事の現場に出る前にできるだけ多くの知識・スキルを習得しておくことをオススメします。