ラベル システムエンジニア の投稿を表示しています。 すべての投稿を表示
ラベル システムエンジニア の投稿を表示しています。 すべての投稿を表示

2020年8月26日水曜日

プログラマーでうつ病になる人が多いけど、何故そんなに多いのかな?

以前、知り合いから「プログラマーでうつ病になる人は多いですね?」と言われたことがあります。
私も7年ほど前にうつ病と診断されて治療中なので、
「プログラマーはうつ病になりやすいのか?」
「プログラマーは何故うつ病になるのか?」
について考えてみました。

結論を言ってしまうと以下になります。
  1. プログラマーでうつ病になる人は多いです。
  2. プログラミングは、動かないことがよくあるため悩みも多くなってしまいます。
  3. システム開発は、プログラマーに依存しているの原因かも。

私は、プログラマーとしての経験が10年以上あり、これまで多くのプロジェクトに携わって来ました。 そして、私自身うつ病で苦しんだ経験があり、現在でも治療中ですが心身ともに安定した生活が遅れています。

こんな私が、以下で詳しく説明していきます。

1.プログラマーでうつ病になる人は多いです。

ぶっちゃけ、IT系でうつ病になる人は多いです。

私が携わったプロジェクトにも多くのうつ病患者がいました。
大体、うつ病になるプログラマーは、責任感の強い方や、作業の早いプログラマーです。
仕事は、そのような方に集まるのです。

これは、プログラマーだけではないと思います。

2.プログラミングは、動かないことがよくあるため悩みも多くなってしまいます。

プログラマーがプログラミングすると、すぐに動くプログラムができると思うかもしれません。

しかし、結構動かないことが多いのです。

プログラマーは、何故動かないかを、ひとつひとつロジックを追いながら、正常に動くプログラムへ修正していくのです。
なので、何故プログラムが正常に動かないかが分からないと、ストレスも溜まっていくのです。

システム開発は、チームで行っているように見えますが、それぞれが異なる処理をプログラミングしています。

そのため、個人で作業しているのと同じなのです。

その様なところも、プログラマーにうつ病が多い原因なのではないでしょうか。

3.システム開発は、プログラマーに依存しているの原因かも。

システム開発は、プログラマーに依存しているため、うつ病になる方も多いのではないでしょうか。

上にも書きましたが、システム開発は、チームで行っている様で、実は個人で行っているのです。
特に作業が早いプログラマーには、予定以上の作業が流れて来ます。
その分、プログラマーへかかるストレスは大きなものになるのです。

チームで開発を行うと、チームメンバーには、プログラマーとして経験が長い方から浅い方までがいます。
なので、均等に作業を分配してしまうと、経験が浅い方が担当したプログラミングが遅れてしまいます。
それをカバーするために、経験のあるプログラマーへ多くの作業が流れてしまうんです。

私は、経験が浅いメンバーのチームで開発を行っているときに、うつ病になってしまいました。

この様な主張をすると、「チームリーダーが無能なんだ」と言った意見が聞こえて来ますが、チームリーダーのみに責任を押し付けるのはどうかと思います。

私も、チームリーダーをしたことがありますが、集められたメンバーの経歴などは、ほとんど知らされません。
特に大きなチームになると、パートナー会社からの出向だったりで、その人がどこまでできるのか分からないまま、開発を開始するのです。

つまり、システム開発がプログラマーに依存しているため、プログラマーはうつ病になり易くなるのでしょう。

では、どの様にすればプログラマーのうつ病は減るのでしょうか?

結論としては、以下の対応が必要だと思います。
  • 無理をして仕事をしない。
  • 1日5〜6時間で終わるタスクにする。
  • 適度に運動する。
  • 心療内科を受診する。
  • 休みをとる。

あなたが仕事をしなかったとしても、仕事は周ります。
逆に言うと、あなたが仕事をしないことで、仕事が回らない様なら、会社が社員に依存する風土があると言うことです。
その様な会社は、将来性がありません。
転職をお勧めします。

