本ページにはプロモーションが含まれています

システム開発の現場に必要な技術知識とは?新人SEが押さえるべき基本の「ホ」

新人向け

入社後の研修が終わり、7月からいよいよ現場へ!

「現場でうまくやっていけるだろうか?」

「どんなことするんだろう?」

そんな不安が新人SEにはつきものです。

本記事では、新しく現場に入るSEが押さえるべき基本の「ホ」として「システム開発の現場に必要な技術知識」について解説をします。

新人にもベテランにも有用な情報なので、ぜひ押さえておいてください。

この記事を読むとわかること

  • 新人SEが現場で押さえるべき基本技術の種類と段階
  • 基礎から応用までの技術知識習得方法
  • 現場特有の知識とその重要性

必見!現場に必要な技術知識の種類

システム開発をするためには当然、技術的な知識が必要ですが、これには大きく3つの分類が存在します。

  1. 一般的な基本技術の知識
  2. 一般的な応用技術の知識
  3. 現場特有の技術知識

このうち「一般的」なものはネットや書籍で情報を得ることが可能でが、「現場特有」のものについては、その現場でしか得ることができません。

具体例を挙げて、まずはそれぞれ簡単に説明します。

一般的な基本技術の知識

JavaやPHPなどのプログラミング技術です。

システム開発=プログラムへの落とし込みであるため、プログラミングができないと最終的な成果物が作れません。

ただし、この知識だけでシステム開発が完結する現場はおそらく皆無です。

プログラミング技術は、最低限必要な知識となります。

一般的な応用技術の知識

フレームワークやツールといった「特定目的のシステムを作るために揃えられたプログラム群」がこれにあたります。

JavaのWebアプリケーションであればSpring、PHPならLaravel、JavascriptであればReactなどが例として挙げられます。

JavaやPHPだけでWebアプリケーションを作成しようとすると、セキュリティや通信部分の作り込みが必要となりますが、フレームワークを使うことで省略が可能です。

西暦2000年前後、まだメジャーなフレームワークが無かった頃は、システム開発ごとに作り込みを行う現場が多く、ルーティングから業務ロジック実装箇所も現場ごとにバラバラでした。

筆者は同じ会社の3つのサブシステムの保守を担当していましたが、3つとも実装ルールが違う(使用感は同じなのに!)のでそれぞれ覚える必要があり、苦労した経験があります。

ただし、この知識でも十分でない可能性があります。

市場的には「Laravelができます!」というと価値は上がりますが、「これさえあれば現場に入った後、何の勉強もしなくてよい」というわけではないので注意してください。

現場特有の技術知識

「それなり」の品質、効率でよければ「一般的な応用技術の知識」の範囲で作るのが最も効率がよいです。
(要求レベルがハッキリしているため、技術者の確保も容易。公開情報であるため習得も容易)

しかし、現場によっては、より効率的に、より簡単に、でもセキュリティは強固に、ということが求められるケースがあります。

例えば、ミッションクリティカル(人命にかかわる、大量の金銭を取り扱う)なシステムや、大量の機能を(それなりのレベルの技術者で)作成したり、長期間利用(保守)するようなシステムです。

この場合、独自にライブラリを作成する、既存のフレームワークを拡張する、などの手法が取られます。

個人的には、特定業務に特化しすぎるシステムは良くないと考えていますが、いまだに需要はそれなりにあるようです。

※ERPなど「効率的な業務方法をパッケージ化して提供」しているものに対して、自社業務に合わせてカスタマイズする=効率的な業務方法を崩すという事例がよくきかれました

一般的な基本技術の知識の習得方法

新人システムエンジニアとして現場に入る際、まずは言語の基本文法は最低限、身につけておくことが大切です。

PHPを例にすると、たとえば、変数宣言には「$」を付けることや、文の終わりには必ずセミコロン「;」を付けるなどです。

制御構文も押さえておきましょう。条件分岐には「if」や「switch」を使い、繰り返し処理には「for」や「while」を活用しますも理解しておくことが重要です。

次に、その言語でよく使われる文法を学んでおきましょう。

PHPであれば、配列や関数の利用でしょうか。

特に、連想配列多次元配列の扱い方を学んでおくことで、複雑なデータ構造を効率的に管理できます。

最後に、余裕があれば、言語独自の注意点や文化を学んだ方が良いです。
ただし、これは現場に入って他の人のソースを見ながら学ぶのでもよいでしょう。

PHPであれば、動的型付け言語であるがゆえの実行時に型違いエラー、空文字判定のクセ、PHPに公式拡張ライブラリが存在する文化が特徴的でしょうか。

何はともあれ、最初に公式リファレンスのブックマークはやっておきましょう

一般的な応用技術の知識の習得方法

応用技術は多岐に渡ります。

新しいものも次々に作られるうえ、すぐに消えてしまうもの、長く残るものがあり、さらに身に付けたからといって、その現場では使っていない可能性もあります。

新しいものが出るたびに趣味で試す人もいますが、そこまでの情熱がなければ

  • 確実に現場で利用することが分かってから勉強する
  • メジャーなものを勉強する

方針でよいかと思います。

ただし、フレームワークは便利ツールであるため、基礎(プログラミング技術だけではない)を知っていることが前提となります。

PHPのWebアプリケーションフレームワークであるLaravelを例にすると、基礎とは「PHPの知識」「Webアプリケーションの知識」が前提です。

ここでいう「Webアプリケーションの知識」とは「ルーティング」「MVCアーキテクチャ」です。

前提知識を持ったうえで、書籍+実践を行うのがオススメです。

なお、現場で利用しているからといって、フレームワークを効率的に使えているとは限らないため、フレームワークを学ぶのであれば、書籍を利用した方が良いです。

※公式リファレンスで理解できるならその方が安上がりですが、難易度が高いです。

現場特有の技術知識:プロジェクトに合わせたカスタマイズスキル

現場でのシステム開発では、プロジェクトごとに異なる要求や、特有の技術要件に対応するスキルが求められます。

これらは、「一般的な応用技術」でも満足できないから必要なものなので、正直、新人のうちは取っ付きにくいと思います。
加えて、他の現場では基本的に役に立たない知識なのもマイナスポイントです。

ただし、現場でちゃんとした戦力になるには必要な知識ではあるので、「一般的な」技術とは分けて習得しましょう。

現場特有の技術知識の習得は、基本的に現場でなければできません。

予習が効かない、Web検索しても情報は出てこないので、日々の業務で習得するしかありません。

習得のコツについては、新人SEが押さえるべき基本の「ン」で解説します

まとめ

本記事では、「システム開発の現場に必要な技術知識」について、3つの分類を解説しました。

現場デビューすると、様々な情報が飛び交いますが、「一般的なものなのか」「その現場特有のものなのか」を区別することは、理解をするうえで非常に重要です。

予習できるところはしておき、現場でしかできないことが現場で習得するのがSEの基本スタイルになります。

新人もベテランも、その点は変わらないので、長いSE人生を楽しむために、この考え方を持っておくとよいです。

この記事のまとめ

  • 新人SEは、基礎技術、応用技術、現場特有の知識を段階的に習得することが重要です。
  • 現場での成功には、これらの知識をしっかりと身につけることが不可欠です。
  • プロジェクトに応じたカスタマイズスキルや業界特有の知識も重要です。
タイトルとURLをコピーしました