ラベル プログラマー の投稿を表示しています。 すべての投稿を表示
ラベル プログラマー の投稿を表示しています。 すべての投稿を表示

2020年8月26日水曜日

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

まとめ

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

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

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

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

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

では、今日はこの辺で。

2020年7月18日土曜日

成長できない人のやってる質問



こんにちは。

今日は、成長できない人のやってる質問について書きます。

成長できない人の特徴として、一般的に「やる気がない」「自分で勉強しない」などがありますよね。

でも、私は、質問の仕方に問題があると思うのです。

こんな質問していませんか?
  1. 自分で調べずに聞く
  2. 質問内容がまとまっていない
  3. 答えを求める
  4. メモを取らない
  5. まとめない
こんな質問をしている人は、まわりから成長しようとしていないように見られます。

実際に、こんな質問をしている人で、成長した人を私は見た事がありません。

実は、私も社会人になりたての頃はやってました。

自分では、成長したいと思っていても、まわりから成長しようとしていないと評価されると、自分にとっても、まわりにとっても損ですよね。

なので、こう言う質問のやり方は、やめた方がいいです。

まわりから成長していると思われると、仕事がどんどん回って来ます。

すると、ますます成長する事ができるのです。

それでは、細かく見てみましょう。

1.自分で調べずに聞く


新入社員に対して先輩が、「分からないことは何でも聞いてね」と言いますよね。

でも、その言葉を真に受けてはいけませんよ。

先輩は、経験も豊富で、時間の価値が新入社員とは全然違うのです。

なので、まずは自分で調べるようにしましょう。

最近は、Webで検索すれば何でも出てくる時代になって来ました。

なので、大抵のことはWebで検索すれば分かるのです。

Webで調べても分からないことは、検索した内容を持って、先輩に質問するようにしましょう。

2.質問内容がまとまっていない


質問しに来たのに、質問内容がまとまってなくて、何を聞きたいのか分からない事がよくあります。

大体、そう言う場合は、自分でもどこまで理解できているのか分かっていない事が多いです。

答える側からすると、どこまで理解できているか分からないので、まず整理するところから始めないといけなくなります。

これって、答える側からすると、時間の無駄ですよね。

なので、「分からない=質問する」ではなく、まずは、自分がどこまで理解できているのかまとめましょう。

その上で、何故疑問に思ったのかをまとめて、質問しに行きます。

そうする事で、答える側は、短時間で答える事ができますし、間違った理解に気付く事ができるのです。

たまに(本当にたまに)、何故疑問に思ったかが、大きな設計バグを見つけることになったりするので、まとめるって結構重要だったりします。

3.答えを求める


多分、これが一番ダメな質問ですね。

私(プログラマー)の場合だと、「ここの処理ってどうコーディングすればいいですか?」と聞いてくる人がいます。

経験が浅い人だと、ロジックのヒントを出して成長を促すのですが、答えを求めて来ている場合、「それでどう書くのですか?」と言ってくるんですよね。

まずは、聞いたことをもとに自分で考えましょうよ。

そうしないと、成長することもできないし、そもそも、その仕事を振った意味がなくなりますよね。

答える方は、自分でやった方が早いやってことになってしまいます。

そんなことを繰り返していると、だんだんと仕事が振られなくなって、成長も遅くなってしまいますよ。

4.メモを取らない


新人研修で、「質問する時はメモを持っていきましょう。」と習いますよね。

でも、メモは持ってくるのに、メモしない人が多いです。

頭で覚えられるようなことならいいですよ。

でも、最初は、メモを取ってないと、すぐに忘れてしまいますよね。

特に、複数の仕事をしている場合は、すぐに忘れてしまいます。

そうなると、同じ質問を繰り返したり、同じミスを繰り返すことになります。

メモを取らないと言うことは、貴重な情報と時間を無駄にしていることに気付いて欲しいです。

5.まとめない


これは、やってる人は少ないかもしれません。

でも、経験が浅いうちは、どこが分からなかったのか、どこが間違っていたのかなどを、まとめておいた方が良いです。

まとめると言う作業は、内容を深く理解するのに有効です。

内容を深く理解する事ができれば、生産性も上がりますし、会議でも発言できるようになります。

私も、自分がやった作業や、詰まったところなどはメモしておいて、時間があるときにまとめています。

これって、後から入ってくる人にとっても良い資料になるんですよね。

自分が分からなかったところや、詰まったところは、他の人も同じだと思ってまとめておくようにしましょう。

まとめ


今回は、成長できない人がやってる質問として以下の5つについて書いてみました。
  1. 自分で調べずに聞く
  2. 質問内容がまとまっていない
  3. 答えを求める
  4. メモを取らない
  5. まとめない
この5つの点について改善する事で、成長できる人になります。

少なくとも、まわりからは、成長しようとしているように見えます。

要するに、質問の仕方を変えるだけで、時間の無駄を減らせすので、結果的に生産性にもつながってくるのです。

もし、生産性が上がらない、効率が悪いと思う事があったら、質問の仕方を見直してみるのもありだと思います。

では、今日はこの辺で。


2020年6月20日土曜日

今後IT業界は成長するのか



こんにちは。

今日は、「今後IT業界は成長するのか」について考えてみたいと思います。

最近、SNSやビジネス系YouTubeを見ていると、「今後IT業界は成長する」という声をよく耳にします。

私は、10年以上IT業界でプログラマーとして仕事をして来ました。

なので、IT業界の内側から見て、「今後IT業界は成長するのか」について考えてみたいと思います。

まずは、「成長する」とはどう言うことかを定義しておきます。

 成長とは

1 人や動植物が育って大きくなること。おとなになること。「子供が成長する」「ひなが成長する」「経験が人を成長させる」

物事の規模が大きくなること。拡大。「事業が成長する」「経済の高度成長」

goo辞書


つまり、「IT業界が成長する」とは、「IT業界の規模が大きくなる」ということです。

この定義で考えた場合、私の考えは以下のようになります。
  1. 世界的に見るとIT業界は成長する
  2. 日本のIT業界は成長しない
  3. 日本のIT業界は成長しないが十分に仕事がある
以下でひとつずつ考えていきます。

1.世界的に見るとIT業界は成長する



GAFAMの動きを見ると明らかだと思います。
  • Google
  • Apple
  • Facebook
  • Amazon
  • Microsoft
