仕事

システムエンジニアの新入社員の仕事内容は?

こんにちは、crz33です。

来春からSI会社に新入社員として入社する方、「どんな仕事するのかな? 大丈夫かな?」と不安になっている人も多いと思います。

今回はそんな方たち向けに新入社員の仕事の内容を紹介し、入社して仕事するのが楽しみとなってもらえたらなと思います。

まずは、自己紹介をしておきます。

[cc id=1588]

書きながらアラフォーなのに「僕は」ってやばいなぁと思いましたが、同世代や上司でも「僕は」って言ってますので、職場では皆さん普通に「僕は」ですね。

「プロジェクト」といってもピンと来ないと思いますが、「食料品の販売サイトのシステムを作る」みたいなものです。ただし、僕が担当してきたプロジェクトは一般の人が使うようなシステムではなく、企業の社員が使うシステムです。

主にシステムのソフトウェア開発を担当してきています。サーバやミドルウェアの設計や構築をするインフラエンジニアという職種もありますが、そちらではありません。

なので、ここでお伝えするないようも、システムのソフトウェア開発寄りになりますのでご注意ください。

入社したら、新人SEはどんな仕事するの?

ズバリ、「プログラミングとテスト」です。

よっぽど上流工程を担当する会社でない限り、新人はプログラミングとテストを担当することになります。

ちなみに僕の会社は、社員は3,000人くらいで、子会社を入れると1万人を超えるかなくらいです。IT業界では上流を担当する位置にいます。

そんな会社でも、やはり最初はプログラミングとテストからです。いまでも僕はプログラミングもやったりします。

「プログラミングやテストって言われても、ピンと来ない」という人も多いと思います。僕も入社する前は、「プログラミングはわかるけど、テストって何?」って状態だったので大丈夫です。

簡単に説明すると、

新人SEのやるテスト

先輩SEが作ってくれた、テスト仕様書と言われるドキュメントを読んで、その通りプログラムを動かして正しく動くかテストします。
テスト仕様書には、「テスト条件」と「期待される結果」が書かれています。例えば「AAAと入力する」と「BBBと表示される」みたいなものです。

最近、読解力が話題ですが、ある程度読解力があればテストすることは難しくないです。テレビやエアコンの説明書を読んで操作するくらいのイメージです。読んでわからなければ、先輩SEが教えてくれます。

プログラミングについては、

新人SEのやるプログラミング

先輩SEが作ってくれた、詳細設計書と言われるドキュメントを読んで、その通りプログラムを書きます。

テストと違ってプログラミングは、プログラミング言語を習得していないとできません。なので、「知らないプログラミング言語でプログラミングしろって言われたらどうしよー」とか不安になるかもしれないですが、大丈夫です。

できないことを、完璧にやれという会社はないです。「ベトナム語をしゃべれないのに、日本語からベトナムへ翻訳しろ」と、無茶な指示はしません。

新人研修で、1つ2つのプログラミング言語の研修があるはずです。大抵はJavaやJavaScriptになると思います。でも、会社にはたくさんのプロジェクトがあり、全部が新人研修で学んだ言語で開発しているわけではありません。

なので、配属先のプロジェクトでもそれはわかっているので、無理なプログラミングを要求しません。学習が必要であれば、学習しながらプログラミングしてね、という感じです。

何を準備したらよい?

4月から新人SEになる人、これから現場に配属される人で、実際の現場で働く前にできるだけ準備しておきたいなと考える人多いことと思います。

焦って勉強する必要はありませんが、下記の順に習得できているとよいと思います。

  1. Javaの言語仕様がある程度理解できている。
  2. JavaScriptの言語仕様がある程度理解できている。
  3. MySQLかPostgreSQLのデータベースのテーブルへ簡単なSQLが発行できる。
  4. データベースのテーブルを更新するWebアプリケーションを0から作ることができる。