ストレスが溜まったら適度な運動が効果的です。
30分程度のウォーキングで十分です。

ストレスで心身に影響が出たら、心療内科を受診しましょう。
心療内科で医師と相談し、適切な薬などを処方してもらいましょう。

少し休暇を取るのも良いと思います。
収入が気になるかもしれませんが、会社員の場合は傷病手当が受けられます。

詳しく書くと、長くなるので別のブログに書こうと思いますが、基本、無理をしないことです。

まとめ

今回は、「プログラマーでうつ病になる人は多いのか?」「プログラマーは何故うつ病になるのか?」について考えてみました。

結論として、プログラマーでうつ病になる人は多いです。

原因としては、プログラミングは、動かないことがよくあるため悩みも多くなり、ストレスも溜まりやすいのです。
また、システム開発は、プログラマーに依存しているため、プログラマーへのストレスも大きくなると思われます。

では、その改善方法としては、無理をしないで、適度に運動し、それでもダメなら、心療内科を受診しましょう。

プログラマーのみなさん、無理をしないようにしましょうね。

では、今日はこの辺で。

2020年5月18日月曜日

システムエンジニアとプログラマの違い



こんにちは。

今日は、システムエンジニアとプログラマの違いについて書いていこうとと思います。

私が就職活動や転職活動を行っている時に、システムエンジニアとプログラマの職種が別々に募集がありました。

当時の私は、将来的にシステムエンジニアの方が収入もいいかなと思って、システムエンジニアの募集ばかりを受けていたのです。

しかし、経験を重ねていく上て、システムエンジニアとプログラマの違いって、作業内容がほとんど変わらないことが分かってきました。

結論を言ってしまうと、システムエンジニアとプログラマの違いが大きくなるのは、大きな企業だけなのです。

中小企業のシステム会社では、システムエンジニアとプログラマは、同じ作業になります。

そう言うことが分かると、大企業以外であれば、システムエンジニアとプログラマの両方を視野に入れて就職活動を行うと、選択肢が大きく広がるのではないでしょうか。

今年は、新型コロナウィルスのために、就職活動が遅れていると思います。

なので、システムエンジニアとプログラマの両方を視野に就職活動を行うと、選択できる企業が断然増えると思います。

今日は、以下のことについて詳しく説明していきます。
  • 一般的なシステムエンジニアとプログラマの仕事に違い
  • 大企業のシステムエンジニアとプログラマの違い
  • 中小企業のシステムエンジニアとプログラマの違い

上記の説明をする前に、私の経歴について説明しますね。

プロフィールにも書いているように、私は、組み込み開発からWebシステム開発までを網羅的に作業してきました。

26歳でIT企業に就職し、組み込み開発は10年程度、Webシステム開発も7年程度の経験があります。

組み込み開発を行っていた時は、派遣として大手企業で開発しており、小さな開発から大きな開発まで携わり、機能リーダーを経て、プロジェクトマネージメントの助手もしていました。

Webシステム開発にスキルチェンジしてからは、中小企業で要件定義から納品までの一連の作用を行ってきました。

なので、大企業と中小企業の差についても、よく理解していると思っています。

では、説明に入りたいと思います。

一般的なシステムエンジニアとプログラマの仕事に違い


では、まずは、一般的なシステムエンジニアとプログラマの仕事の違いについて説明します。

システムエンジニアの仕事は以下になります。
  1. 要件定義
  2. 基本設計
次にプログラマの仕事は以下になります。
  1. 詳細設計
  2. コーディング
  3. 試験仕様書作成
  4. 試験の実施
つまり、システムエンジニアが上流工程を行い、プログラマが下流工程を行うことになります。

そして、プロジェクト全体を管理する、プロジェクトマネージャーがいます。

新卒でシステム企業に就職すると、以下のように経験を積んでいくことになると思います。
  1. 試験の実施
  2. 試験仕様書作成
  3. コーディング
  4. 詳細設計
  5. 基本設計
  6. 要件定義の作成
大体、3年程度で詳細設計までの経験を積むことができると思います。