これら一流のIT企業は、今以下の開発に取り組んでいます。
  • AI
  • IoT
  • ブロックチェーン 
  • 自動運転自動車
  • VR/AR
これらの最先端技術は、アメリカや中国がいち早く取り組んでいます。

特に中国の技術力は、日進月歩で急成長をしています。

そのため、今後、このようなシステムが安定して開発されることで、IT業界は一段と成長することが考えられます。

また、このような分野は、スタートアップ企業が狙っています。

海外のスタートアップは、フットワークが軽いし、技術力も高いので、そういう点でもIT業界はさらに成長していくでしょう。

つまり、世界的に見るとIT業界は成長していくと言えます。

2.日本のIT業界は成長しない



では、日本のIT業界も成長するのかというと、残念ながら成長はしないと考えています。

上にも書きましが、日本は以下の分野において完全に出遅れてしまっています。
  • AI
  • IoT
  • ブロックチェーン 
  • 自動運転自動車
  • VR/AR
日本のIT企業も、必死に上記の分野について学ぼうとしています。

しかし、日本のIT企業で行われているのは、すでに海外で開発されたフレームワークを使用して、現状のシステムへ組み込むことです。

全ての日本のIT企業が、そうだとは言いません。

必死に追いつこうと頑張っている企業もたくさんあります。

しかし、投資される資金が、海外と比べると少なすぎるのです。

なので、日本では、通常のシステム開発を行いながら、最新技術の開発を行わなければならなくなるのです。

海外では、上記のような分野へ多くの投資が集まります。

なので、日本のIT企業には成長するチャンスが極端に少ないのです。

3.日本のIT業界は成長しないが十分に仕事がある



とは言え、日本のIT業界の仕事はなくなりません。

何故なら、日本には多くの中小企業が、今だにアナログな方法で仕事をしているからです。

アナログな仕事が悪いとは言いません。

しかし、人がやるよりもシステムに作業をさせた方が良い作業がたくさんあります。

今、日本のIT業界では、そういった中小企業をターゲットとしています。

もちろん、大きな企業は、銀行や大手企業の基幹システムを扱っていますが、中小のシステム会社は、中小企業のシステム化を扱っています。

つまり、中小企業のシステム化を行うプログラマーは、まだまだ必要なのです。

また、そうやって開発されたシステムは、保守も必要になってきます。

そうした、保守要員としてのプログラマーも必要になるのです。

そして、古くなった基幹システムの再構築という仕事もあります。

そう考えると、今後、日本のIT業界は成長はしないものの、仕事がなくなることはないのです。

まとめ


世界的に見ると、「今後IT業界は成長する」と言えるでしょう。

世界的な大手企業は、どんどん新しい技術に挑戦しています。

それが実用化されるようになると、いっきに社会のIT化が進み、それによりIT業界もさらに成長していくでしょう。

しかし、残念ながら日本ではIT業界の成長は期待できないでしょう。

すでに日本のIT業界は、世界のIT業界から大きく遅れをとっています。

資金面でも日本のIT業界へ投資される額は、他国から比べると、かなり少ないのです。

そのため、世界的な大手企業と競えるだけの体力がないのです。

ただし、日本のIT業界の仕事はなくなることはありません。

中小企業のシステム化が進んでいるため、その開発、保守をするプログラマーは、まだまだ必要とされているのです。

なので、はじめに書いた、SNSやYouTubeで「今後IT業界は成長する」というのは、間違いではありません。

ただし、本当のIT業界の成長は、日本以外の国で行われています。

これから、IT業界で頑張ろうとしている人は、最新技術の開発に携わりたかったら、海外で仕事をすることをお勧めします。

これからIT業界への就職を考えている方は、こちらの記事も参考になるかもしれません。


では、今日はこの辺で。


2020年6月14日日曜日

もし私がITエンジニアとして転職するなら



こんにちは。

今日は、もし私がITエンジニアとして転職するならどう動くかについて書いていきます。

私は、現在プログラマとして仕事をしています。

IT業界の経験は、約20年になります。

そんな私が、もし別の業界にいて、プログラミングも知らない素人で、これからITエンジニアとして転職を決めたとします。

その時、私はどういう工程を経てITエンジニアへの転職を目指すかを考えてみたいと思います。

結論を言うと以下の順番になります。

  1. 基本技術を習得する
  2. 転職先を探す
  3. 転職先で経験を積む

この順番で経験を積むことで、3年でスキルチェンジを目指します。

転職するためなら2までとなるのですが、「ITエンジニアとして一人前になる」と言うことがスキルチェンジだと私は思うので、そこまで説明していきますね。

1.基本技術を習得する



どんな転職でも同じだと思いますが、まずは、その業界の基本技術がないと話になりませんよね。

なので、私ならば以下の勉強に100時間以上はかけると思います。
  • html
  • CSS
  • javascript
  • PHP
  • SQL
フロントエンド(ブラウザ側)のみのエンジアになるには、上から3つ、html、CSS、javascriptを勉強すれば良いのですが、ITエンジニアとなるとバックエンド(サーバー側)の開発もある程度できるようになっておいた方が良いです。

また、上の5つは基本が分かるくらいまでで大丈夫です。

ただし、この5つの基本を習得するには、最初は100時間ほど手を動かして勉強が必要になると考えています。

「100時間も勉強が必要なの」と思うかもしれませんが、やってみると分かると思いますが、最初はキーボードもうまく打てないでしょうから、これくらいの時間は必要になります。

では、仕事をしながら、どうやって100時間もの時間を作るかと言うと、毎日1、2時間、休日は、6時間以上の時間を3ヶ月ほどかければ達成できます。

勉強方法はWebを使います。

プログラミングスクールへ通うのも良いのですが、今はWebで検索すれば基本技術の習得はできるのでそれで十分です。

私ならば、まずは、html、CSS、javascriptを使って、自己紹介のホームページを作ります。

もちろん、インターネット上に公開する必要はありません。

自分のPC内にテキストを作成すれば、インターネットに公開しないホームページは作成できます。

デザインは、いろんなホームページを見ながら、これと思うものを真似すれば良いのです。

もちろん、ソースコードまで真似してはいけませんよ。

検索サイトで、「html CSS」と検索すればソースコードの書き方が出てくるので、1から手を動かしながら勉強しましょう。

