カタカタカタカタ……プログラマというと、ずーっとパソコンに向かっているイメージを抱いていませんか?しかしその光景はプログラマの仕事の一部「製造」に過ぎません。もちろんパソコンに向かってプログラムを組まなければ仕事にはなりませんが、他にもたくさんの仕事をするスペシャリストなんですよ。
この記事ではプログラマの実態に迫ります。
・プログラマとはどんな仕事か
・プログラマの具体的な仕事内容
・プログラマという仕事の良い点悪い点
・プログラマに向いている人・向いてない人
といった内容でお届けします。できるだけ専門用語や難しい表現を避けて優しい言葉で解説しました。
ぜひご覧ください!
プログラマとは何か
パソコンをはじめとするコンピュータで何か作業をするにはソフトウェア(アプリケーション)が必要です。このアプリケーションはプログラムによって作られますが、プログラムを作る人のことをプログラマといいます。つまり、家づくりに例えれば大工さんの役割ですね。
基本的にはシステムエンジニアが作った設計書に基づいて、要求された通りに動くものを作ることが多いでしょう。この点もまた家づくりの設計を建築士が担当し、大工さんが柱を立てたり、釘を打つという分業に似ていますね。
プログラマの具体的な仕事の内容
プログラミング|技術を駆使してソフトウェアを作る
プログラマの仕事の大きなウェイトを占めるものが、プログラミングという仕事です。
この仕事ではソフトウェアやシステムの設計書に基づいて、要求された通りの動きをする画面やデータの加工・分析、印刷などを行う機能を作りこんでいきます。
プログラミングには「プログラミング言語」というコンピュータが理解できる言葉が使われるため、一般の方にはとても難しいものと思われるようです。
プログラム構造設計|パソコンより紙が活躍!?
プログラミングはものつくりですが、設計書の要件を満たしかつ正確に作る必要があります。
そのためプログラミングの前に、どんなプログラムを作るのかしっかりと資料に起こしてプログラマ同士で検討します。
これがプログラム構造設計です。
アーキテクチャ設計|プログラミングの効率化を追求する
プログラムを使ってソフトウェアを作る場合、複数の人が同じようなプログラミングを行う場合があります。そのような処理をあらかじめ洗い出しておき、すべてのプログラマが使えるように整えるのがアーキテクチャ設計です。
これはシステムエンジニアが作成した設計書を深く理解する力、プログラムに精通していることは必須のスキルです。さらにシステムエンジニアに設計を見直してもらってプログラミングがスムーズに進むように交渉することもあります。
プログラマは技術だけに精通していては勤まらないということですね。
なお、アーキテクチャ設計という言葉は、システムそのものの設計や構築の方針を決める場合にも使われるため、指すものがとても広い言葉です。
ここではプログラミングの領域のことを説明しました。
開発環境設計・構築|プログラマが働く環境作り
環境作りといっても、机や椅子の配置を決めることではありません。
プログラマはシステム作りの規模によっては数十人〜数百人が一気に作業を進めていきます。そのため作ったプログラムの保管場所やデータの置き場所、疑問点や改善要望を集約するための仕組みなどを作る必要があります。
これらの作業はシステムエンジニアが行うこともありますが、プログラマを統括する立場の人がこのような作業を行ったり、システムエンジニアと連携して作業したりします。
プログラム進捗・予算管理|納期に間に合わせる仕事!
この仕事はシステムエンジニアが担当することが多いのですが、プログラマが担当することもあります。リーダーの役割を担うプログラマが全体の仕事の進み具合や作業時間を集計し、納期に間に合うように進んでいるかを確認します。これをシステムエンジニアやマネージャに報告し、遅れが生じている場合はプログラムのやり方や開発環境の見直しなどを協議することとなるでしょう。言わば「現場監督」のような仕事です。
テスト|品質が確かなものを作る!
作ったプログラムがきちんと動くか、不具合がないか、これを確認しないとプログラマの仕事は終わりません。この時は主にシステムエンジニアが作成したプログラムの動作の確認項目に基づいて作ったプログラムを点検します。不具合があれば修正して、再度テスト。これを繰り返して作ったプログラムが確実に動作するようにします。つまり品質を向上させるということですね。
プログラマの仕事といえばコンピュータに向かってキーボードを叩くイメージかもしれませんが、それ以外にもたくさんの仕事があることがお分かりいただけましたか?
プログラマはこんな仕事もすることがあります!
スキルが高いプログラマになると、システムエンジニアの枠に入ってシステムの設計書作りの検討に参加することがあります。特にシステムエンジニアの人員が足りていなかったり、エンジニアの経験不足や人員不足、請け負ったことがない案件の場合に考えられることです。大変なようですが、スキルアップのチャンスとも言えます。
プログラマの良い点悪い点
プログラマはつぶしがきく仕事
プログラマの仕事、特にプログラミングは、職場が変わっても共通です。そのためスキルが向上すれば、興味のある技術を使っている職場や自分が作ってみたいものを扱う職場へ転職することができます。この点は他のエンジニアにも言えることですが、プログラマの方が「つぶしがきく」という意味では上でしょう。筆者の知人は50人ほどの会社でプログラマとして働いていましたがスキルが非常に高かったため、外資系の世界的なソフトウェアメーカーに転職しました。このような移籍も努力次第で可能です。
プログラマは需要の変化が激しい?!
プログラマが持っている技術がIT業界で必要とされる技術であるうちは良いのですが、技術は常に変化します。言い換えれば技術にも流行があるということです。そのためプログラマが持っている技術が流行遅れになってしまえば仕事が減ることもあるでしょう。この点はプログラマという仕事の弱点です。もちろん最新技術の追求といったことである程度カバーはできるものの、属している組織や担当する仕事が古い技術を使うものであれば業務経験を積むことができないため苦しい立場になってしまうこともあります。
プログラマに向いている人・向いていない人
新しい技術への貪欲さは当然!さらにキャリアアップのために動きましょう
プログラムの技術は日々進化しますから新しい技術への貪欲さが豊富な人は向いています。しかし同じ会社や案件にとどまることは、学んだ技術を業務で使えないことがしばしばです。そのためやりたい仕事を明確にして、担当替えや場合によっては転職も辞さない気持ちが必要です。むしろこのような経験を経てプログラマとして一人前になると言う人もいますから、冒険心が旺盛な人は向いているでしょう。さらにプログラマからシステムエンジニアやマネージャに転身すると、頭の中でプログラムをイメージしながらお客様と話をしたり、設計書を書いたりできるため効率的な仕事ができます。他の職域に転身後、周りと差をつけられる点も魅力です。
コミュニケーションが苦手な人には向いていないかもしれません
プログラマは仕事上の疑問点や改善要望を上司や他のエンジニアに伝える必要があります。疑問点が解決しなければ仕事は進みません。特にものつくりをしているため、スケジュールが遅れることは致命的なことにもなるため疑問点などは早急に解決したいところです。この意味では質問や相談が苦手な人、コミュニケーションが苦手な人には向いていない仕事です。
プログラマは技術好きにはたまらない仕事!
プログラマという仕事の内容はいかがでしたか?プログラマといえばプログラミングというイメージを持っている方が多いようですが、スキルが向上するにつれて幅広い仕事をこなすようになります。
パソコンに向かっているだけではプログラマは勤まらないようですね。
皆さんのプログラマへのイメージは変わりましたか?]]>
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)