2021/10/08
エンジニアの心得⑪
皆さん、こんにちは!
当方、都内のとあるITベンチャー企業に勤める中堅エンジニアのオリハラです。
今回の記事のお題は前回の記事にてご紹介させていただいた通り、
「エンジニアとは何か」です。
前回の記事を読まれていない方からしたら、お題がざっくりしすぎていてわかりづらいと思います。なので、今から簡単に今回の記事のお題について説明させていただきます!
(前回の記事をすでに読まれた方は次の段落はスキップしていただいて大丈夫です!)
ではお題について説明します!
今回の記事では、「エンジニアとは何か」を改めて再認識していこう、と思っています。
まずは、エンジニアとIT業界にある他の職種の仕事の違いを比べていきます。そうすることで、エンジニアの役割をはっきりさせることができると思っています。そして、そのあとに、エンジニアの中でもさらに専門的な職種についてもご紹介して、皆さまのこれからのエンジニアとしてのキャリアの参考にしていただければと思っています!
今回はざっくりいうとそんな回です。
では、さっそく本題に入っていきたいのですが、
その前に以下のような前置きをさせてください。
--------
この記事で出てくる「エンジニア」というワードは、いわゆる「システムエンジニア」のことを指すことにします。なぜそうするかというと、ひとえにエンジニアといえど、どの分野を専門にしているかによって名前が変わってくるからです。(例えば、インフラエンジニアやフロントエンドエンジニアなど)そういった専門分野によって呼び方が変わるエンジニアは、この記事では「○○エンジニア」という必ず書くようにします!要はエンジニアにもいろいろあるってことです。その中でも、「システムエンジニア」は比較的に広い範囲での業務を担当する職種のことを指すので、「エンジニア」とだけ書いている場合は、「システムエンジニア」のことを指していると思ってください。(まどろっこしいですが、覚えておいてください。。。)
--------
では、さっそく始めていきましょう!
- エンジニアとプログラマ
まずは、エンジニアとプログラマという職種を比較していきましょう!
(さっそくここの「エンジニア」は「システムエンジニア」です!)
ところで、これはあくまで私の見解(偏見も入ってるかも?笑)ですが、業界初心者の方は「エンジニア」と「プログラマ」の二つを同じ仕事と思っているか、もしくは違いをを知らない人がほとんどなんじゃないかと思っているのですがいかがでしょうか。笑
もしかしたら、経験者の方でも違いを説明することができない人もいるかもしれません。
では、この二つは具体的にどの部分が違っているのでしょうか。
それはズバリ仕事内容に違いがあります。
まず、エンジニアの仕事を見ていきましょう。
エンジニアは、主に、クライアントの業務分析からシステムの設計・開発、テスト、保守・運用までいわゆるプロジェクトの様々な工程を幅広く担います。(いわゆるオールラウンダーです。)
対して、プログラマは、その名の通り、設計書や実装方針、ルールに従ってプログラミングすることを仕事としています。つまり、基本的にプログラマの仕事はコーディングメインなのです。
ちなみに、エンジニアの担当する工程の中でいうと、開発やテストの工程を担当していると一般的に考えられています。
この担当する工程の違いがエンジニアとプログラマの違いです。
ところで、これだけの説明だけだと、幅広い工程を担当しているがエンジニアの方がすごいんじゃないか、と感じ取ってしまう人がいるかもしれません。しかし、プログラマにはプログラマとしての特化している点があります。
それは、プログラミングを専業としており、プログラミング言語に触れる機会が多いため、幅広く多くの言語に対しての知識を持っていたり、もしくは、一つの言語に対して非常に精通していたりする点です。
例えば、優れているプログラマの中には、特定のプログラミング言語の難関資格なんかを保有していたりする人もいます。この点で、エンジニアよりもプログラマの方が技術力として勝っている可能性が高いとも思えます。
ちなみに、今のところプログラマの優れている点しか挙げていないので、エンジニアの優れている点にも触れておきましょう。笑(今回のお題が「エンジニアとは何か」ということもあるので。)
エンジニアの優れている点は、先述した通り、幅広い工程を役割として担うという点です。
プロジェクトは、基本的に単一の工程で成り立っているわけではありません。単発なサイクルを回し続けてプロジェクトを進めるようなアジャイル開発でさえ、ある程度工程を持って、その工程に沿ってプロジェクトを進めていきます。それらのほとんど全ての工程に関わり、工程間のかけ橋のような存在になるのが、エンジニアの仕事と思って頂くのがいいと思います。基本的に、各工程にある程度精通しており、仕事を与えられても大抵のことをこなしてくれる、それがエンジニアであり、エンジニアとしての優れている点と言えるでしょう。
少し長くなってしまいましたが、達観してみるとどちらも優れている点があり、仕事内容にも違いがあることが分かります。この違いを理解していると、実際の現場でお互いの仕事を尊重することができ、協力してプロジェクト成功への道を進むことができると思います!
、、、と、最初の部分を書き終えたところで気づきましたが、またまた、文の量がだいぶ長くなってしまいました。。。一回分で書ききる予定だったのですが、第十二回(もしかしたら、第十三回)も、同じお題で続きとして書かせて頂こうと思います。
(ここまで読んでくれた方々、急に途中で終わらせて後味を悪くさせてしまっていたらすみません。。。)
ちなみに第十二回では、エンジニアとITコンサルタントを比較していこうと思っています!
次回の記事も読んでいただけると幸いです!✨✨
中途半端な終わり方で申し訳ありませんが、以上、またの更新を楽しみにお待ちください!笑
ありがとうございました!