5ページほど作れば十分に基本技術は習得できます。

また、ランディングページ(最初に表示されるページ)にjavascriptで動きを着けてみましょう。

作成したページは、ポートフォリオとして使えるので、必ず残しておきましょう。

それ以外に、PHPとSQLは別に勉強しておきましょうね。

PHPとSQLもWebで検索すれば、すぐに勉強できます。

この時点で、コーディングをするのが苦痛に感じるのでしたら、ITエンジニアとしての転職は難しいと思います。

転職したら毎日コーディングする必要があります。

最初は、分からないことがたくさん出て来ます。

調べながらコーディングする事になるので、それを楽しめないと精神的にもちません

IT業界は、エンジニアだけではないので、自分にあった職種を探してみましょう。

2.転職先を探す



100時間ほど勉強したら、転職先を探し始めましょう。

一つ注意ですが、今勤めている方は、あわてて退職願を出さないでくださいね。

実経験のない人が、IT企業に転職するのは、かなり難しいです。

今は、エンジニア不足ですが、それは、実経験を積んだエンジニアが不足しているのです。

受け入れるIT企業側から考えると、中途採用しているのは即戦力となるエンジニアを探しているのです。

なので、実経験がない人を雇えるだけの余裕がある企業でないと、実経験がないと言うだけで不採用となることはよくあります。

では、どうやって転職先を探すかと言うと、私ならば以下の2つの方法を使います。

  • 転職サイトに登録して探す
  • Webサイトを見て探す

仕事をしながら転職先を探すには、上の2つの方法が良いと思います。

転職サイトに登録して探す


まずは、転職サイトに登録しましょう。

登録するのは、メジャーな転職サイトを探して2件ほどで良いと思います。

中途でエンジニアを探している企業は、複数の転職サイトに掲載していることがよくあります。

複数の転職サイトに登録しても、検索して出てくる企業が同じと言うのはよくあります。

転職エージェントを使うのも良いでしょう。

ただし、転職エージェントを使う場合は、少し注意が必要です。

転職エージェントのビジネスモデルは、転職が成功することで転職先企業から、あなたの年収に応じて数パーセントを紹介料として受け取るモデルとなっています。

なので、実経験がない場合、「難しいから、まずはIT業界の営業とかも探してみませんか」などと言ってきます。

そこを理解した上で、転職エージェントは使うようにしましょう。

では、転職サイトでどのようにして転職先を探すかを書いていきます。

まずは、「ITエンジニア 未経験」もしくは「Webエンジニア 未経験」で調べてみましょう。

実経験がない人を雇えるような企業は、キーワードに「未経験OK」みたいなことを書いている企業が多いです。

なので、このキーワードでヒットする企業を優先に応募していきましょう。

その際の注意点としては、募集要項をきちんと確認することです。

どういったエンジニアを募集しているのか、どういった条件で募集しているのか確認しましょう。

また、募集している企業のホームページも確認しましょう。

IT業界の中には、営業を業務の中心としている企業と、技術を業務の中心としている企業があります。

営業を中心としている企業は、Webサイトの構築を受注することに力を入れている企業です。

営業が大きな力を持っているので、技術者は無理な要望を安い価格で行わないといけない状態になっている可能性が多いです。

なので、こういう企業の技術者は、自分の会社はブラック企業だと思っていることが多いですし、実際、ブラック企業だったりします。

では、どうやって判断するかというと、営業と技術者の比率を調べるのです。

技術者に比べて営業が多い場合は注意が必要です。

Webサイトで探す


これは、少し時間がかかります。

しかし、転職サイトを使用せずに、自社ホームページで中途採用をしている企業も結構あります。

もし、通勤できる範囲で探す場合は、検索サイトで「IT企業 地域」や「Web開発 地域」で検索してみてはどうでしょうか。

ホームページから、その企業がどんな企業かを読み取って、もし良い企業ならば、そのホームページに採用ページがないか探しましょう。

採用ページで中途の募集があれば、履歴書や職務経歴書を送るというのもありだと思います。

ただし、その際はホームページの採用ページを見て応募する旨を一筆添えましょう。

どんな企業でも書類だけ送るのはNGです。

中途の募集をしていない企業でも、良いと思ったら電話で中途の採用をしていないか問い合わせるのも良いと思います。

もしかすると、転職サイトではなくハローワークのみに出している場合もあるので、電話で確認するのが良いと思います。

中途の採用していなくても、問合せしたことで、一度会ってみようと思ってもらえる可能性もあります。

転職先を探す時は、なるべく多くの企業に応募して自分にあった企業を探すようにしましょう。

面接まで漕ぎ着けたら、基本技術を勉強する際に作成したポートフォリオを持参しましょう。

画面キャプチャを印刷して画像集を持って行っても良いのですが、できればPCやタブレットなどに入れて持って行き、実際に見てもらうのが良いと思います。

面接では、入社時期についても聞かれると思いますが、聞かられなかったとしても、こちらから入社できる時期について具体的に伝えましょう。

転職先が決まったら、今働いている会社に退職願を出しましょう。

退職する際は、今働いている会社も、将来、顧客となる可能性があるということは意識しておきましょう。

3.転職先で経験を積む



転職先に入社できたら終わりではありません。

実経験のない人を採用した企業からすると、短期間で実戦で活躍できると判断したから採用したのです。

なので、それに応える必要があります。

転職に成功したら、そこがスタートラインなのです。

最初は、業務に着いて行くだけで一杯だと思います。

それでも、業務に必要な技術をどんどん吸収していく必要があります。

そのため、業務時間だけでなく自宅でも勉強をする必要があります。

ITエンジニアとして一人前になるために、以下のことを意識しておきましょう。

  • 何でもやる
  • 最低3年は経験を積む
  • 技術以外の知識も勉強する

何でもやる


まずは、何でもやるという意識が必要です。

ITエンジニアにも本当はいろいろな作業があります。

実経験がないと、自分がどんなエンジニアに向いているのか分かりません。

なので、与えられる仕事な何でもやってみましょう。

正直、難しいと思います。

でも、IT業界に転職したのですから、周りには技術に詳しい人ばかりです。

自分で調べて分からないことは、どんどん周りの先輩に聞いて吸収していきましょう。

