はてなキーワード: エンジニアリングとは
お礼文
https://anond.hatelabo.jp/20230206231743
今の仕事に嫌気が差して、あとやっぱり同じ仕事をしている人たちにくらべて給料が大幅に安いのが辛くて転職活動をしたらこうなった。
正直クソザコなので一個でも受かったらいいなと思ったら、志望度が高い所に絞っても4社から内定を貰ってしまった。
俺に内定が出るとか人材不足にも程があるだろ、日本経済ヤバイ。やばいんだが、俺みたいなクソでも役に立つと言ってくれているならば、それだけで死ぬ気で頑張る覚悟はある。
あるんだが、どこに行ったらいいのか迷いすぎ。しにそう。
内定でなくて悩む事は想定していたが内定が出過ぎて悩むとは思ってなかった。
俺のスペック
好奇心から始めたコーディングやエンジニアリングの蓄積の結果がエンジニアだったMSX世代の人間と、「エンジニア」という名前や待遇に群がってカフェでMacカタカタやってるけど中身に対する興味が実はゼロの昨今の未経験エンジニア志望者じゃそりゃ違うよなぁ
なり方、スクールの是非や費用、未経験エンジニアの年収、将来性とかばっかりググってない?
コード書いてみた?
今からググって、標準のメモ帳とかテキストエディタ使って、コーディング初体験するまで五分もかからないよ?
自分語りになるが俺は1970年に生まれ、中学時代にジャンクショップを巡ってMSXパソコンを組み立て、雑誌の手続き型言語を写経しては書き換え写経しては書き換え、ゲームを作り自作基盤でカートリッジ化しては界隈で知り合ったオタクと交換し合っていた。その後MS-DOS搭載のIBM-PCを手に入れてからも、まずは動かしてみることから始まった。電通大の講義で学んだことより、図書館の論文やオタク仲間とのやり取りで学んだことの方が大きい。
とりあえずコーディングしてみようよ。書き換えてみようよ。電卓でも作ってみようよ。シンプルな電卓ができたら機能を追加してみれば良いし、サンプルコードを色々書き換えてみれば良い。プログラマやエンジニアへの一歩目はスクールに対する評価や是非を見ることじゃない。
別に職歴の有無、大卒かどうか、文系理系かどうか、専攻が情報系だったかなんて関係ない。コンピュータサイエンス至上主義者が現れたらジョン・カーマックの名前を出してやれ。間違ってもスティーブ・ジョブズの名前なんて出すなよ。計算機科学の素養なんて歩き始めた時点ではない方が良かったりする。手を動かしてコーディングやエンジニアリングに取り組んでれば、その内嫌でも複雑性やアルゴリズムなど計算理論に関する書籍を漁ることになるはず。
さあ!コードを書け!
基本情報・応用情報試験みたいなのとか、CPUの仕組み、コンパイラの実装、分散システムやデータベースとかそういうエンジニアリングガチ勢みたいなのをイメージして大学でCSを学ぶとけっこうショックを受けるぞ。
俺の知ってるCSは、チューリングマシンの表現能力とか停止性問題とかYコンビネーターとかチャーチ数とかの世界で、コンパイラといってもε-CLOSUREみたいな話をじっくりやる感じ。
具体的な話が全然出てこない数学の一ジャンルってイメージかもな。
競技プログラミングみたいなアルゴリズムもそれほど時間をかけない。ベイズ推定をギリやるかどうか。
そういう知ればすぐ身につくものよりも、めちゃくちゃ考えて濃厚なパラダイムを時間をかけて吸収するような学問だった。
で、そんなCSを学んで直接役に立つのは多くの人の場合計算量のオーダーとかくらいかも。
モナドみたいな概念に抵抗なくなるとか、ラムダ式の意味を深く理解できるというのもあるけど、それSIとかWebやスマホアプリの開発業務で必要かというとね。
賢い人は、ちゃんとSNSのユーザー同士の関係性とかレコメンデーションみたいのにもCSの知識を応用できると思うけど、一般人は賢い人が作ったライブラリを使う側だよね。
EV信者がたまたまクイズ正解したからといっても誰も相手にしないし、
トヨタがいずれ使うにしてもエンジニアリングの観点では現段階でダメなもんはダメというだけだろ。
ハァ〜(溜息)
VWもベンツもキャデラックもボルボもロールスロイスも中国メーカーもメガキャスティング導入するんだけど、このメーカーみんな「破壊的イノベーションって言葉に酔ってるだけ」なのかな。みんな「エンジニアリング下手な人にありがちな、とりあえず凄いと思ったらトレードオフ考えられてない感想」にもとづいて採用してんのかな。トヨタもメガキャスティング採用したら、その仲間入り?
https://www.nikkei.com/article/DGXZQOGR07BFS0X00C22A2000000/
https://www.motortrend.com/reviews/mercedes-benz-vision-eqxx-electric-car-first-ride-review/
https://www.designnews.com/automotive-engineering/cadillac-and-rolls-royce-electrify-ultra-luxury
https://lowcarb.style/2022/01/26/tesla-gigapress/
なんでここまで実績の乏しいメガキャスティング方式が次々採用されていくのかと言えば、技術的アドバンテージが明白だから。部品点数が減り、軽量化でき、ロジや生産工程管理が軽くなり、安くなる。初期投資は高いが、製造効率でも製造コストでも圧倒的な優位性がある。メーカーもIDRAだけじゃなくBühlerやLKなど続々参入してる。
というか、別にICEでもメガキャスティングは使えるんだよね。100以上のボディパーツをバラバラに生産してる系列ティア2・ティア3企業を切り捨てる覚悟さえできれば。「EVはダメだけどメガキャスティングはいいね」という風にならずに「テスラがやってることなんてみんな騙しだ、EVはクソだしメガキャスティングもクソだ」となるのは、結局は党派的な思考に染まっちゃってるからじゃないかね。これがトヨタに採用されたり、次世代の主流技術になったときに、モヤモヤするのは自分なのに。まあいいや、その時は不明を恥じろよ。
最近とある情報サイトで、知人の某氏が某社の技術顧問に就任したそうだ。
彼は技術力はゼロ、経験もゼロ。しかし技術部門のマネージャーやら、技術顧問を請け負ったりしている。
社員は皆口を揃えてこういう、あいつなんでIT業界にいるの????
騙されちゃしちゃいけないよ。
優れたTech企業はマネージャーですらエンジニアとしてのレベルが高い
日本の会社はわりと、プレイヤーとマネージャーでキャリアパスが分かれていて、
マネージャーに就いた人間に対しては、技術力なくてOKみたいなノリの文化だと思う。
違うんだよなあ、優れた会社はマネージャーだってプレイヤーとして超一流だったりする。
なぜか?って思うか?なぜって思う時点で狭い世界を生きすぎ。日本でしか働いたことがないんだろうけど、思考が腐ってる。
マネージャーだって、日々デイリーのミーティングでもメンバーの業務内容をチェックしているだろう。
技術力があるのとないのとで、彼らをどれだけ合理的に効率的に導けるかは雲泥の差だよ。
こういうやり方でやってはどうか?とアドバイスできるのは技術力のある優れたマネージャー
あぁ、なるほどって言って終わるのが日本にありがちななんちゃっての形だけのマネージャー。それ、なんか意味あります?(ひろゆき風)
アーキテクトになれる人間がマネージャーをやっているっていうとわかりやすいかな?
政治力なんて糞、そんなもの日本の途上国化のプロ集団の日本の政治家を見ていればわかるだろう。
そんなもの、民間企業に持ち込むなんて馬鹿げてる。技術に疎い経営者や役員はまじで目を覚ましてくれ。
多くの会社がマネージャーポジジョンに技術力のない人間を配置してると思うけど、決定的に間違ってる。
プレイヤーとして優秀でマネージャーになったから、技術から離れていく人も間違ってる。
でも比較対象に100点のマネージャーがいないから、なあなあで済ましているのだよ。
優れたマネージャーは休日や業務時間外でも勉強してしているというか、技術への強い探究心から努力抜きに学習している。
だからマネージャーをやりながらでも一流の技術者でいることができる。
日本が技術的に三流なのって、プレイヤーの差よりもマネージャーが三流のなんか仕事してますって空気を出すだけの人しかいないことが一番大きいと思っている。
友人がメルカリに勤めているけど、話を聞くとメルカリのエンジニアリングマネージャーもやばい。
まあ私は中の人ではないので、もしメルカリの人事の人がいたら、採用基準を見直してください。
何がいいたいかって?
日本の経営者へ。エンジニアリングマネージャーだからって技術力が低ければ、なんちゃってな仕事しかできないよ。
あぁ、奴らの名前を出したい。
O氏とかS氏とかK氏とかN氏とか。
日本の会社はわりと、プレイヤーとマネージャーでキャリアパスが分かれていて、
マネージャーに就いた人間に対しては、技術力なくてOKみたいなノリの文化だと思う。
違うんだよなあ、優れた会社はマネージャーだってプレイヤーとして超一流だったりする。
私はNETFLIXと某社しか知らんけど。(ダブルで出すと身バレしそう)
なぜか?って思うか?なぜって思う時点で狭い世界を生きすぎ。日本でしか働いたことがないんだろうけど、思考が腐ってる。
マネージャーだって、日々デイリーのミーティングでもメンバーの業務内容をチェックしているだろう。
技術力があるのとないのとで、彼らをどれだけ合理的に効率的に導けるかは雲泥の差だよ。
こういうやり方でやってはどうか?とアドバイスできるのは技術力のある優れたマネージャー
あぁ、なるほどって言って終わるのが日本にありがちななんちゃっての形だけのマネージャー。それ、なんか意味あります?(ひろゆき風)
アーキテクトになれる人間がマネージャーをやっているっていうとわかりやすいかな?
政治力なんて糞、そんなもの日本の途上国化のプロ集団の日本の政治家を見ていればわかるだろう。
そんなもの、民間企業に持ち込むなんて馬鹿げてる。技術に疎い経営者や役員はまじで目を覚ましてくれ。
多くの会社がマネージャーポジジョンに技術力のない人間を配置してると思うけど、決定的に間違ってる。
プレイヤーとして優秀でマネージャーになったから、技術から離れていく人も間違ってる。
でも比較対象に100点のマネージャーがいないから、なあなあで済ましているのだよ。
優れたマネージャーは休日や業務時間外でも勉強してしているというか、技術への強い探究心から努力抜きに学習している。
だからマネージャーをやりながらでも一流の技術者でいることができる。
日本が技術的に三流なのって、プレイヤーの差よりもマネージャーが三流のなんか仕事してますって空気を出すだけの人しかいないことが一番大きいと思っている。
友人がメルカリに勤めているけど、話を聞くとメルカリのエンジニアリングマネージャーもやばい。
まあ私は中の人ではないので、もしメルカリの人事の人がいたら、採用基準を見直してください。
何がいいたいかって?
日本の経営者へ。エンジニアリングマネージャーだからって技術力が低ければ、なんちゃってな仕事しかできないよ。
採用見直せ。
それだけ。
日本がんばれ!
良いUIやデザインとなると、簡単、わかりやすく、というのがずっと続いている。
複雑な物はどうなのだろう。
一見正しそうだが正しくないラベリングをすると、結果として意図しない結果を引き起こすことがある。
"難しい人"、"有害な振る舞い"というのは、大変よろしくないラベリングになる。
こういったときに「言ってることはわからなくないけど、なんか違うな」と違和感を持ち、解決策を探るのがエンジニアである。
アクションに落とし込めないもの、計測できないもの、機械的に判断できないものは、いわゆる人間力に頼ることになる。
具体的に以下を例に挙げる。(元の記事の一番最初に例示されているもの)
この短い(1行80文字以下を短いと言う)文章の中に、人間力に頼る判断は何か所あるだろうか?
私は、「創造的」「議論」「阻害」「時間を奪う」の4つは、機械的な判断が難しいと思う。
これは客観的な基準で「他者の話に割り込んで、自分の意見を差し込」んでいる。
先ほどの例だが、こんな前提があったとする。
そうすると、「営業と管理職から見て、大変有意義で創造的な議論に、毎度口をはさむ難しい組み込みエンジニア」というレッテルは正しいだろうか?
各人の判断は、正しいだろうか?
人間力に頼る判断基準で多数決を用いるのは、エンジニアリングで無く、政治的な解決だと思う。
先ほどの会議の例でいえば、5人中3人が心理的な負担を感じており、不愉快な気分になっている。
チームの60%が「創造的な議論を阻害する有害な振る舞い」だと認定している。
その判断は、正しいだろうか?
この場合、組み込みエンジニアが、難しい人 or 有害な振る舞いをする人として、指導もしく排除されたとする。
それは、心理的安全性をあげ、チームの生産性をあげる行為だろうか?
例えば、今後デザイナーは、営業と管理職が「どのような雑談をどの長さでしていても」発言しなくなるかもしれない。
デザイナーからみて、その会話が創造的な議論か判断ができないからだ。
さて、Web系のバックエンドエンジニアや、クラウドインフラエンジニアだと、アラートを設定したり、対応したいことがある。
「何かまずいことが起こっていることを、何らかの方法で監視して、対応したい」という場合だ。
例えば、待機系サーバーの起動時に妙に時間がかかっている場合、自動対応ができないので、アラートメールを飛ばして手動対応したいと思ったとする。
絶対値(10分)か、相対値(過去5回の起動時間の平均値)かは場合によるし、それが適切かはまた別の話だ。
「他者の話に割り込まない」というルールは、誤検知を引き起こしやすいアラートだ。
そんなのは常識で考えたらわかるだろう?曖昧な基準は「俺のは有意義な議論の発言だ」の判断を誰かが決めることになる。
大多数がそう思っていれば、という複合的な基準もありうる。その場合、先ほどの例の組み込みエンジニアは、アラート対象になる。
「会議のアジェンダに記載されている内容を3分以内で喋っている場合に、割り込まない」というのは、一つの基準になる。
この場合、営業が「営業概況を冒頭のアジェンダに加えて欲しい」と交渉する余地がある。
また「報告時間が10分は欲しいが、3回以上は一度会話を止めるので、営業概況に対する質問はその時に」という合意もできる。
そして、顔合わせのキックオフミーティングで、営業概況をやるかは、会社やチームによる。
明示的なルールで縛るのが正しいかと言えば、そうした方が良い職場もあるだろうが、窮屈な職場も多いだろう。
という簡単な話に見えることですら、ルールを作って守らせることに違和感を感じる感性も正しいと思う。
チーム(もしくはマネージャー)に求められるのは、こうした「何かチームに嫌な感じがある」ときに軌道修正できることだ。
一例でしかないが、例えば以下の流れでルールを作らずに、解決できることもある。
コミュニケーションコストを、チームを維持するのに必要なコストとして、きちんと時間を割けるかが重要だと思う。
さらに言えば、「それは有害な振る舞いだと自分は思うが、あなたがそう思わない理由は何か」とコミュニケーションを取れないのであれば、そこに課題があるだろう。
チームやマネージャーがある人を「難しい人だなあ」と思ったとして、2つの解決策が出てこないのなら、その思考には課題があるのではないか。
「他者に配慮できる」という曖昧な基準で異物を弾くようなチーム作りは、蛸壷化して致命的な結果を引き起こすことがある。
パワハラ、セクハラ、試験結果改ざんが、「なんでそんなんなるまで誰も言わなかったんだよ」となるのは、
「その構成員が他者に配慮できる人たちで構成されていて、異物を弾き続けた結果」であることが多い。
少なくとも、「エンジニアの”有害な振る舞い”への対処法」には、機会、動機、正当化のいわゆる不正のトライアングルのうち、動機と正当化を満たしている。
いやいや極端だろと思うだろう?
快不快が、正しい正しくないに繋がっていることは社会生活を送っていると極めて多い。
「マネージャーならば」法律や外部の意見も含めてかなり慎重に判断する必要がある。
「エンジニアならば」相手に快適に聞こえるようにコミュニケーションするスキルは磨いておいて損はない。
(あと、機械的に判断可能なルールを守ることが自分を守ることに繋がる。ルール順守か業績なら、常にルールを守れ。記録を軽視するな)