私も、上記の順で経験を積んできましたが、派遣で企業に常駐していたので、詳細設計までは3年ほどで経験できましたが、基本設計や要件定義をできるまでには6年目くらいからでした。

大企業のシステムエンジニアとプログラマの違い


大企業では、システムエンジニアとプログラマでは、作業に大きな違いがあります。

作業に大きな違いがあるので、収入も違ってきます。

システムエンジニアの作業は、まさに上流工程のみになります。

つまり、要件定義と基本設計の作業のみを行うことになります。

そのため、要件定義を作成して、基本設計が終わると、次のプロジェクトへ移動することになります。

時には、複数のプロジェクトを掛け持つこともあります。

私が派遣で大企業に入っていた時に、システムエンジニアの手伝いをしたことがありました。

その時は、要件定義を会議資料をもとに作成し、作成した要件定義をもとに基本設計を作成しました。

その間に、システムエンジニアは、別のプロジェクトの要件定義を作成していました。

つまり、そのシステムエンジニアは、私が手伝うことで2つのプロジェクトを掛け持っていたのです。

また、そのシステムエンジニアの収入はかなり高かったようです。

私は、派遣で入っていたので、作業によって収入が変わることはありませんでしたが、話によると、その会社のプログラマーの1.5倍ほどの収入があったようです。

大企業のプログラマは、多くが派遣やSESでパートナー企業から集められたプログラマでした。

そこに、その企業の経験の浅いプログラマが参加することで、プログラマとしての経験を積むような構成となっていました。

大企業のプログラマは、プログラマとしての経験を積んだのち、システムエンジニアに移行していきます。

中小企業のシステムエンジニアとプログラマの違い


中小企業でのシステムエンジニアとプログラマの仕事には違いがありません。

中小企業では、上流工程から下流工程まで全てを行わなければなりません。

小さい企業では、上流工程から下流工程まで一人で作業することもあります。

これは、プログラマとしては、経験が積める機会多いとも言えます。

しかし、これまで大きな企業でシステムエンジニアとして、上流工程のみを経験してきた人にとっては、このような環境は難しいかもしれません。

収入についても、残念ながら上流工程と下流工程で変わることもありません。

では、どのようにして収入を上げるかというと、1度にひとりでどれだけのプロジェクトを請け負えるかで上げることができます。

なので、経験を積みたいプログラマには、中小企業は打ってつけなのです。

しかし、新卒で中小企業に入社すると、最初からプログラマとしての仕事ができるとは限りません。

中小企業においては、新卒で入社しても、短期で業務へ着けることを求められます。

これは、新卒で社会に出た人にとっては、結構、苦しいことかもしれません。

また、最近は、転職でプログラミングを勉強し、中小企業の募集へ応募してくる人もいます。

その場合はもっと苛酷かもしれません。

中途で募集している中小企業は、即戦力のシステムエンジニアやプログラマを求めています。

つまり、上流工程から下流工程をすでに作業できることを求められるのです。

では、転職してプログラミングを勉強して、中小企業のシステム会社に入れないのかというと、そうでもありません。

プログラマとしての経験がなくとも、前職での経験が中途の人にはあると思います。

そのため、前職での経験を交えて自分の価値を主張することで、中小企業のシステム企業に入ることは可能だと思います。

まとめ


システムエンジニアとプログラマでは、一般的に作業は分けられています。

しかし、実際にシステムエンジニアとプログラマの作業が分けられているのは、大きな企業の場合だけです。

中小企業のシステムエンジニアとプログラマには、ほぼ区別がありません。

なので、就活する際には、大企業を目指すのでなければ、システムエンジニアとプログラマを切り分ける必要がないのです。

ちなみに、私は、プログラマを肩書きとしています。

これは、IT業界では、システムエンジニアとプログラマの違いを理解できるのですが、一般的には、システムエンジニアという肩書きが曖昧に捉えられるからです。

プログラマだと、一目で仕事内容が分かりますよね。

では、今日はこの辺で。