新卒・若手プログラマが心がけるべき7つのこと

2017年7月31日

新卒の方や他業種から転職して新たにIT業界へ足を踏み入れた方に向けて、日々の業務の中で心がけて欲しいことを伝えていきたいと思います。

今の仕事の進め方などに悩んでいたら、参考にしてみてください。

私の経歴について

経済学部を卒業後、新卒で関東圏で中規模のSIerに入社。その後、一度転職をして、地方の中小企業でマネージャ兼SE兼PGをしています。

2017年4月でIT業界へ入って10年目になります。

2008年3月に地方私大経済学部を卒業

  • 情報系の知識はありませんでした。独学でC言語を勉強してたくらいです。
  • 就活中はコンサル業界志望でしたが、なぜかIT業界へ。

2008年4月に某メーカーのグループ企業のSIerにSEとして入社

  • 入社した会社はPGとSEの区別がなく、PG = SE、SE = PGという会社で、設計もプログラミングもできて当たり前という会社でした。
  • 主に業務系のWebアプリケーションを開発していました。
  • この時に基本情報と応用情報の資格を取得しました。

2012年4月に地方の中小企業のIT企業へ入社

  • ここで初めてプログラミングしかできないPGという存在を知る。
  • 10名弱のメンバーの管理をしながらプロジェクトを回してます。
  • この時に情報セキュリティとDBスペシャリストの資格を取得。

大学時代まではIT業界に縁もゆかりもありませんでしたが、今やどっぷりこの業界につかっています・・・。

簡単な自己紹介が終わったところで、本編書いていきます。

報連相はしっかりと

どんな業種でも大事なことですが、

  • 相手(上司やお客さん)が知りたいと思っていることをきちんと「報告」する。
  • 関係者に客観的に正しい情報を「連絡」する。
  • 相談相手に伝わるように相談内容を整理して「相談」する。

ことが重要です。

報連相がうまくいかない場合は、以下の点に注意してみてください。

「報告」がうまくいかない場合

  • 自分が伝えたい内容だけ報告していないか?

自分が伝えたい内容ではなく、相手が知りたい情報を伝えるように心がけましょう。もし、相手が何が知りたいか分からない場合は、相手(上司やお客さん)に何の情報をどのタイミングで報告すれば良いか確認しましょう。

  • 相手がわかる言葉を選んで報告しているか?

上司やお客さんみんながシステムのことに詳しいとは限りません。報告する相手によって専門用語は避けて、わかりやすい報告を心がけましょう。また、上司に報告を行う際も、上司はあなたの仕事を全て事細かに把握しているとも限りませんので、その場合は、今の作業状況などをきちんと順序立てて報告するようにしましょう。

「連絡」がうまくいかない場合

  • 客観的に情報が伝えられていますか?

5W1Hなどを意識して客観的に誰が見ても誤解がないように情報を伝達することを心がけましょう。もし、不安があるのであれば連絡しようとしている内容を他の人に一度チェックしてもらうのも良いと思います。

  • 情報に「抜け」や「漏れ」はありませんか?

自分にとっては当たり前と思っていることでも、連絡する相手には当たり前ではないこともあります。自分が当たり前に知っていることでも、相手の立場を考慮して、連絡時にきちんと伝える必要があるかを考えながら連絡を行いましょう。

「相談」がうまくいかない場合

  • 断片的に情報を出していませんか?

相手はあなたが何に悩んでいるかわかりません。そういった状況で断片的な内容だけでアドバイスを求められても曖昧なアドバイスしかできません。相談するのであれば情報はきちんと提示しましょう。

  • 相談相手は適切ですか?

会社という組織の中にいる以上、その組織運営から逸脱するようなことはできません。指揮命令系統を無視した相手へ相談しても、相手もアドバイスすることができません。新卒の方であればOJTのパートナーや中途採用の方であれば、配属時に組織の体制を確認し、誰に相談すれば良いのかをあらかじめ聞いておきましょう。

何か問題が発生した時の対処方法について

業務中には様々な問題が発生します。その際には以下の点に注意しておくと無用な混乱を避けることができます。

  • 問題が発生したことをきちんと報告する

よくやりがちなのが「ちょっと修正すれば問題解決できそうだから、報告せずに作業をしてしまう。」ということです。仮にこれで問題が収束したとしても、報告をおろそかにしていると同じ問題が発生した時に他の人はどのように対処したのかが分からないため、最初に問題が発生した時とは異なる修正を行う可能性があります。そうすると、同じ問題への対応なのに対応方法が異なる修正が発生し、統一感が無くなります。

