仕事が遅いプログラマーの特徴と作業が遅れる場合の対策やSEとして生き抜く方法

・現在プログラマとして入社して、自分の仕事の遅さに悩んでいる人 ・これからプログラマとして就職する予定の人 ・専門学校や独学でプログラムを学んでいる最中の人

を対象にして、どうしたら仕事のできないプログラマにならずに済むのか、経験した事を元にいろいろ書いてみます。

仕事が遅いプログラマと仕事が速いプログラマの違いは考え方にある

プログラマとして仕事を始めるとすぐに、周囲で仕事の速い人と遅い人に別れてくる事が肌で分かります。それでは、仕事の速い人と遅い人では、具体的にいったいどこが違うのでしょうか。 個人的に見ている限りだと、両者の違いはそのまま「その人の性格」によってほとんど決まる、といって良いと思います。 もう少し突っ込んで言うと、 ・常日頃から、計画を持って行動している「理系思考」 か、 ・漠然と自分の気分に従って行動している「文系思考」 かの違いとも言えるかもしれません。 ちょっと極端な意見なので「そんな事無いよ!」という人もいるかもしれませんが、「理系思考」の人ほど目的を持ってそこに向かってテキパキと行動する人が多く、「文系思考」の人ほど漠然としている傾向があるように思います。

なぜ考え方の違いでプログラマの仕事の速さが決まるのか?

もちろんそのふたつの傾向は特性が違うだけなので、人格的に「こっちが優れている!」なんて事はありません。 しかし、こと「プログラマの仕事の速さ」という部分だけにフォーカスして考えてみれば、目的を持って行動するのが得意な理系思考の人の方が圧倒的に仕事を憶えるのが速く、てきぱきと仕事をしているように思います。 考えてみれば当然の話ですが、そもそもプログラムというもの自体が ・「何度やっても確実に同じ計算結果がでるように、あいまいさを排除するためにきっちりとした道筋(命令)を示したもの」 なので、目的を持って行動する理系思考の人ほど向いていて、気分というきっちりしていない、あいまいな物を愛する文系思考の人と相性が悪いのは至極あたりまえの事と言えるでしょう。 あいまいを愛する文系思考の人は、どちらかといえばひとつのプロジェクトにおいてプログラマのような骨組みを作る方よりも、デザイナーのような雰囲気を作成する業種の方が本来向いているような気がします。 音楽が好きな人なら、 ・ベースやドラムのような「リズム隊」 が理系思考のプログラマ向きであり、 ・ボーカルやギターのような「メロディ側」 の人間が文系思考のデザイナー向き、と言えば分かりやすいかもしれませんね。 とは言っても、本記事では単に「向いてない」だけで話を終わらせる事はしません。どうやったら ・絶望的に向いてない人間でもプログラマとして仕事をして生き延びて結果を出せるのか を、本記事では考えていきます。

仕事が遅いプログラマの問題点

正直言って私は読書と猫を愛する生粋の「文系思考」の人間なので、プログラマとしてはじめて入社した際、本当に仕事の覚えが悪くて苦労した側の人間です。 仕事をしていて、いままで生きてきて使ってこなかった部分の脳みそをフル回転させていかなければならない様な状況で、その頃の疲労はとても凄まじかったという記憶しかありません。 文系思考の人間がプログラマとして仕事に就いた時、最初に犯しがちなミスは ・よく分かっていない物事を、あいまいなままにしておきやすい ・どんな物事にも一から考える癖が合って、コピペなどの再利用が思いつきにくい あたりがあるのではないかと思います。わりとどちらも、プログラマとして仕事していく上で根本的なレベルの障害となってくる部分とだ言えるでしょう。

仕事が遅い問題点①あいまいな事を無くしていこう

「よくわからないけどプログラムはきちんと動いているから、これでいいか」という思いは極力捨て、分からない事が合ったら仕組みを理屈で理解できるまで、正確に学ばなければなりません。 このあたりは文系思考の人は、社会人として仕事に就くまでほとんど経験してこなかった人も多い事でしょう。 「やばい、わからん」という違和感を感じたら、その部分をすかさずメモっておき、あとで即座にググる癖を付けておく事で、この問題は大分解消されます。