その際、先輩は、どうやって調べているのか、どんな風にPCやツールを使っているのか観察することも大切です。

見て学ぶというやつですね。

最低3年は経験を積む


技術者として一人前になるには、一般的に3年はかかります。

最初は、作業に時間がかかるかもしれませんが、次第に時間もかからずに作業できるようになります。

3年も経験を積めば、十分に利益を出せるまでになるでしょう。

そこまでやって初めて、ITエンジニアとなれるのです。

技術以外の知識も勉強する


前職での知識もあるので、3年間技術者として経験を積めば、周りの技術者よりも知識的には有利に立つことができます。

しかし、IT業界は、日進月歩で進化しています

なので、技術も勉強する必要がありますが、それ以外のIT業界について勉強する必要があります。

また、ビジネスも進化していきますので、ビジネスについても勉強をする必要があります。

前職での知識、IT業界の最新の知識、3年以上の技術経験があれば、これはかなり有利な立場へ立つチャンスになります。

ここまで来ると、いろいろな選択肢が出て来ます。

会社の利益につながる提案もできるようになるでしょう。

もっと給料のいい会社を探すこともできるでしょう。

フリーランスとして独立することもできるでしょう。

全く別業界へ転職することもできるでしょう。

まとめ


これまでITエンジニアとして転職する工程を、私ならどう動いていくかを書いて来ました。
  1. 基本技術を習得する
  2. 転職先を探す
  3. 転職先で経験を積む
この3つは、ITエンジニアへ転職する場合だけでなく、別の業界へ転職する際には必要な工程だと思います。

また、同じITエンジニアでも、組み込みエンジニアからWebエンジニアに、スキルチェンジする際にも有効です。

実際、私も、組み込みエンジニアからWebエンジニアへスキルチェンジする時に、この工程を踏みました。

同じIT業界ですが、組み込みエンジニアとWebエンジニアでは、使う技術が違います。

私の感覚としては、全く違う業界へ転職する感覚でした。

ただ、私の場合は、「2.転職先を探す」時に知り合いの会社へ応募したので、苦労することなく転職できたことです。

このブログが、IT業界へ転職しようとしている方の手助けとなれば嬉しいです。

では、今日はこの辺で。

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

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

では、今日はこの辺で。


2020年4月17日金曜日

SESのメリット・デメリット


こんにちは。

今日は、SESのメリット・デメリットについて書いてみます。

私は、プログラマーとして社会に出てからずっと派遣でお客様の事務所に常駐して開発を行っていました。

当時は、特定派遣でしたが今はもうないですね。

今は、SES(システム・エンジニアリング・サービス)としてお客様先に常駐して開発するスタイルになっています。

SESの契約形態は、準委任契約になります。

私も、最近までSESでお客様先に常駐していました。

経験年数でいうと、10年以上自分の会社ではなく、お客様先にいたことになります。

もちろん、同じお客様ではないですけど、自分が勤める会社の中で開発するという経験の方がトータルでは少ないです。

SESの経験は十分にあるので、そのメリットやデメリットは十分に理解しているつもりです。

これから、プログラマーとして働きたいと考えている方や就職活動中の方には、SESは選択肢の一つになるとなる業務でもあると思います。

なぜかと言うと、中小のシステム企業は、ほとんどがSES業務を取り入れているからです。

これから、プログラマーを目指すのでしたら、以下の記事でIT業界について理解を深めてからの方がいいかもしれません。


前置きが長くなってしまったので、早速説明していきますね。

デメリット

「いきなりデメリットかよ」と言う声も聞こえてきそうですが、実際に長くSESでお客様先へ常駐しているプログラマーに聞くと、デメリットしか聞こえてきません。

なので、先によく聞かれるデメリットを説明しておきます。

結論を言うと以下の3点です。
  1. 技術力が偏る
  2. 自分のポートフォリオとして公開できない
  3. 契約更新が近づくと不安
この他にもデメリットは聞かれるのですが、デメリットとしてのよく聞くのはこの3点です。

1. 技術力が偏る

まず、長期でお客様先に常駐すると、その企業の開発手法はできるが、他では通用しないようになります。

よく使われる開発手法は、ウォータフォールモデルとアジャイル開発です。

以下の記事でそれぞれの詳細を書いてますので、読んでみてください。



企業は、上の開発手法をベースに、いろいろと改善を繰り返し、独自の開発手法を持っています。

そのため、SESとして長期で同じ企業に常駐すると、その企業の独自の開発手法に慣れてしまい、他の開発手法での開発が難しくなったりします。

特に、ベースとなる上の2つの手法が異なると、プログラマーとしては、その開発手法に慣れるのに苦労するでしょう。

と言うか、私は両方とも経験してきたので、ベースとなる開発手法が変わった時の苦労はよく分かります。

技術力が偏ると言うと聞こえが悪いですが、その企業での開発には精通していることになるので、その企業での開発に必要なプログラマーになっていると言うことなので、そんなにデメリットではないと私は思っています。

ただ、SESのデメリットとしては、一般的によく聞かれることです。

2. 自分のポートフォリオとして公開できない

SESで常駐する企業は、大手のシステム企業、もしくは、大手のシステム開発を請け負っている企業が多いです。

そうなると、業務につく際、守秘義務契約を結ぶ必要があります。

契約内容には、システムに関する一切の口外が禁止されています。

この契約は、契約終了後も有効になるように記載されていることが多いため、自分のポートフォリオとして公開できないのです。

大きなシステムの開発や有名なシステムの開発に携わったとしても、そのことを公開できないのです。

できるのは、そこで培ったプログラム言語能力のみとなります。

自分のポートフォリオに公開することができないのですから、「そのプログラム言語使えますよ」としか言えないのです。

守秘義務契約を結んでシステムの話を口外すると、大変なことになりますので注意してくださいね。

数年に1度程度ですが、守秘義務違反で問題になるケースを耳にしますので、これからプログラマーになる人は、しっかり注意してください。

3. 契約更新が近づくと不安

同じお客様先に長期で常駐していると、お客様とも仲良くなり、契約満了で次のお客様先へ移動となるのが不安になる人がいます。

それに、SESでシステム開発をした場合、納品までそのシステムに関われずに移動となることが多いです。

ガッツリそのシステムの開発に携わると、システムに情がわくこともあります。

