はじめに
SEやプログラマーとして仕事をする際に重要だと思う考え方について、
デキる人から聞いたり、盗んだりして僕が最終的にたどり着いた考え方についてまとめてみました。
特に新人SE・プログラマーに向けの内容です。
「自分は仕事が遅いな」
「自分は仕事の効率が悪いな」
「仕事そもそも振ってもらえないな」
など悩んでいる方は是非参考にしてみてください!!
(極端なところもあるので人によっては合わないところもあるかも・・・)
この記事を書いている僕の職歴や自己紹介についてはプロフィールにまとめているので、
興味のある方はそちらを参照ください!!
ちなみに、新人時代の自分は、
無心で目の前の作業をとにかくスケジュール通り終わらせることだけ考えていました。。。
でも、考え方次第でもう少し成長を早められたり、
要領良く作業するめられたかなぁ、、と思います。
新人SE・プログラマーに重要な3つの考え方について
僕が今まで現場で仕事をしてきた中で、
特に新人のSEやプログラマーに大切にしてほしい3つの考え方について
紹介します!!
「そもそもなんで??」を考えることがSEやプログラマーには重要
「今やってる作業って何が目的なんだっけ??」
が答えられない新人や若手をたまに見かけます。
(どうせ理解できないと説明を放棄している上司の責任であるケースは置いておきます、、、)
自分も新卒1年目のとき、
作業をスケジュール通り完了させることが1番の目的に置いてしまい、
今やっている作業はなんのための作業か??
を理解していなくて怒られたことが何度かありました。。。
例えば、
先輩が作ったプログラムの試験を手伝うシーンを想像すると・・・
「なんでこういうテストをして問題なければOKと判断していいの??」
「そもそも先輩はどんなプログラムを書いたからこの試験の観点を挙げたの??」
「そもそもなんでこの機能がお客さんにとって必要なの??」
などなど、を考えるようにしてみてほしいです。
なぜこの考え方が重要なのかというと、
「そもそもなんで??」だったり目的を正しく理解していないと
作業の方向性や認識がズレていってしまうからです。
すぐ目の前だけ見てこの一歩を進むのと、
ゴール(目的)を意識してこの一歩を進むのと
を比較するとイメージしやすいと思います。
認識や作業の方向性がズレると、
結局そのズレに後から気付いて、それまでやった作業が無駄になります。
こういう無駄な工数をかけると結果的に仕事が遅いとか仕事ができないのと同じことです。
また、
「そもそもなんで??」
を考えない人は質問のレベルが低い傾向にあります。。。
(「作業の目的理解してたら、そんな質問でないよね、、、」
って言われてる人は現場でよく見かけます)
これをやり続けてると、
質問する割に得られる情報も薄いので作業進まないのに加えて、
周りからこいつデキないな。。。難しい仕事振るの怖いなと思われるので気をつけましょう!!
逆に
「そもそもなんで??」
を常に考える人は、
常にゴールを意識して仕事を推進できるので、あまり遠回りしません。
なので仕事が早いし無駄がないです。
さらに・・・
先輩の単体試験ケースが足りてなかったり、
無駄が多かったら指摘だって出来るはずです。
「そもそもなんで??」を常に意識するようにしましょう!!
エラソーなこと書いてますが、
僕の新人時代は、前半はスケジュール通り終わらせることが全てだ!!
くらいに考えていてボロボロだったので、、、
今できてない人も気にしないでください!!これからできるようになれば大丈夫です!!
「これやってくれる?これデキる?」には新人SE・プログラマーは「はい」か「YES」で答える
ちょっとブラックなのが見え隠れしてるようにも思われるかもしれませんが・・・
「この作業デキる??」
と聞かれて
「やったことないのでこの作業できません。。。」
「自信ないです、、、」
と答える人をたまに見かけます。
これはもったいないです!!
これを繰り返すと、最悪仕事振ってもらえなくなります。
新人SE・プログラマーは仕事を自分から見つけてタスクを推進していけるほどのスキルはないと思います。
だからこそ振ってもらったタスクはなんでもやって(できれば期待以上のクオリティで)、
経験や信頼を積んでいく必要があります。
また、
無茶振り、自分に経験のないタスクをやる際、
「どうやればデキるか?」を必死に考えます。(すぐ諦めない場合)
必死に考えて試行錯誤して答えを絞り出し、
実行することは、例え失敗で終わったとしてもその試行錯誤の過程において成長に繋がります。
逆に、再現性のある手順通りにいつまでも作業しているだけでは進歩はありません。
無茶振りにいつも理由をつけて断っていると、
必死に考えないので成長はしないです。
それに、相手からの信頼も得られず仕事も振ってもらえなります。
大事な仕事や、大きい仕事を任せてもらう人たちは、
炎上中の案件や、ハードルの高い案件を自ら「引き受けます」と手を挙げて信頼を得た。
という人を現場で見てきました。
その人たちは、やはりスキルも物凄いです、、
なので、デキない理由を考えるのではなく、
「どうやればデキるか?」を考えるようにして見てください。
「やってくれる??デキる??」の質問には
どうやったら断れるか??を悩むのではなく、
とりあえず「はい」か「YES」で答えて、
そこからどうやり切るか??を悩みましょう!!
僕の新人時代はそれをやり過ぎて何でもかんでも引き受けて
連日終電など大変な目にあったので、、、そこは気をつけてもらえたらと。。
100点を1つより80点で3つを終わらせることが大事な場合もSEやプログラマーにはある
1つ1つの作業が丁寧でいいのですが、
「そこまで細かいところを今気にする必要ないよな、、、
それより優先する事あるよね。。。」
って人をよく見かけます。
80点までできてから、さらに残り20点を完璧にするよりも、
優先度の高い次の作業に早く着手する方がいいケースもあります!!!
例えば、
「システムの検索機能改修をするから影響箇所の一覧をまとめて欲しい。」
と作業を振られたシーンをイメージしてみて下さい。
この場合、影響箇所の一覧がわかればいいのに、
必要以上に資料見やすく綺麗に作ることにめちゃくちゃ頑張る人と、
同じ時間で、
一覧をパッと作ってしまって、資料の見栄えはあまり気にせず改修作業に入れる人の違いです。
作業が早くても、
影響箇所の一覧に漏れがあるのはもちろんダメですが、、
影響箇所さえ洗い出せたなら次の作業に移るべきです。
そういう意味で、
「100点満点1つ終わらせるよりも80点3つ終わらせる」
という考え方が時には大事になります!!
僕の新人時代は、
80点どころか成果物の品質が悪く怒られていたので、、、
最低限の品質は抑えた上で、それ以上精度を上げるべきか、
次のタスクに移るべきか確認しながら進めてもらえたらと思います!!
まとめ
僕の今までの現場の経験から、
新人SE・プログラマーにはこれら3つの考え方を伝えたいと考えています。
- 「そもそもなんで??」を考えることがSEやプログラマーには重要
- 「これやってくれる?これデキる?」には新人SE・プログラマーは「はい」か「YES」で答える
- 100点を1つより80点で3つを終わらせることが大事な場合もSEやプログラマーにはある
「自分は仕事が遅いな」
「自分は仕事の効率が悪いな」
「仕事そもそも振ってもらえないな」
など悩んでいる方に少しでも参考になれば幸いです。
2022/3/21追記
SEやプログラマーのよくある悩みについて、
僕の8年間の経験から悩みと自分なりの解決策をまとめたので
こちらの記事も是非みてください!