仕事が遅い問題点②プログラムはコピペが大事である

また文系思考の人はなんでも一から考え始める人が多く、オブジェクト指向のような再利用の考え方に、特に苦戦したという人が多そうです。 私も個人的にはじめてプログラムを触った時につまづいたのは、「コピペによる再利用の考え方」でした。 「小説ははじめから終わりまで、徹頭徹尾小説家本人の魂が感じられるような文章の力と言う物がこもっている。 だから良いプログラムにもきっと、制作者の魂が宿っている!そこにはコピペなんて言語道断!」なんて訳のわからない事を考えていました。 しかしそんな事していたら、仕事はいつまで経っても終わりません。 たとえば100ある作業のひとつひとつにたいして、いちいち頭を悩ませて作業をしていたら、そりゃいつまで経っても仕事は終わらないし、仕事も効率的ではなく遅い訳です。 速い人はひとつのひな形を作り、それをコピペして100にしてしまえばいいという考えなのですから。 仕事の速いプログラマは、その「コピペして再利用」の精神を仕事の至る所で活用できるからスピードが段違いなんですね。 文系の人もその考え方になれて、仕事の速度を上げていくしかありません。レッツロジカルシンキングです。

仕事が遅いプログラマの利点

それなりの時間を真剣に仕事のために費やしていれば(まったく仕事を憶えようとしていないダメ人間でない限りは)、覚えが悪いというのは、かならずしも悪い事ばかりという訳ではありません。

仕事が遅い利点①仕事が遅いプログラマは粘り強い

というのは、自分のそういった性格をきちんと自覚できたうえで真剣に仕事を取り組んでいれば、文系思考でもきちんと道筋をたてて論理的に物事を考えるようになってきますし、文系思考独特のメリットというものも持てるようになってきます。 例えば成功するまでに多くの失敗を経験してきた人というのは、苦境に立たされても心が折れにくく、諦めずに仕事をしてくれますし、一度スキルをきちんと身に付けてさえしまえば、苦労した分そのスキルはもうその人からなかなか離れる事は無いからです。

仕事が遅い利点②仕事が遅いプログラマだからできる事

そうやって苦労してスキルを身につけた人の方が、 ・バグなど不測の事態についても、いろんなミスを経験してきているので柔軟に対処できる場合が多い ・仕事の速い、できる人間にありがちな「自分さえ分かっていれば良い」という考えにはならず、上手に他人に説明できて情報を共有する能力が優れている。他人が読んでも分かりやすいソースコードを書ける人になる事も多い なんて利点を持っていたりもします。文系思考特有のセンスと言う訳ですね。

仕事が遅いプログラマなりの戦い方

いくらバグ取りに柔軟に対応できる、説明する能力に優れているといった特性があったとしても、やはり「仕事の速い人に比べて、いつまでも劣っているのは嫌だなあ」という気持ちは出てきますよね。 では、その ・「仕事が遅いプログラマだった人は、いつかは最初から速い人と同じくらいのレベルに追いつけるのか?」 という問いについて、真剣に考えてみましょう。

仕事が遅いプログラマも、いつかは速くなるの?

…かなり難しい問題です。というのも、本当に優れているプログラマはそもそもの性格が仕事に向いているだけではなく、なおかつ自分の人生のほとんどを仕事に捧げている人が多いからです。食事と睡眠以外はプログラム、の世界です。 私がはじめてプログラマとして入った会社で一番仕事が速かった同期の人は、 入社初日から会社に毎日14時間近くいて、週6勤務は当たり前、大量の参考書を買って家にいる時間も勉強していました。 しかもそんなに頑張らなくても、最初から同期の中で圧倒的に実力が一番でした。そんな実力のある人が、誰よりも頑張っているのです。勝てる訳がありません。 あなたにそれと同じ事が真似ができるのなら、いつかは同じくらい速くなれる可能性もあるかも、くらいにしか私には言う事ができません。 少なくともナーシャ・ジベリやスティーブ・ウォズニアックにあこがれるのは勝手ですが、彼らのようにはなれないだろう、とは思います。

ナンバーワンではない、プログラマの生き方

