現役ソフトウェアエンジニア目線で、ホントのところをお伝えします。
ソフトウェア開発(プログラマー・SE)の仕事内容
ソフトウェア開発者のお仕事は、簡単に言ってしまうと次の2つのどちらかです。
『依頼主が要望する』システム・ソフトウェアを作る
『自社で計画する』システム・ソフトウェアを作る
依頼されて作るのか、自社製品を作るのかの違いはありますが、言葉にするととっても単純ですね。
でも実際は、結構複雑。
作るためには手順があって、小さいソフトウェアでない限りグループで作るのが普通です。
そのあたりを説明していきますね。
ソフトウェア開発の手順
専門的な用語をできるだけ省いて、簡単に説明してきます。
自分がまだ学生だったころ、専門用語で説明されてちんぷんかんぷんだったので、その反省を今こそ活かしたいと思います。
基本的には次の順番で進めていきます。
⇒ 依頼主・計画者と話して設計書を書く
⇒ 開発者向けの設計書を書く
⇒ 設計書にしたがってプログラムを書く
⇒ 確認結果をテスト仕様書に書く
⇒ 確認結果をテスト仕様書に書く
各々において、ちゃんとできているかを他者と確認(レビュー)するという作業もあります。
ここからわかる通り、常にプログラミングしているって訳じゃないんですよね。
これは意外に思うところかもしれません。
役割分担
先程説明したシステム・ソフトウェアを作る手順は、小さいものなら数人でやってしまう場合も多いのですが、大きいものになると明確に役割分担をします。
大きいシステム・ソフトウェアは何百人という人で作り上げていくことになりますので、しっかり体制を組む必要があるのです。
プロジェクトマネージャー
全体スケジュール、品質、予算などの管理をする人です。
いわゆるボスですね。
SE
主に(1)、(5)の作業を担当します。
プログラミングはせず、外向けの作業を行います。
プログラマー
主に(2)から(4)の作業を担当。
ものづくりの作業を行います。
働き方・労働環境
次は、働き方や労働環境について説明していきます。
これも気になる部分ですよね。
定常業務がほぼない
毎日、決まった同じことをするという働き方ではありません。
予め見積もって決めたスケジュールに従って、自分の担当する仕事を終わらせるという働き方です。
それさえキッチリできていれば、休みは比較的自由にとれます。
休みを取るときも、代わりを誰かにお願いする必要がありませんから気を使うことはありませんし、体調が悪いから急遽休むというのもしやすいです。
※これは会社にもよります。
逆に言えば、自分の仕事は自分でしっかり終わらせないといけない、誰も助けてくれないという言い方ができるかもしれません。
スケジュールは絶対厳守
依頼されてソフトウェア開発を行う場合、一部を除き、受託契約をするのが普通です。
これは完成責任があるということを意味します。
予め決めた期間にちゃんとしたものを完成させて、納品する義務があるということです。
スケジュールは、何においても守らねばなりません。
終わらなかったから明日にする、というのは基本的に許されません。
冷暖房完備で座り仕事
働く環境は恵まれています。
エアコンで夏は涼しく、冬は暖かい。
トイレは好きな時に行けますし、喉が渇いたらジュース飲みながらでOKです。
ただ、ずっと座ってパソコンですから、目の疲労、運動不足には気をつけたいところですね。
残業は会社次第(働き方改革で減る方向?)
IT系と言えば、一昔前は残業につく残業。
不夜城と言われることも珍しくない職場でした。
残業100時間はザラ、残業代で給料が倍以上なんてこともよくあること。
それもまだマシな方で、サービス残業を強いられる職場もあったことでしょう。
でも、今は働き方改革が導入され、残業時間はグッと減って休みもより取りやすく変わってきています。
そんなの大企業だけだという意見もあるかもしれませんが、いずれ中小企業にも広がっていくことが期待されます。
ただ、その一方で簡単な作業は効率化・自動化され、難易度が高めの作業ばかりになってしまい、働くのが苦しくなってきたという意見もあります。
このあたりは一長一短なところがありますね。
これは、人付き合いがあまり得意ではないという人には嬉しい点かもしれないですね。
就職先は?
ソフトウェア開発者(プログラマー、SE)の主な就職先は、ベンダー、システムインテグレータ(SIer)、ソフトハウス、ITベンチャーの4つになります。
また、個人で働くフリーランスという選択肢もあります。
システムインテグレータ
SIer(エスアイヤー)とも言います。
複数のシステムをまとめ上げて、ユーザーの課題を解決するシステム(ソリューション)を提供する企業です。
コンサルティングから、設計、開発、ソフトウェア・ハードウェアを含むシステム構築、保守までを一括して請負います。
例えば、「工場の人件費を削減したい」という悩みを持つユーザーの相談に乗って、「ロボットの導入、自動監視システム」を提案、提供するといった感じです。
次のような分類の会社があります。ご参考まで。
ソフトウェアだけでなく、ハードウェアも製造する富士通、日立などのメーカーです。
システムを実際に使う会社に属する、システム系を担当する子会社です。
ほとんどの場合、企業名の冠の後に、システムズ、ソリューションズという名前が付きます。
特定の系列に属さない(親会社を持たない)企業です。
NTTデータなどが有名です。
ベンダー
自社製のソフトウェア、システムを販売する企業です。
先に紹介した、システムインテグレータを兼ねるところが多いです。
有名な企業としては、富士通、日立、NTTデータなどがあります。
ソフトハウス
ソフトウェアの受託開発を主に行う会社です。
システムインテグレータ、ベンダーの下請けとして働く場合が多いです。
ITベンチャー
新しい事業に取り組む、新しく小さい会社といったところです。
若いリーダーを持つ組織である場合が多いです。
ベンチャー企業が成功して大きくなった会社をメガベンチャーと言ったりします。
有名な企業としては、サイバーエージェント、GMOなどがあります。
フリーランス
会社に属さず、個人事業主として働く人です。
ランサーズやクラウドワークスなどの仕事依頼サイトや、これまでの伝手などを使って仕事を受注します。
年収
厚生労働省『平成29年賃金構造基本統計調査』によると、平均年収は次の通りです。
職種 | 年収 |
---|---|
SE | 550万円(38歳) |
プログラマー | 416万円(32歳) |
年齢別の推移をみると、次のグラフのようになります。
厚生労働省『平成29年賃金構造基本統計調査』のデータをもとに作成。
10人以上の事業所の男女が対象。残業や諸手当含む。
大企業になると平社員でも40歳で800万円くらい貰えるところも多いです。
最後に
現役で働くソフトウェアエンジニアの目線から、ホントのことを書き綴りました。
ソフトウェア開発者(プログラマー、SE)はメリットばかりとは言えませんが、魅力が多い仕事です。
経済産業省の調べでも、IT人材の不足は益々深刻になる予測で、需要は今後も高まるばかりです。