また、修正に予想以上に時間がかかってしまった場合、上司はその修正作業のタスクの存在を知らないため、単純に今担当している作業が遅れていると考え、生産性が低いと判断されてしまう可能性があります。

  • 問題への対応方法などをきちんと確認する

プロジェクトにはプロジェクトのルールがあります。あなたが「これが正しい」と思っていようが、世間一般で推奨されていようが、プロジェクトのルールでNGになっていることは行うべきではありません。あらかじめ、問題を報告し対応方法を確認しておくことで、無用な混乱を避けることができます。

相手が言っていることがきちんと伝わっていることをアピールする

上司の指示やお客さんからのリクエストに「はい、わかりました。」としが返答しないでいると、相手は本当に自分が伝えたかったことが伝わっているのか不安になります。相手の言葉を咀嚼して、自分の言葉で言い換えながら指示内容や要望について確認することを心がけましょう。

自分の言葉で言い換えて確認することで、お互いの認識が合っているか確認できますし、認識がずれている場合でも、その場で修正することができます。

たまに、返事すらしない人もいますがこんな人は論外ですね・・・。

作業量を見極める

自分が1日でできる作業量を把握するように心がけましょう。

そのためにも新卒の方は、最初の頃は極力残業はせず、自分が100%の力で1日作業をした場合、何の作業であればどのくらい終わらせることができるかを把握するところから始めましょう。そのためにも自分が行った作業のログをきちんと取っておくと良いと思います。私も新卒〜4年目までは自分の日々の作業予定を一覧にして、プロジェクト名、作業内容、作業のボリューム、予定工数、実績工数を記録していました。これを続けることで自分の作業に対する見積もり精度をかなり向上させることができました。

マネージャーの立場からすると、「1日(8時間)でどれだけできるか分からないけど残業してでも終わらせます!!」という人と「1日(8時間)でできる作業はここまでなので、これだけの作業にはn日かかります。」という人がいるのであれば、私であれば間違いなく後者の人を重宝します。作業量の多寡に関わらず、作業の見通しが計算できる人の方がありがたいです。

勉強することの重要性

IT業界はどんどん新しい技術が出てくるので、仮に今の業務で使うことがなかったとしても、最新の技術動向は把握しておいた方が良いです。浅く広くでも良いので、色々な情報を収集することをオススメします。

ただ、浅く広く勉強しながらも何か一つの分野やプログラミング言語については深く理解しておくことが大事だと思います。一つの分野やプログラミング言語を極めることができれば他の領域にも応用が効きやすいので。新しいプログラミング言語を習得する際なども、「これは自分の得意なプログラミング言語ではこうなるんだな」とか「得意なプログラミング言語ではこう実装するけど、新しいプログラミング言語ではこう実装するんだな」といった具合に理解するスピードが早くなります。

あとは、どんなことでも肯定的に頭を柔らくして受け入れることが大事だと思います。

身近な例を挙げると、私たちのプロジェクトではソースコードの管理をSVNからGitに移行したんですが、やっぱり使い方が分からない人が何人かいて、分からないところは教えながらやってたんですが、中にはそもそもGitという単語も聞いたことないレベルの人もいて、一から「Gitとは」というところから説明しても、「結局、SVNみたいなものなんでしょ?」と言われてしまい、もう自分の価値観から脱却できなくなってしまっている人もいました・・・。自分の想像の範疇を越えると途端に思考停止してしまう人にはならないように気を付けたいですね・・・。

資格は取れるうちに取りましょう

会社によっては特定の資格を取得しないと、昇給・昇進ができないところもあるので、資格はしっかり取りましょう。転職時などにも有利になりますので。

新卒の方は、業務量もさほど多くないと思いますので、今が資格取得のチャンスです!経験年数が増えるにつれて責任も作業もどんどん増えていくので、作業負荷が低い今のうちに資格取得を頑張りましょう。

下記の資格を取っておくと色々有利だと思います。

  • 基本情報技術者
  • 応用情報技術者
  • 高度資格どれか1つ
  • 担当業務に応じたベンダー資格

将来なりたい人物像をイメージする

自分が将来どんな風になりたいかをイメージすることは非常に重要だと思います。ある程度仕事に慣れてくるとモチベーションを維持することが難しくなることもあると思いますが、将来なりたい自分をイメージして、現実とのギャップを認識し、目的に向かって頑張ることでモチベーションを維持することができると思います。

まずは、「会社の中で尊敬する人のレベルになれるように頑張る」といった風に身近な人を目標にするのが良いと思います。あまり目標が遠すぎてもどう頑張れば良いか分からなくなってしまうので・・・。

最後に

いかがでしたでしょうか?色々参考になったこと、ならなかったことあったかと思いますが、同じIT業界で働くものとして、一緒に頑張っていけたらと思います。