プログラマーとして成長するために考えるべき・やるべきことを紹介
同じ職場の同僚が新しいプロジェクトのプログラミングを任されることになった。けれども、自分は今以上に成長するにはどうすればよいか分からない、といったような状況に陥り、焦りを感じたりしていませんか?
プログラミングを始めた当初は、粗削りながらにでも設計書に忠実なものを作り上げることに必死で、何度も試行錯誤を繰り返し、あらゆる知恵を絞り、時には先輩に指導してもらい作り上げていた、ということもあるのではないでしょうか。
そこには達成感や充実感があり、プログラミングの楽しさがあったと思います。もう一度初心に帰って自分に何が足りてないのか、何が必要なのか考えてみましょう。
プログラマーとして成長するにはどうすればよいか
プログラマーの仕事は、常にスキルアップが必要な仕事です。現状維持でいることが当たり前になってしまうといけません。
コードを記述することだけで終えるのではなく、いかにスマートで読みやすいものにするのか。
自分ではない誰かが、開発後のプログラムをカスタマイズやメンテナンスすることを視野にいれて、プログラミングするなど、日々励む必要があります。
また、現在の仕事の専門性を高めるために、開発システムに必要な業務知識を深めることは不可欠ですし、仕事の幅を広げるためには、違うプログラミング言語を習得することが必要になることもあります。
プライベートでプログラムを作ったり、プログラミングの参考書やシステム開発に関連する雑誌読んでインプットすることも、プログラマーとして成長するためには有効です。
現在の仕事・職場でも、さまざまなケースや開発業務に自ら興味を持つことで、自分に足りないものを学ぶことができます。
現在、プロジェクトに入っており、そちらの対応に忙しい場合は、新たな技術や言語を学ぶことは難しいことでしょうが、スキマ時間や余暇を活用して、自分に合った方法を選択すればよいのです。
プログラマーとしての成長の仕方
プログラマーと言っても、開発するシステムやソフトウェアなど仕事の内容によって、成長の仕方は様々です。
webプログラマー
サイトやアプリなどのコンテンツを開発するため、webデザイナーがあらかじめ作成したデザインをもとに開発を行います。
そのためにはweb開発系のプログラムに関するプログラミング言語の知識を学ぶ必要があります。現在のweb開発では、主にJavaScriptやPHPが使われていますので、そちらは最低限スキルをつけておくべきでしょう。
また、webコンテンツの基本は、HTMLやCSSですので、その点に関しても理解できる知識が必要となります。
アプリプログラマー
システムエンジニアが顧客からの依頼に応じたものを設計し、それをプログラミングします。
Javaなどのアプリケーション開発に必要なプログラミング言語の知識を学ぶ必要がありますが、もっとも重要なのは、開発するシステムの業務知識です。
顧客となり得るのは、金融機関や行政、医療施設など様々です。
開発するシステムに伴う基本的な知識はもちろんのこと、開発システムに関連する知識や、「顧客がどういったものを望んでいるのか」ということを汲み取るスキルも必要となります。
ゲームプログラマー
必要な言語知識はプラットフォームによって変わりますが、C言語、Java、JavaScript、CSSなどが一般的です。
必要なスキルは前述したことと変わりませんが、ゲーム開発には、エンジニアやデザイナーなど他分野の専門家の多くの人との連携が必要になります。
チームで開発を進めていきますので、コミュニケーション能力はかなり必要となることが多いでしょう。
そもそも成長できていないのはなぜ?
いま、あなたがプログラマーとして成長できていない。または、成長出来ていないと感じるのは、なぜなのでしょうか。
その理由について考えてみましょう。
しっかりと目的を理解できていない
あなたの開発しているシステムが、何を目的としているか理解してプログラミングしているか否か、によって仕事の品質も勿論のこと、成長の度合いも変わってきます。
プログラミングいう作業に執着しすぎて、わからないことを解決することを怠ったり、技術書に載っている言語の使用目的を理解せずに記述したりしていませんか。
プログラミングという作業のみに満足するのではなく、そのシステムを構築するうえでの目的を明確にすることを意識し、仕事にあたってみましょう。
プログラミングの基本手順を守れていない
このケースでは、「なぜ手順どおりに作業を行わなければならないのか」という基本的な理解が不足していることがほとんどです。
プログラミングに慣れてくれば、さほど難しいものでなければ、頭の中でフローができてしまうようになります。設計書やフローチャートなど書かずにプログラミングすることも可能になるでしょう。
しかし、その反面、問題が発生した場合に、設計を見直すことや現象を把握することが曖昧になってしまう傾向もあります。
結果、何度もテストを行ったりと多くの時間を無駄にしてしまうことになってしまいます。
現状維持で満足する思考になってしまっている
プログラマーは、プロジェクト形式で仕事を進めることが多いため、複数名のメンバーと連携しながら進めることになることがほとんどです。しかし、プログラミングの作業自体は、どうしても個人作業となります。
プログラミングに限った話ではありませんが、個人作業を長く続けていると、どうしても自分のやりかたや、こだわりがでてきてしまい、そこに固執してしまいがちです。
その結果、周りの意見やアドバイスを聴き入れなくこともあります。
どんなに優秀なプログラマーであろうとも、新しいものを作り上げられるようになるには、常に、あらゆる意見やアドバイスを吸収できなければいけません。
今の自分自身が、現状のやり方に満足し、そこに固執してしまっていないか、振返ってみましょう。
プログラマーとして成長するために初めにやるべきこと
あなたが成長できていない原因が、少しは見えてきたでしょうか。
勿論のこと、その原因によってあなたのとるべきアクションは異なります。
まずはしっかりと自分の仕事を見直してみましょう。
プログラマーとしての専門的知識のスキルアップは、参考書を読んだり、プログラミングスクールで学習する方法が挙げられます。
ネット上で公開されている情報などで、独学でも基本的なことを学ぶことはできますが、より詳しくレベルアップを考えているのなら、受講料はかかりますが、プログラミングスクールが最短期間であなたの希望が叶う可能性があります。
わからない部分やエラー対応など、ピンポイントで講師に丁寧に教えてもらうことができ、短期間での技術の習得が可能です。
そして、習得した技術や知識は、必ず仕事で実践してみる必要があります。
そのためには、会社の先輩や同僚に自分のプログラミングに対する考えや技術の相談をすることも必要でしょう。
もしくは自分のプログラムを検証してもらったり、先輩や同僚のプログラムを見せてもらったりすることも有効です。
自分を客観的に見てもらうことは新たな自分を発見できるチャンスなのです。
あらゆる角度からモノをみることができれば、プログラミングの奥深さがわかり、知らなかったことに興味が湧き、学び続ける楽しさがわかるでしょう。
しかし、そこまであなたの成長を必要としていない、単純作業を続けて欲しいと思っている会社もあるでしょう。
または、上司や先輩、同僚に恵まれず、現状ではこれ以上の成長が望める環境でないと感じる場合は、あなたのやりたいことができる会社に転職することも視野に入れてみることです。
勿論、それにはリスクも伴います。
自分の仕事を認めてもらうにはそれ相応のキャリアとスキルが必要です。
求めるものも自分の想像を超えていることを念頭に置いておくべきでしょう。
その上で、転職を考えるのなら、安易に転職先を選ばず、自分の希望が叶う会社を慎重に選ぶことです。
自分の希望をきちんと整理し、それに合致する会社を探すための方法は、
①転職サイトから自主応募する
②転職エージェントを利用する
という方法があります。
①の自主応募は、転職先の業務に求める人材と自分が希望する業務にズレが生じてしまうリスクがあります。
そうなると転職した甲斐がなくなってしまいます。転職エージェントの場合、専門家による求人のマッチングや面接の支援など転職のサポートをしてくれるため、その点は非常に安心できます。
フリーランスになる、という道もありますが、幅広いプログラミングスキル、マネジメントスキル、ビジネスマナーそして高いコミュニケーション能力を必要とします。
一筋縄ではいきませんが、あなたも努力次第では夢ではありません。
まとめ
プログラマーとして成長する上では、それぞれ成長の仕方や、そのために課題となっていることは様々であることを紹介してきました。
プログラマーに限らず、どんな仕事でも共通して重要なキーワードがあります。
それは「向上心」です。
日々、自分を高めていくという向上心を持つことが重要です。
日々の何気ない事や変わりのない仕事だと思っていることにも常に興味を持ってみるよう、意識して努めてみましょう。
マイナビエージェント