はてなキーワード: 保守とは
セキュリティソフトウェアの研究開発、という仕事を自分の経験をもとに紹介します。主な想定読者は、情報セキュリティ関連を仕事にしたいと考えている学生や若手、特に、いわゆる「低レイヤー技術」に惹かれている人です。
低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書を読んで思い出したのですが、セキュリティキャンプなどで、セキュリティに興味のある学生とやり取りをしていて、ソフトウェアエンジニアリングの分野でセキュリティ関連のキャリアが議論されることが少ないと感じました。自分はセキュリティソフトウェアの研究開発に10年以上携わっていることもあり、この職業は低レイヤー技術をセキュリティに活かせる面白い選択肢だと思っているので、紹介してみることにしました。
セキュリティソフトウェアの研究開発では、アンチウイルスやEDRなど、文字通りセキュリティ機能を提供するソフトウェアを研究、開発します。
「研究、開発」と書いたように、この職業には研究と開発の両面があります。
研究は、実現可能性や価値が定かでないアイディアを調査、試験実装する、という仕事がその一部です。例えば、ファイルをディスクに書き込まないマルウェアを検知したいが、どのような技術的選択肢と課題があるかを評価する。実現可能な場合は、開発チームと協働して実装、出荷にこぎつける。あるいは、製品として実装された機能がバイパスされないか調査したり、バイパスされてしまった場合にはその原因を究明したりして、製品を改善するために開発チームと協働する、という場合もあります。
開発は、研究との対比という意味においては、できると判っているアイディアを保守性の高い状態で実現する作業だといえます。保守性の重視は研究との大きな違いで、例えば、研究では、コメントもテストものない書き殴りのコードで十分であっても、開発の工程では、5年後でも改修が必要になるため許容できなかったりします。製品という大きなコードの中での開発であるため、別のチームや利害関係者との連携も、研究の場合よりずっと重要です。例えば、リードのポジションであれば、研究工程で実現可能と分かったアイディアが、既存の機能に統合する形で実装されるべきか否かアーキテクトと議論したり、テスト計画を品質保証のチームと練ったり、プロジェクトのスケジュールを調整したりします。
研究は、既定の手法がなく、闇の中を手探りで進める面があり、最終的に製品レベルにこぎつけずに終わる場合も多いです。判りやすい成果が出ない場合があるので、好き嫌いが別れやすいです。自分は、職業としては研究3,開発7くらいのバランスが好きで、趣味では逆に研究8,開発2くらいになってます。趣味では成果が出ようが出まいが過程が楽しければ満足、という個人的な考え方がこの違いとして出ているようです。
この職業のおいて、低レイヤー技術に明るいことは、ほかの多くのエンジニアができないことができるという付加価値、だと自分は考えています。例えば、特定分野の詳細を知っていることでその分野の研究、開発が効率よくできたり、新しいアイディアが生まれたりします。具体例をいくつか挙げると、OSの仮想メモリー管理に親しみがあれば、プロセスのメモリーを走査してメモリー上のみに存在するマルウェアを検出する機能をより効果的に設計、実装できる。プロセッサーの機能の詳細を知っていれば、CETという新しいプロセッサーにしかないセキュリティ機能を、他のプロセッサー機能を使って疑似的に実現するというアイディアを思いつく。などです。脆弱性の知識や探す技術も、とても価値があります。脆弱性を知らない人と、知っている人では、どちらが脆弱性の少ない設計や実装をできるでしょう。自社の製品の脆弱性を、開発中に発見するのと、テスト・出荷後に発見、改修を加えるのではどちらのコストが少なくて済むでしょう。コンパイラーの知識は検出ロジックを書くための独自言語の開発に、エミュレーターの実装経験はマルウェア解析エンジンの開発に役立ちます。
ただ、低レイヤー技術は付加価値であることに注意してほしいです。
まず前提として、ほかの平均的なエンジニアができることに加えて低レイヤー技術があるべきです。セキュリティソフトウェア開発者の多くは、実はセキュリティや低レイヤーのエキスパートではありません。優秀な開発者であることに加えてこれらを必要条件にしてしまうと、人が雇えなくなってしまうためです。そのため、一般的なエンジニアリングの能力に加えて低レイヤー技術やセキュリティという強みがあると、大多数の開発者ができない(したがらない)ことを任せられる人、と差別化してもらえる可能性が高いです。一方、エンジニアリングに対する素養や意欲なしでは、セキュリティソフトウェアの研究開発職は難しいです。その場合、研究者のほうがあっています。(ちなみに自分は、脆弱性解析とマルウェア解析を専門とする研究職にも各2年ほど就いていました。)
ここからは一般論になりますが、OSに詳しくても、プロセッサーに詳しくても、バグハントが得意でも、それを会社が求める結果を出すために使えなくては意味がありません。会社は、あなたがやりたい仕事をくれません。会社は、会社が必要としている仕事をもってくるだけです。
ではどうやって「会社が必要とする仕事」と「あなたがやりたい仕事」の重複を最大化するか。
まずは、上司にどういう仕事をしたいかを明示的に、繰り返し話しておきます。さらに、能動的に、自分からプロジェクトのアイディアを提案して意欲を示すことも心がけます。あなたの仕事を最終的に選ぶのは上司である以上、上司からの理解は必須です。良い上司(そして良い上司であることを可能する、良い上司の上司)は、必ず、あなたの能力に対する信頼度に応じて、あなたの意向を考慮してくれます。言い換えると、まずはやりたい仕事を主張する前に、与えられた仕事をこなして信頼を得る必要があります。個人的な経験では、これは1年あれば十分で、1年たっても状況に変化がない場合、あなたの仕事ぶりが上司の信頼を得るのに不十分か、あなたがやりたい仕事をうまく伝えられていないか、上司やその上司あるいは会社に問題があるか、あるいはこれらの組み合わせの可能性が高いです。
上記がうまくいかない場合、チームや会社を変えることを検討しましょう。チーム異動はリスクの少ない選択肢です。これも、実現するか否かは、上司からの信頼の程度に大きく依存します。会社を変えるのはリスクが大きいですが、上司やその上司を変えるよりも現実的です。新しい会社でもうまくいかなかったら、また新しい会社を探せばOKです。最終的にあった会社に行きつくか、自分の能力やコミュニケーションに問題があることに気づくと思います。
最後に、「会社が必要とする仕事」と「あなたがやりたい仕事」の重複を追求しないことも視野にいれておきましょう。仕事はあくまでお金のためであって、やりたい仕事のほうが楽しいが必要要件ではない。……という視点を持っておくと、些細なミスマッチで不満をためて、そこそこ良い環境から性急に転職してしまう、という状況を防ぎやすいです。隣の芝生は青い、ということを忘れないように。
セキュリティソフトウェアの研究開発は、セキュリティに深く関わりつつ低レイヤー技術を付加価値として自分を差別化できる面白い職業です。
ところで自分は7年務めた研究開発職を退職しました。おめでとう、ありがとう。これからは、また違う低レイヤー技術+セキュリティの研究開発をしていきます。
これ、応用情報技術者試験のR4春の午後の問3前半のコードと似ていて読めないようなコードではない。
https://www.ipa.go.jp/shiken/mondai-kaiotu/gmcbt80000009sgk-att/2022r04h_ap_pm_qs.pdf
応用情報のほうは添え字を一次元に展開しているのをChatGPTは二次元でやってるだけ。
問題後半では探索の効率化をやっていて、人間が解くように候補の数字のリストを作成してそこから処理するんだけど、ChatGPTのコードも少しの変更で速くなることはコード読んで短時間で判断できるから決して保守性の悪いコードではないでしょ。
むしろVBAかじった素人や、派遣の自称エンジニアのコードのほうが一般に酷い。
応用情報の方は誘導がありコメントの通り書くだけのラッキー問題で1問あたり30分で設問3つのうちの2つを占めるから制限時間20分だけど、ChatGPTはこれを一行命令で誘導なしで即答する。
一定水準の網羅性を考慮した動作確認用のいくつかの入力と出力の組を過去の業務データから用意して、テスト実行マクロもChatGPTに書かせてしまえば、変更があったときもコードベースで修正しないでプロンプトから出し直してしまえば中身がブラックボックスでもテストで品質確保するテスト駆動開発ができる。レビューなんかテストパターンの網羅性とテスト結果で十分よね。
業務をよく知っている人が業務内容をプロンプトに落とし込んでテストパターンを適切に準備できればVBAの知識はほとんどいらないし、その知識すらChatGPTのコードと会話から学ぶことができるんよね。
・終始「娘をAV女優にしないためには…」という話ばかりで「息子のAV出演」「息子/娘がAVで女性を消費しないためには」の話が全く出ていなかったこと
・「セックスは神聖なもので好きな人とだけするものだから…」という非常に保守的な性への価値観
・「AVが実際にどのように作られ、AV女優が具体的に1本のAVに出るためにどんなことをしているか」を知らずにAVのことを語っていたこと
・子どもにあまりオープンに言えない(けれど自分は誇りを持っている)職業に、親になる可能性の人は就いてはいけないのだろうか?
・AVは男性の性を満たすものとしてのみ語り、AVを観る女性の存在を無視していたこと
・AV女優になるバックグラウンドの類推やAV女優の数が増えているということを語る際の客観的な根拠の乏しさ
他にも色々あった気がするが、全体的に性に対する保守性とAVを観る女性の無視とAVを消費する側にしないという視点の欠如とAVへの無知さとAV女優への強烈な差別意識が強烈で、聞きながら何回か笑ってしまった。
## NYNJと堀口英利
https://anond.hatelabo.jp/20230906210248
https://www.nhk.or.jp/politics/articles/feature/29344.html
バカしか出てこないので、この若者は遠慮なく死ぬまで役立たずの無能と断言します。
上保晃平さんは、若者が積極的に政治に関わろうとしない原因に、思い当たるところがあるようです。
「周りの友だちを見ても、インターネットで政治ニュースに触れる機会は多いですが、結局、大学の授業料値上げの話など、身近なことにしか興味がないのかなと。政治についてSNSなどで発信すると、『意識高い系』として認定され、嘲笑の対象になってしまうことが一因だと思います。政治をちょっとかじったような発言だと批判されるような風潮があるように感じます」
大学の授業料値上げの話など、身近なことにしか興味がないのかな、つまり授業料の値上げなんて痛くもかゆくもない大金持ちということですね。
まさに腐りきった傲慢で幼稚な馬鹿で世間知らず。二度と顔も見たくないわ。政治を理解できないおおバカがよく顔と名前を出せるわ。
それはそれとして、これは堀口英利じゃないですか。
「政治学では、『保守』、『革新』、『リベラル』とか、『右』、『左』とかいう言葉が出てきます。しかし、政策によっては、どの政党の政策なのかわからないものもあります。『保守・革新』とか、『右・左』はもはや関係なくなっているように思います。そうしたことよりも、自分にとってその政策がどうなのかが大事なんです」
はい、これも間違い。リベラルとかいっているやつらが軒並み幼稚で無能でバカで意味がないからです。きわめてレベルが低い。社会学者をみればわかるでしょう。レベルが低いのはあなたと先生に原因があるんです。
これも堀口英利と全く同じ。
# 選挙プランナー
暇空茜
@himasoraakane
https://go2senkyo.com/articles/2020/11/01/55095.html/amp
(一例、文 堀口英利)
堀口くんがNYNJとしての活動してるのは選挙ドットコムのコラムのおしごと
選挙ドットコムの運営会社イチニのたとえば取締役がやってるこのダイアログという会社は、選挙請負人で選挙プランナーで最年少当選などが実績
https://www.nhk.or.jp/politics/articles/feature/98750.html
実は能條で検索すると、その横に出てくるのがこれ。
ちなみにこのNHKの2つの記事はNYNJと選挙プランナーのCMですね。
そして、こういう人たちがなぜ18歳選挙権や立候補年齢を引き下げしようとしているのかがわかりますね。
お金の話はしていない。
そりゃまあ、最年少なんてなんの意味もないんですよ。むしろ役立たないです。有害でしかない。
その辺を見ても選挙プランナーの意味はないです。お金儲けだけして社会を壊している。
そして、堀口英利のように空気だけ入れられてもっとどうしようもなくなってしまったものがいる。
# 選挙プランナーが詐欺師で有害であるというのはちゃんとソースもある
続く