「えっ!」って引かれるかもしれませんが、自分で作り上げたシステムは可愛いのですよ。

そのシステムが社会へ投入されるとことを見れないと言うのも、不安になる原因の場合があります。

私がSESで常駐していた頃も、契約更新の時期になると不安になってました。

特に、プロジェクトの工程の境目の時期は、次の工程がどの程度の規模かで人を入れ替えるお客様が多いので不安になってましたね。

ブラックな企業だど、契約更新の数日前に継続が決まったり、契約更新を忘れられたりします。

通常は、1ヶ月前までに継続するのか、移動するのか決まります。

契約更新が数日前にならないと分からないような企業は、ブラックな企業と思って問題ないと思いますので、ちょっと考えた方がいいかもしれませんね。

メリット

実は、SESでお客様先へ常駐してシステム開発することには、結構メリットがあります。

私が、ずっとお客様先で常駐してシステム開発していたのも、メリットが大きいと思うところがあったからです。

先に結論を言ってしまうと、以下の3点になります。
  1. 経験を積める
  2. いろんな人に会える
  3. いろんなシステム開発に携わることができる
この3点は、私が長年お客様先に常駐してシステム開発をやっていて、メリットだと思ったうちのトップ3です。

1. 経験を積める

SESの1番のメリットは、これでしょう。

プログラマーの経験が浅いうちは、いくらプログラミングができると言っても、経験が浅かったらあまり仕事をもらえません。

まずは、経験を積むことです。

自分が勤める会社で請負開発をやっているのなら、そこで経験を積めると思います。

しかし、請負開発って結構リスクがあるんですよね。

システムの品質の問題とか、セキュリティの問題とか、考えないといけないことがあるので、それなりに経験を積んだ人がいないと難しいと思います。

それに比べて、SESでお客様先へ常駐してシステム開発していると、その企業には、開発するシステムに精通した人がたくさんいます。

つまり、自分が経験の浅いプログラマーであったとしても、聞ける人がたくさんいるんです。

経験者がたくさんいるって安心しますよね。

そこで、経験者の知識を吸収しながら経験を積むと言うことは、経験の浅いプログラマーには格好の環境だと思います。

SESで常駐し3年もシステム開発を行っていると、結構な経験を積むことができます。

経験を積むと、自分のできる範囲が広がるので、だんだんと面白くなってきます。

ただし、長期で同じ企業に常駐していると、次第に上に書いたようなデメリットが目についてくるので、ある程度できる範囲が広がったところで常駐先の企業を移動することをお勧めします。

2. いろんな人に会える

SESでプログラマーを入れている企業は、ある程度の規模を持った企業です。

そのため、同じようにSESで集められたプログラマーがたくさんいます。

経験を積んだ人や、経験が浅い人、それに、面白い経験を持った人などがたくさんいます。

そういう人たちと会えると言うのは、SESのメリットの一つだと私は思っています。

特に、いろんな経験を積んだ人の話を聞くのは面白いですよ。

いろんな人たちに囲まれて作業していると、開発経験だけでなく、人生経験も学べたりします。

私の場合だと、フリーランスのプログラマーに多く会いました。

フリーランス のプログラマーには、結構苦労している人や、月に結構な額を稼いでいる人もいました。

私は、大手の企業へ常駐していたので、たまに有名な方とばったりと言う経験もありました。

いろんな人と会えると言うことは、いろんな意味で刺激になるんですよね。

将来、どんなプログラマーになりたいとか、どんな人生を送りたいとか、結構参考になることが多いです。

また、いろんな人と知り合いになっておくと、仕事がその方を通じて入ってくることもあるので大事にした方がいいと思います。

3. いろんなシステム開発に携わることができる

長期で同じお客様先に常駐していると、上に書いたようなデメリットが顕在化してきます。

そのため、私は、長くても1年程度で常駐先の企業を移動するようにしていました。

でも、常駐する企業によっては、開発のスパンが短くて、いろんな開発に携わることができます。

そう言う場合は、少し長くいてもいいかもしれません。

私も、開発スパンが半年とか3ヶ月とか回転の早い開発を行っている企業にいたことがあるのですが、その企業には5年ほどお世話になりました。

でも、やはり、長期で同じ企業に常駐するのはお勧めできません。

開発手法は同じなので、やはり技術力に偏りが出てしまいます。

経験を積んでいろんなシステム開発をしていくと、たまに、すごく大きなシステム開発に携わることができる時があります。

詳しくは書けないのですが、大手企業の有名なシステムの開発とか、みんなが普通に使っているアレの開発とかですね。

有名なシステムの開発に携わって、そのシステムを使っている人を見たりすると、結構嬉しかったりします。

自分が作ったこの機能が、今目の前の人が使ってるとかなると、微笑んでしまっていたりします。

つまり、SESでお客様先へ常駐してシステム開発をしていると、いろんな経験ができるのです。

まとめ

SES業務には、確かにデメリットがあります。

でもそれは、長期で同じ企業に常駐した場合の話です。

経験の浅いプログラマーにとっては、経験を積めて、いろんなシステム開発で、経験を積んだ人とコミュニケーションをとることができるのです。

そう考えると、デメリットだけに目を向け、SES業務を避けるのではなく、ある程度の経験を積む間、SESで経験を積むことは、今度、プログラマーとして働くための十分な経験になると私は思っています。

これからプログラマーを目指す人や現在就活中の人は、中小のシステム企業で、あえてSESで常駐することを考えてもいいと私は思います。

現在は、転職をすることは、普通にあることです。

SESで十分に経験を積んだ後で、転職をして大手のシステム企業へ入ることも選択肢としてもいいと私は思います。

最終的に自分の人生を選択するのは、あなた次第です。

このブログがあなたの選択の参考に慣ればと思っています。

では、今日はこの辺で。










2020年4月10日金曜日

プログラマーに向いている人は?


こんにちは。

数年前、新卒で入社した新人プログラマーに「私はプログラマーに向いてないみたいです。」と相談されたことがあります。

私も、プログラマーとして働き出したばかりの頃は、「自分にはプログラマーという仕事は向いてないな」と思いながま働いていました。

そして、気づけば約20年プログラマーとして働いています。

約20年働いていても、たまに、「自分には向いていない」と思うことがあります。

では、プログラマーに向いている人は、どういう人なのでしょうか。

