見出し画像

なんちゃってエンジニアは悪か。

最近、仕事でChatGPTを使っていた時に、どうやらサーバーの調子が悪かったのか、ChatGPTから返答がありませんでした。ほかの方も使えていなかったので、おそらく障害があったのだと思います。アカウントは会社のやつでした。Statusを見る限り、障害発生したというのは記録されていなかったので、Teamプランの一部の人だけが動かなかったのかなと推測しています。

そんな中どうにか仕事を進めないといけないので、ChatGPTの代わりにGoogle検索などで必要な情報を得るといった作業が必要ですが、僕が起こした行動は、"どうにかChatGPTの代わりを見つける"ということでした。
結果的に、GitHub Copilot Chatで必要な情報を得ました。

その時、自分がいかに普段の仕事でChatGPTをはじめとするLLMに依存しているかということに気づきました。

僕の普段の仕事の大半は、ビジネスサイドが固めた要件や要望をくみ取って、それをChatGPTに投げてコードを生成してもらうことです。
その回答がなぜ出力されたかを考えることはなく、そのままテストコードも書いてもらいます。さすがにテストの内容だけは少しだけチェックします。それをコミットして、ほかのエンジニアにレビューしてもらいます。

それで仕事が成り立ちます。成り立ってしまいます。
しかも結構お金もらえます。

僕は、今ある様々な技術、例えば、

- Ruby on Railsなどのフレームワーク
- AWSなどのIaaS
- TerraformなどのIaCツール

の深い部分について、詳しく知りません。なので説明もできません。
TCP/IPとか雰囲気でしか理解してません。
でも使っています。行動に対してどのような結果がもたらされるかだけは理解しています。
Model.save()とすれば、データベースにデータを書き込めることを知っています。EC2のコンソール画面で、ポチポチやれば、LinuxのOSが搭載されたマシンが起動することを知っています。

そんな僕はまさに "なんちゃってエンジニア" の一人だと自覚しています。
"なんちゃってエンジニア" からすると、ChatGPTは最強の業務支援ツールであり、"なんちゃって"をより加速させるツールでもあります。

今回は、その"なんちゃってエンジニア"でいることは悪いことなのか。
ということに僕なりの意見を述べてみようかと思います。

結論から言うと、僕は
"なんちゃってエンジニア" であることを悪いことだとは思っていない
です。
ポジショントークだと思われても仕方ありませんが、
実際そう思っているのでどうしようもないです。

巷では、よくITパスポートも基本情報技術者試験の知識もないのに、エンジニアとして、仕事できるわけないとか言ってる人がいます。
これは、"なんちゃってエンジニア" は消えろって言ってるようなものだとは思いますが、僕は資格も基本知識も暗記している必要は全くないと思っています。
ちなみに僕はITパスポートも基本情報も持ってません。
持ってる資格はAWSのソリューションアーキテクトプロフェッショナルだけで、IT関連の国家資格は一つも持っていません。
AWSのやつも、単価あがるかもよって言われたから取っただけで、もう内容全部忘れました。

話は戻りますが、
"なんちゃってエンジニア" であることを悪いことだとは思っていない
理由はいくつかあります。

理由1:基礎的な知識は別になくても、仕事こなせる

まず昨今では、開発をスピーディーに行うための、ライブラリやフレームワーク、SaaSが豊富です。これらを使えれば、システムは作れますし、機能開発もできます。
なので、基礎的な知識がなくても、ドキュメント通りに実装したり、お作法に乗っ取っていれば、問題なくコーディング作業はできます。

そして、実際の仕事をこなすうえで、技術力以外にも必要な要素があります。例えば、コミュニケーション能力などがそうです。
ないと仕事できません。というか面接で落とされることもあります。
人間は総合的な能力で価値が決まります。
ゆえに基礎的な知識に乏しくて、技術について全然話すことができず、雰囲気でプログラム書いてたとしても、そのほかの要素がある程度のレベルに達していれば、人材として高い評価が得られます。

理由2:コードの品質は"本物のエンジニア"が一人でもいれば担保できる

なんちゃってエンジニアしかいない現場だと、あまり良いコードが生まれないのではという疑問がわきますが、システム開発においては、コードレビューという文化があります。
なので一人の優秀な"本物のエンジニア"を高い給料で雇って、最終的なレビューを任せれば、品質に関してはある程度担保できます。

理由3:実際稼げる=需要がある

ここまでそれっぽい理由を並べてきましたが、
最終的にこの理由に落ち着きます。
結局、中途半端な知識の"なんちゃってエンジニア"でも、
需要があり、社会から求められています。
これは、人手不足なのはもちろんそうですが、
採用の現場でも、どんな知識を保有しているかということよりも、実際の経験を重視する傾向にあるからだと思います。
システムの根本的な低いレイヤーの部分の知識が豊富だったとしても、その会社が使っている技術を、業務で使用したことがなければ、即戦力にはならない可能性があります。

僕は、市場価値の高い技術を実際の業務で使用した経験がそこそこあります。
- k8sなどのコンテナオーケストレーションツールを使ったインフラの構築・IaC・運用経験
- ElasticSearch等の検索エンジンを導入して、検索機能のパフォーマンスを向上させた経験(それに付随するバックエンドの開発経験)
- Datadogなどの監視ツールを導入し、システムの継続的な監視基盤の構築

しかし、僕はKubernetesを雰囲気でしか理解していません。
検索周りの機能のスペシャリストでもありません。
Datadogの導入なんて、専用のライブラリインストールして、ドキュメント通りにセットアップしただけです。

でもこれらを経験していることで、書類選考の印象が良いですし、
面接でも実際に経験したことを話すだけで、わかってる感が出て、
いい感じの雰囲気になります。
これで内定はもらえます。

とはいえ、"なんちゃってエンジニア" なせいで、面接で落とされたこともあります。F社に、OSI参照モデルについて聞かれて、AWSをゴリゴリに触っているインフラエンジニアであるにも関わらず、僕は、「知りません。」と答えたせいで、落とされたことがあります。

しかし、むしろそれでいいと思っています。
土台となるITの基礎知識を持っているかどうかを重要視するような会社には、僕は行きたくありません。
そういう価値観の人がいる職場で、気持ちよく働けるとは思いませんから。
なので落とされても問題ありません。


以上が "なんちゃってエンジニア" が悪ではないと思える理由です。

たまに、「ITの基礎的な部分が全く分かってない人がいて困る。」みたいな発言をして、初心者を萎縮させるような人がいるので、アンチテーゼとしてこんな記事を書いてみました。
自分を肯定して、自己肯定感を高めるためでもありますが。笑

P.S. ちなみに、僕が在籍している会社のエンジニアが全員、
僕みたいな "なんちゃってエンジニア" なわけではないので、そこは勘違いしないように。

この記事が気に入ったらサポートをしてみませんか?