言語仕様は、「ある程度」としています。言語仕様を完璧に理解・覚えることは難しいです。なので、ある程度、プログラムがかけるレベルでの理解があれば良いです。

もう少し詳しく書いていきます。

1.Javaの言語仕様がある程度理解できている

プログラミング言語は1つ習得できれば、他の言語の習得はそれほど難しくないです。

まずは、Javaを習得すれば良いです。現場では、

  • JavaScript
  • Shell Script
  • C#, VB.net
  • COBOL
  • Python

などいろんな言語のプログラムの仕事がありますが、Javaが圧倒的に多いです。C#はJavaができればすぐに習得できます。

例えば、「テキストファイルを読んで、特定の文字列を含む行を出力する」というプログラムを30分くらいで0から作れるようになると良いです。

この0からというのが重要で、現場に行くと特定のフレームワークがあったり、過去のプログラムを修正することが多かったりで、0から作るという経験が得られにくいです。なので、自己学習で0からプログラムを書いていく経験を積むことは非常に重要です。

2.JavaScriptの言語仕様がある程度理解できている

Javaについで、よく使う言語がJavaScriptです。最近はTypeScriptに置き換わりつつありますが、JavaScriptを習得すれば、TypeScriptの習得は用意です。

JavaScriptは、Webアプリケーションを作るのに必須で、最近のシステム開発のほとんどはWebアプリケーションになるので、習得しておいて損はないです。

3.MySQLかPostgreSQLのデータベースのテーブルへ簡単なSQLが発行できる

そもそも、データベースって何?という人は、ぜひ勉強してください。システム開発でデータベースを使わないものはないといってよいほど使います。

安心してください。僕も大学で「データベース論」などという高度な科目あって勉強してはいましたが、全然わかってませんでした。社会人になって必要に迫られて勉強して習得しています。

SELECT、UPDATE、DELETE、INSERTなど一通りのSQLが理解できれば良いです。

4.データベースのテーブルを更新するWebアプリケーションを0から作ることができる

Java、JavaScript、SQLが習得できれば、簡単なシステムによくあるアプリが作れます。

ブラウザの画面からデータベースのテーブルをメンテナンス(更新、削除など)できるアプリを作れます。

Webアプリケーションを作るには、言語以外にTomcatやデータベースなどミドルウェアも必要になります。そういったミドルウェアを理解するためにも、一通り揃ったアプリを作れることは重要です。

  • テーブルの操作をする画面(JavaScript)
  • 画面からの指示を受け取って、SQLを発行するサーブレット(Java)

ほとんどのシステムはこのパターンです。

そんなに勉強する暇がないという人

そんなに勉強する暇がないという人は、Javaだけでも良いです。あとは現場で仕事をこなしながら習得すると良いです。

まとめ

新人SEの仕事内容は、「プログラミングとテスト」です。

それに向けて、準備したいのであれば、まずはJavaでプログラミングできるようになることです。テストについては、普通の読解力があれば大丈夫です。

僕は、社会人になる前は、「なんかすごい司令を受けて、自分でなんとかこなしていく」、ミッションインポッシブルみたなのを想像してました。

いざ仕事を始めてみると、1年目の中盤には、先輩からのアドバイスや勉強しながら作業を進めていけるなど、無茶な仕事ではないとわかりやっていける自信がつきました。

なので、あまり緊張せず、わからないことはわからないと、はっきり伝えて1つずつ積み重ねて成長していければ、よいと思います。

今、IT業界は人で不足です。みなさんがSEとして活躍するのを期待しています。

ABOUT ME
crz33
アラフォーのシステムエンジニアです。 それなりの規模のSI会社でいろんなプロジェクトを渡り歩き、 立場もプログラマー、アーキテクト、プロジェクトリーダーと経験してきました。 今はプロジェクトマネージャーとして活躍?中です。 早期リタイアを目指し、アフィリエイトで稼げないかと奮闘中です。

COMMENT

メールアドレスが公開されることはありません。