結論を言ってしまうと以下になります。
  • PCを使うことが好きな人
  • 物作りが好きな人
  • 諦めないで続けられる人
おそらく、この3つを持っている人が、プログラマーに向いているのではないかと私は思います。

では、以下でそれぞれについて詳細に説明しますね。

PCを使うのが好きな人

私が初めてPCを使ったのは、大学に入ってからです。

もう20数年前のことです。

当時は、windows95で大学内にある情報室でWebサイトを見るのが大好きでした。

時間があれば、情報室に行ってWebサイトを見ていました。

今では、生まれた時には、すでに家にPCがあって、小さい頃からPCを触ってきた世代なんですよね。

人によっては、小さいことからPCでゲームをしていて、ゲームのチャットで仲間と話すことでタイピング力を磨いてきた人もいます。

つまり、最近の新人でPCを使うのが苦手という人は少なかったりします。

もう少しすると、PCを使うのは苦手だけど、携帯やタブレットなら抵抗がないという世代が入ってくるようになるのでしょうね。

ただ、プログラマーとして働くとなると、携帯やタブレットではなく、PCが好きでないと結構辛い作業になってしまうかもしれません。

実際の作業は、PCを使ってプログラミングする作業なので、キーボードに慣れていないとプログラミングするだけでストレスになるかもしれません。

物作りが好きな人

次に必要となるのは、物作りが好きかどうかではないでしょうか。

プログラマーの仕事は、結局、今ないシステムを開発する作業となるので、物作りが好きな人が向いているでしょう。

ただ、プログラミングができないと向いていないのかというと、そうは言えません。

結論を言ってしまえば、プラモデルを作るのが好きな人でもいいのです。

私も、小さい頃から何かを作るという作業は好きでした。

父親が大工だったので、作業場で端材をもらって釘を打ったり、ノコで切ったりしていました。

また、ミニ四駆を作ったり改造したりするのも好きでしたね。

そのような環境で育ってきたので、そもそも物作りが私に取っては楽しいものだったのです。

プログラマーが物作りを好きでないといけない理由は、システムを作るだけでなく、その先を考えられるかということにつながると思います。

物作りが好きな人は、作ったものでどう遊ぶかまで考えて作ります。

同じように、プログラマーも、システムを作りながら、そのシステムをどう使うと面白いか、どれくらいの速度で動作したら面白いか、といったことを考える必要があります。

プログラマーの中には、システムを作ることよりも、既にあるシステムの使い方を考える方が面白くなって、営業へ転職していく人もいます。

まあ、それも分からないわけではありません。

自分でプログラミングして作るよりも、既にあるシステムを組み合わせて新しいものを作って売った方が利益にもなりますし、システムの改修も自分でする必要がないですもんね。

諦めないで続けられる人

ここまで、いろいろと書いてきましたが、結局は、諦めないで続けられる人がプログラマーには向いていると思います。

これは、プログラマーに限らずどの業界でも同じですよね。

私も、冒頭で書いたように、今だに「自分には向いていない」と思ってしまうのですが、結局は、諦めないで続けてきたというのが、今の自分がある理由だと思っています。

向いてる、向いてないというのは置いといて、諦めないで続けられる人ってどの業界でも一人前になっていくものです。

なので、向いてる、向いてないを考える時間があるくらいなら、目の前の仕事をどんどんこなしていきましょう。

目の前の仕事に集中していると、時間はすぐに過ぎていきます。

気づけば、経験が積み上げられて、いつの間にかプロになっているものです。

諦めて辞めてしまうことはいつでもできます。

いつでもできる事は、あとでもいいじゃないですか。

まずは、今積み上げられる経験を積み上げていけば、転職したとしてもやっていけると思うのです。

逆に、経験を積み上げる前に辞めてしまう人は、どの業界でもやっていけないのではないでしょうか。

そういう人って、人から仕事が与えられるのを待っている人が多いんですよね。

本気でプログラマーになりたいと思っている人は、仕事を与えてもらうのではなくて、自分から取りに行ってるんですよね。

まとめ

上でも書いたように、プログラマーに向いている人は、諦めないで続けられる人なのです。

諦めないで続けていれば、知らないうちに一人前になっているのです。

ちなみに、私に相談してきた人は、今でもプログラマーとして働いています。

今では、プログラマーとして独り立ちして、現場でバリバリ働いています。

では、今日はこの辺で。

2020年4月8日水曜日

プログラマーになるのに資格を取る必要はない


こんにちは。

よく後輩などに、「仕事できるようになるには、何か資格を取った方がいいですか?」みたいな質問をされます。

このような質問をしてくる後輩は、大体、ある程度のプログラミングができるけど、独り立ちにはまだ早い人が多いです。

たまに、ベテランの人でもこのような質問をしてくる人がいますが。。。

ということで、今日は、プログラマーに資格は必要かについて書いてみようと思います。

結論から言うと以下になります。
  • 資格を取る必要はない
  • 机上で勉強するくらいなら毎日PCを扱いましょう
  • どんどん挑戦すると独り立ちも早くなります
と言うことになります。

ベテランから「資格を取った方がいいですか?」なんて聞かれても、正直「知りません」と言う感じなんですけれど、後輩とかだと上の3つをよく説明しています。

資格を取る必要はない

プログラマーとして仕事をするのに資格は必要ありません。

就職や転職するときに、面接で「資格何か持ってますか?」と聞かれますが、これって資格を持っている人がいると営業しやすいからなんですよね。

「うちには、こういう資格を持っている人がいますよ」って言うことで、資格を持ってない人と持っている人では、営業の仕方が違ってくるんですよね。

それに、会社のアピールにもなるんですよ。

IT企業のサイトとかを見てみると、「この資格持っている人が何名」とか書かれていて、有名な資格だと結構アピールにもなるんです。

でも、実際の作業で資格の勉強で得た知識が使えるかというと、ほとんど使えないんですよ。

特にSES(システム・エンジニアリング・サービス)とかで、客先に常駐して作業するプログラマーとかは、マニュアルに沿った開発をすることが多いので、資格がなくても作業を進められるんですよね。

そういう企業じゃないとSESで人を入れて開発なんてできないですもんね。

