はじめまして、ラボの大西です。
今月2日よりプログラマーとして入社いたしました。
お客様と弊社で働く皆さんのためになるシステムを開発いたします。
皆様、よろしくお願いいたします。
さて、小中高ではプログラミングが必修化したみたいですね。
これからはIT業界やゲーム業界を目指す方がより増えるかもしれません。
プログラマーの仕事がAIに代わられるかもと言われていますが、小学生の頃から鍛えられたプログラマーが増えるほうが脅威ですね。
今の小学生が社会に出てくる頃、私はこの業界に居続けられるでしょうか。
餅は餅屋、不動産については弊社の営業の皆様からということで、私はプログラマーという職業について自分の経験を元に少し書き連ねてみたいと思います。
IT業界を目指す方の一助になるでしょうか。
私はゲームプログラマーを目指してIT業界に入りました。
初めの頃はプログラマーの業務内容はソースコードを書くだけだと考えており、想像と現実のギャップで苦労しました。
●所属する会社によって働き方に違いがある
プログラマーの仕事は「所属する会社の内部で使うシステムをつくるもの」と想像していたのですが、
「別会社に出向し、そこの案件の一員として働く」場合もあります。
派遣やSESと呼ばれるもので、私はSESとして幾つかの企業、案件を経験してきました。
どの案件でもWebアプリケーションの改修が主な作業でしたが、各工程の進め方や環境などは様々でした。
ある案件でのやり方を覚えても、次の案件ではそこでの進め方を覚える必要があります。
●どんな年齢の人がいるのか
「プログラマー30歳定年説」と言われますが、実際には30歳以上の方が圧倒的に多い印象です。
たまたまそういうプロジェクトに参画することが多かったのかもしれませんが、20代が少なくて寂しい……。
●コミュニケーションが必要
会議や進捗の報告など、上長と会話する必要が必ず発生します。
チャットツールを採用している企業もありますが、ごくまれに社内電話しかない場合もあります。
開発するプログラムに関する認識のすり合わせ、進捗が遅れている旨の報告、大事です。
●案件の長さはまちまち
短いものでは1か月、長いものでは年単位で別会社に出向することがありました。
全体でざっくりと「要件定義」「開発」「テスト」の3つの期間に分けられ、それぞれに応じた業務を行います。
本来、プログラマーは「開発」「テスト」を担当して、システムエンジニア(SE)と呼ばれる職種が「要件定義」を担当するのですが、システムエンジニアが上記工程をすべて担当することもあります。
その逆で、プログラマーとして案件に参画したら要件定義も担当で気づいたらシステムエンジニアになっていたということもあります。
●テスト工程とその進め方
テスト工程はプログラムの動作が正しいか、バグが発生しないかを確認、修正する一番重要な工程です。
趣味や独学ではあまり重要視されず、私も実務で初めて流れに沿ったしっかりとしたテストを行いました。
企業によっては決まった進め方があり、中には「追加編集したコードの行数に応じた数のバグを発見し報告しなくてはいけない」というものもあります。
一度経験するといやでもテスト工程を意識した単純明快なソースコードを書くようになります。
●仕事=勉強
経験のない処理の開発、難解なソースコードの解読と修正に想定以上の時間を取られ、1行直せばよいバグに気づくまで数時間ということもあります。
そんな中で最新技術を調べたり学習する暇はなかなかとれませんが、実務を通して学べることは多いです。
既存のソースコードを見たり編集することで知らない関数や処理、サーバ構成などを学び、
よい書き方は取り入れ、そうでない書き方は反面教師としていった経験値でなんとか戦えています。
最後に、プログラマーを目指すなら欠かせないものがあります。
それはアヒル人形です!
ラバーダック・デバッグと呼ばれる立派な手法のひとつです。
私はシマエナガですけど。
職場の皆さんに人形を見つめる変な人と思われていないか心配です。
以上、目標は完璧で究極のフルスタックエンジニア、ラボの大西でした。