ただしトップレベルに仕事が速くなくとも、給与や報酬に見合った分の仕事ができるプログラマになる事は、十分可能です。 個人的に会社でプログラマとして仕事してきた中で、ひとつ「プログラマとして成長していく」上で、大きな問題がありました。 それは、 ・仕事が速いプログラマは、たいていの場合教えるのが下手 だという事です。多くの有能なプログラマは、プログラムの仕事なんてできて当然という体なので、人に教える必要性を感じていないというか、「なぜ教えないと分からないのか」と憤りを感じている人も少なからずいます。 しかし現場の中ではその人が圧倒的に仕事ができるので、その他のプログラマはその人を中心にして、後続の形として働く形になります。 この際、そのトッププログラマーだけがどんどん先頭を進み成長していくばかりであり、教えてもらわないと分からない一般プログラマは聞いてもなかなか分かるように教えてもらえず、いつまで経ってもスキルが身に付かない、なんてケースになる事も珍しくありません。正直こうなるとかなり悲惨な状況です。 一度こうなってしまうとたいていの場合、いつまでも状況が変化する事は無いので、つぎつぎとまわりのプログラマは脱落して辞めていきます。私もそうなれば辞めます。 プログラマとは関係ないですが、「ジブリは宮崎駿の才能が圧倒的すぎて、他の優秀な監督がジブリの中では育たない」なんて話をよく耳にしますが、それに近い状況だと言えるかもしれません。 こうなったら転職するなり、フリーランスになるなりして、自分にあった環境へ行った方がはるかにストレスも少ないし、きちんとスキルを身につけていく事が可能だと私は思います。

プログラマは自由に働き方を選べる

自分に合った仕事を探す方法は、ネットにおける転職支援のサイトやフリーランス支援のサイトから、いくらでも自分の条件(やりたい仕事内容、収入、労働時間など)にあった仕事を探す事は可能です。 全人生をプログラムにささげたいという人でなければ、やはり自分に適した環境、仕事内容、働き方をつきつめてこだわっていく方が、結果的に駄目なプログラマになる事を回避し、自分の個性を活かした仕事ができる可能性は高くなると言えるでしょう。

仕事が遅いプログラマが成功する方法

これから先10年では、AIのさらなる進化によってプログラマの考え方、働き方は大きく変わってくるかもしれません。 今までみたいに ・きちんとプログラムの構造を理解できないとソフトウェアを作る事ができない という形から ・文系らしいセンス重視の直感だけが必要で、あとはAIに全部プログラムをまかせてソフトを作れる ようになり、プログラマ自体がもういらなくなってくるのでは、と危惧するくらいAIの進化は目覚ましいからです。

IT技術の進化が仕事の遅いプログラマを救う?

AIの進化で車が自動運転になっていき、ドライバーの運転技術が必要とならなくなっていくように、プログラマの世界もプログラミング技術がいらなくなってきて、ソフトウェア開発に必要なのは制作者のアイデアやセンスだけになってくる、という可能性は多いにあります。 そういう時代になるに従って、従来仕事が速い、できると言われていた人達が今まで程には力を出せなくなり、今まであまり結果を出せていなかった人たちにも成功のチャンスが巡ってくるかもしれません。 こうして将来の技術進化の事を考え、自分らしい仕事ができるプログラマとして生き抜いていく方法は、個人的にも常に考えていきたい所です。

仕事が遅いプログラマの特徴と対策まとめ

プログラマの仕事の仕方と、これから先のプログラマの働き方について思っている事をまとめてみましたが、やはりこれから先、 ・会社員として働く ・フリーランスとして働く ・これから先のAI技術を駆使してソフトを作る など、プログラマの働き方は人それぞれになってくるでしょう。 単純に仕事に対する理解が遅い、仕事のスピードが遅いプログラマでも、自分にあった最適な働き方を見つける事で、いままでよりも何倍も多きな結果を出す事も可能になってくるでしょう。 理系のロジカルだけでは持つ事のできない、文系的なセンスを駆使すれば、恐ろしく仕事の速いプログラマよりも高給取りになる事だってできるかもしれません。 そのためにも、常に新しい技術にアンテナを張っておく事は忘れずにいましょう!というのが今日の結論です。]]>