社内SEとかで仕事する場合も、現状動いているシステムに対して改修をしたり、機能を追加したりという作業が多いので、そうなると全く資格で勉強した知識を使わないというようなことになります。

じゃあ、全く意味がないかというと、そうとも言い切れないです。

システムの基礎については、机上で勉強しておく必要があるので、資格を取る勉強というより、必要な知識を身に付ける勉強をすればいいと思います。

資格まで取ろうと頑張ってしまうと、必要のない知識も頭に入れないといけないので、正直、時間と労力の無駄遣いになってしまいます。

机上で勉強するくらいなら毎日PCを扱いましょう

本を読んでもプログラマーとしての資質にはなりません。

それよりも、毎日PCを扱いましょう。

「プログラマーとして毎日仕事でPC扱っているから、大丈夫でしょう」と思うかもしれませんが、ここでPCを扱うというのは、日常生活でということです。

仕事とは別にプログラミングするのもいいですし、ブログを書くのでもいいです。

つまり、仕事とは別にプライベートでもPCを扱いましょう。

今では、PCさえあれば、動画も音楽も聞けますし、情報も収集することができます。

常にPCを扱っていると、実際、仕事でプログラミングする時に、情報の収集とかでも断然差が出ます。

常にPCを扱っていると、自分が使っているソフトウェアにどういう機能があるのかも分かってきます。

一般的な機能というのは、どのソフトウェアも統一されていたりします。

そのため、実際にソフトウェアを作るときにも、「こういう機能は普通についてるよね」と組み込むことができます。

実際、ソフトウェアを使い慣れている人が作ったソフトウェアと、使い慣れていない人が作ったソフトウェアでは、使いやすさに大きさ差が出てきます。

その辺を意識できるかどうかが、初心者プログラマーが独り立ちできるかどうかの境目になっていたりします。

どんどん挑戦すると独り立ちも早くなります

結局、最終的には、これが大事なことになります。

初心者でプログラミングに自信がない人って、自分から作業をしようとしていないんですよね。

でも、勉強ばかりしていても、実際に仕事としてプログラミングをして、経験を積んでいかないとプログラマーとして独り立ちすることは無理なんです。

任されるのを待っていても、できる人に仕事は集まっていくんですよね。

時間があるプロジェクトや大企業なんかだと、先輩と一緒に作業することで経験を積むこともできるかもしれませんが、ほとんどの企業ではそこまで余裕はないですよね。

だから、自分から作業を取りに行かないと、経験なんて積めないんですよ。

じっと待っていても、経験の浅いプログラマーにくる仕事なんて、雑用に近い仕事だったり、プログラミングとは程遠いテスターとしての仕事しか来ないんです。

逆に、自分から作業を取りに行くと、ベテランのプログラマーは、「大丈夫かな。。。」ってちょこちょこと見に来てくれたりします。

なので、詰まっていても、すぐに聞けたり、自分の知らないようなことを先輩から学んだりと、その作業が終わる頃には、かなり成長できていると思うのです。

そうやって、何度も挑戦していくうちに、先輩からも信頼されるようになり、独り立ちできるのです。

初めて作業を取りに行く時は、怖いと思います。

自分に自信もないので、できないんじゃないかと言った不安が出てくるのは当たり前です。

でも、そこを乗り越えることで、プログラマーとして独り立ちできるのですから、ちょっと勇気を出して「その作業やらせてください」と言ってみましょう。

先輩も、本当に無理と思ったら渡しませんから大丈夫です。

でも、その場合は、別作業をもらえると思いますよ。

まとめ

まとめると、経験の浅いプログラマーが独り立ちするには、資格勉強ばかりしていても意味がないのです。

PCを使い慣れて、一般的なソフトウェアに着いている機能に慣れておくこと。

仕事は、自分から作業を取りに行くこと。

これを繰り返すことで、プログラマーとして独り立ちしていくのではないでしょうか。

つまり、今回紹介した3点を繰り返すことで、周りよりも早くプログラマーとして独り立ちできると思いますよ。

では、今日はこの辺で。

2020年3月22日日曜日

私がプログラマーを目指した理由

こんにちは。

今日は、私がプログラマーを目指した理由について書いていきます。

私がプログラマーを目指したのは、17年前になります。

結論から言うと以下になります。

  • 世の中の役に立ちたい
  • プログラミングが好き
  • プロのプログラマーになりたい

世の中の役に立ちたい

学生時代、私は天文学を研究していました。

2年浪人して理系の大学へ行き、化学、数学、生物学、地学、物理学と研究室を転々としていました。

そして、最終的にたどり着いたのが天文学でした。

4年間、大学で勉強し、また、思いっきり遊び、バイトもたくさんしていました。

3年の後期から天文学を研究し始め、もっと研究したいと、大学院修士へ進みました。

天文学を研究していて、この研究が、世の中にどのように役に立つのかという疑問にぶつかっていました。

その答えを大学院で見つけることができず、就職することを決意しました。

就職するといっても、当時、自分にやれることがなく、あえてできるのがプログラミングでした。

研究結果のデータ分析で解析システムをカスタマイズしてたし、また、望遠鏡の制御プログラムのカスタマイズも行っていました。

この技術を使って就職し世の中の役に立ちたいと思っていました。

プログラミングが好き

先ほども書きましたが、大学院での研究にプログラミングを行っていて、自分が思うように動作するシステムを作るのが、私は好きでした。

「好き」という気持ちは、とても重要だと思います。

「好き」でないと、プログラマーの仕事は続かないと思っています。

システムは、プログラミングされたようにしか動作しません。

そのため、少しでも不具合があると、コンパイルも通らないし、コンパイルできたとしても正常に動作しないということはよくあることです。

思ったように動作しないと、それだけてかなりのストレスとなります。

また、動作しない原因を調査するために、デバッガを使って変数の値を見ながらステップを追っていくと、時には長時間ストレス状態にさらされます。

この作業は、「好き」でないとできない作業です。

プロのプログラマーになりたい

学生時代に行っていたプログラミングは我流でした。

本やWebで調べてプログラミングしていたので、多くの制約があり、もっと柔軟なシステムを作りたいと思っていました。

当時もすでにオープンソースが出ていたので、そのようなソースコードを読んでいました。

そういうソースコードを見ると、綺麗で柔軟なソースコードが書かれていました。

自分ももっと経験を積んで、綺麗で柔軟なソースコードを書きたいという思いが沸いていました。

まとめ

つまり、私は、研究でプログラムを使っていて、プログラミングが好きで、世の中の役に立ちたいという思いがあったので、就職しプログラマーを目指しました。

これから就職活動を始めようとしている学生の方へ言いたいのは、まずは好きなことを仕事にするのが長続きするコツです。

給与や福利厚生で仕事を決めるのは最悪です。

逆に、今はできないけど好きなことで就職をするのはありだと思います。

好きなら自分で勉強し行動することがストレスにならないでしょう。

今はできなくても経験を積めば、すぐに上へ行くことが可能で。

新型コロナウィルスの影響で就職活動も大変でしょうが頑張ってください。

以下に以前書いたブログのリンクを貼ってお行きます。
こちらも就職活動の参考になればと思います。

IT業界の今後について

私がプログラマーでいる理由

では、今日はこの辺で。

2020年3月6日金曜日

私がプログラマーでいる理由

こんにちは。

今日は、私がプログラマーをしている理由についてまとめてみます。

結論から言うと以下のようになります。

  • 考えることが好きだから
  • 楽しいから
  • 喜んでもらえるから
私は、もう20年ほどプログラムに携わっています。

はじめでプログラムを勉強したのは大学の時で、
授業でプログラムの講義を受講したのが初めてでした。

その時は、Basic言語を授業で勉強しましたが、
あまり興味は持ちませんでした。

その後、C言語の授業を受講し、
すでに研究室に入って研究の手伝いをしていた私は、
これは結果の整理に使えると思って自分で勉強するようになりました。
ちなみに、大学1年の後期の頃です。

考えることが好き

私は、いろいろな事を考えることが好きな方です。

どうやって動いているのだろう、どうやって利益を得ているのだろう。

プログラムを書いていても、
単にプログラムを書くだけてなく、
修正しやすくなるように読みやすくなるように美しくなるように
と考えて書いています。

これを考えずに書かれたソースコードは、
動くのですが読みにくく、修正し辛いソースコードになってしまいます。

また、実は不具合が出やすいソースコードは、
何も考えずに動くことのみを目的として書かれています。

プログラミングを行うことは、基礎勉強が終わった方でもできます。

しかし、どうすれば読みやすく、修正しやすく、不具合の少ないソースコードになるかを考えてプログラミングするには、やはり経験が必要となります。

楽しい

私がプログラマーでいる理由は、これが一番です。

やはり、楽しくないと続けていられません

また、IT業界は日進月歩で発展しています。

それに着いていくには、新しい技術の勉強が欠かせないのです。

勉強といっても、本を読んで勉強するのではなく、
これどうなってるのだろうと興味を持ってWebで調べ、
新しい技術を吸収しています。

この作業は、楽しく、好きでないと続きません

たまに、どうやって勉強したらいいですか、と聞かれることがあるのですが、
正直勉強しているつもりはないので、勉強なんかしてないよとしか答えられません。

そんな方は、プログラマーと言う仕事を楽しんでないんだろうなと私は思っています。

喜んでもらえる

プログラマーの仕事は、お客様の期待に答える仕事でもあります。

なので、出来上がってお客様の作業が軽減されると喜んでもらえます

もっとこうしたい、こういい機能も加えたいと言われると言うことは、
そのシステムが喜んでもらえている証拠だと思ってます。

ただ、無料でやってくれと言うお客様もよくいるのですが、
それはちょっと傲慢だなと思います。

喜んでもらえるのは嬉しいのですが、
やはりビジネスとしてプログラマーをやっている以上は、
作業にかかる代金は払ってもらえないとモチベーションも落ちてしまいます

たまに、ソフトウェアは無料で使えると考えているお客様がいます。
同業者にも、有料ソフトウェアをライセンス料を払わずに使っている方もいます。

ビジネスとしてプログラマーをやっている側から言えば、
投資をして開発されたソフトウェアをライセンス料を払わずに使うのは、
窃盗に近いと考えています。

ソフトウェアを使うのであれば、
きちんとライセンス料を払いましょう。

まとめ

やはり、好きで楽しいことを仕事とすることが一番いいように思います。

楽しくないと、新しい情報を吸収しようと積極的に動けないし、
そもそも、情報が入ってきません。

楽しく働いていればストレスも、あまり溜まらずにすむのではないでしょうか。

では、今日はこの辺で。








2020年3月4日水曜日

プログラマーのお仕事

こんにちは。

今日は、ちょっと技術的な内容を書きます。

ここ数年、転職してプログラマーを目指す方が多くなっています。

でも実はプログラムを書くのは、そんなに難しくはないのです。

今回は以下の点について書いていきます。


  • ホームページを作る
  • Webシステムを作る
  • 本当に難しいのは何をするか

ホームページを作る

ホームページを作るには以下の技術が必要になります。
  • HTML
  • CSS
  • JavaScript
HTMLでホームページの枠組みを作り、CSSでデザインをすれば静的なホームページは完成です。

動きをつけたい場合は、JavaScriptを使います。

ホームページを作る時に難しいのは、デザインです。

デザインさえ出来れば、コーディングはそこまで難しくはありません。

それに、今ではWeb上にたくさんの情報があります。

Webシステムを作る

ブログやECサイトを作るのも、そんなに難しくはありません。

ブログならサーバにWordpressを入れればすぐに作成できます。

ECサイトは、EC-Cubeを使えば手軽に作成できます。

新しくWebシステムを作るとなると、ちょっと難しくなります。

それでも、上に書いた、HTML、CSS、JavaScript それとPHPが使えたら、ある程度のWebシステムは作れます。

WordpressもEC-Cubeも使ってる技術は同じです。

本当に難しいのは何をするか

プログラマーになって、本当に難しく感じるのは、システムで何をするかを考える事です。

Webシステムを作りたいお客様と話をして、どこをシステム化すればいいのかを判断するのは、実は担当の技術者という事がよくあります。

また、SFに近いアイデアを持ち込むお客様もいます。

お客様との会話の中から、お客様が本当に欲しいシステムを提案することは、本当に難しいです。

つまり、技術は勉強する事で習得できますが、その技術で何をするかを考えるのが難しのです。


プログラマーを目指すみなさん、技術の勉強をしながら、アイデアを出す訓練もしましょう。