「コメントアウト」を含む日記 RSS

はてなキーワード: コメントアウトとは

2024-08-23

底辺IT企業あるある

IT企業というかSES企業あるある

こんなレベル会社でも倒産しないのでSESは本当にすごい

2024-08-20

ソースコードコメントはいらない

昔の慣習に倣ってコメントを丁寧に書く人がいまだに居るけれど

99%の場面でコメント必要無い

以前のコードコメントアウトしているようなソースは論外として

例えばメソッド関数の頭にそれが何をする関数なのかを書いている人が多いけれど

メソッド名や引数名、戻り値の型をキッチリ付けておけば分からないことなんて無い

それ以上の複雑な処理をするなら機能分解するべきだし名前を付けにくい処理の場合そもそも設計おかし

昔は便利なIDEが無かったので変数関数名前に長い名前を付けると実装が大変で

仕方なくx1だとかval2だとかを使って実装してたのでコメントに書いておくようなこともあったけれど

Copilotを使える時代コメントを書く必要なんて皆無だし

仮に意味が分からないコードがあってもCopilotに聞けばいいのでやっぱりコメント必要ない

コメントがあった方が良い場合は「この実装はこのアルゴリズムに基づいて実装している」とURLリンクを貼ったり

「この規則があるのでこういう実装をしている」とRFCを貼ったりするとかはあるけれど

それもほとんど変数名だとかで解決できるし、あっても1行で終わるレベル

そういう実装全体の設計に関するような話はReadmeに書けば良いのでソースコード内のコメントとしては必要無い

「それでも無いよりはいいでしょ?」みたいに言う人いるが逆に問題になることも多い

コメントバイアスされてソースコード確認が疎かになったり

コメント内容と実装が違う場合にどっちが正解なのかが分からなくなったり

ソースコード修正に対してコメント修正されていなくて後々で揉めたりする

当然ながらコメント部分にはLintが効かないので(ChatGPT使えば作れそうな気もするが)

チェック内容も増えるし良いことがほとんどない

ヤバいJTCとかは「各行にコメントを書いて下さい」とか言ってきて正気の沙汰じゃ無い

まぁそういう案件が来たらChatGPTに丸投げするとは思うけれど下手すると「Copilot禁止」とかも言い出しそうだな

書いたところで誰も読まないのにアホすぎる

2024-07-24

anond:20240724223334

あぁ、まぁ、そのコードがきれいってほめられたんやね。

えらいなぁ、ほんまに。

いや、でもな、そのきれいに見えるインデントとか、コメントアウト統一とか、そりゃ見た目だけの話やん。

中身がどうかは、なぁ、言わんでもわかるやろ?

で、そのきれいさの秘訣コピペだと。

それがわかったら、逆に感心するなぁ。

これで次から自分コード書くときも、見た目だけは気にせんとな。

ま、実力が本物なら、そんなことせんでも輝くやろうけどな。頑張りや。

ネットで拾ってきたコードを貼り合わせて作ったVBAに対して、コードがきれいと褒められてしまった。

コピペしたコードごとのインデントちゃんと揃えたことだろうか。

コメントアウトごとの用語の使い方を統一させたことだろうか。

先輩ごめん、そのコードコピペなんだ。

2024-04-20

anond:20240420105459

このAI説明が正しいならデバッガーが不要と言ってる、って話はかなり違うよな。

ここで書かれてるレベルのことは事前の取り決め等で発生を未然に防げることでしかないので、つまりブルシット・ジョブの人が言いたいのは

発生が十分に予想される問題に対して対策可能であるにも関わらず何の対策もしないことによって不要仕事が発生している、という話でしかなくデバッガーが不要という話では全くないよな。

スパゲッティコード: 構造が複雑で理解しにくいコードは、バグ発見修正が困難となり、多くの時間を費やすことになります

コメントアウトされたセクション: 使用されなくなったコードが適切に削除されずに残っている場合コード全体が読み解きにくくなり、メンテナンス性が低下します。

一貫性のないコーディングスタイル: チーム内でコーディング規約統一されていない場合コードの可読性と保守性が著しく低下します。

AI『ブルシット・ジョブ』についてお尋ねですね

「ブルシット・ジョブ概念提唱

人類学であるデヴィッド・グレーバー氏は、現代社会において多くの仕事無意味であり、社会にとって価値を生み出していないと主張しています2018年出版された著書『ブルシット・ジョブ:クソどうでもいい仕事理論』の中で、彼はこのような「ブルシット・ジョブ」の存在について論じています

 

 

ブルシット・ジョブの特徴と分類

グレーバー氏は、以下の特徴を持つ仕事が「ブルシット・ジョブである提案しています


○ 具体的な例
  1. 取り巻き: 上司経営者などの権威を誇示するために存在する仕事
  2. 脅し屋: 雇用主の利益のために、他人脅迫したり欺いたりする仕事
  3. 尻拭い: 本来発生すべきではない問題を処理・修正する仕事
  4. 書類穴埋め: 実際には何も成果を生み出していないことを示すために作成される書類作成などの仕事
  5. タスクマスター: 必要のない仕事を次々と作り出し、部下に割り当てる仕事

具体的なブルシット・ジョブ職業

企業法務、テレマーケティング広報、一部の管理職などが、「ブルシット・ジョブ」に該当する可能性があります。これらの職業は、必ずしも社会に貢献していないと断言することはできませんが、その価値が明確に見えにくい場合が多いと言えます

 

 

○ 粗雑なコード修正するプログラマー

粗雑なコード修正するプログラマーは、「尻拭い」のカテゴリーに分類される可能性があり、以下のような問題に直面しがちです。

 


○ 具体的な例

 

このような状況下でプログラマーは、本来創造的な活動であるはずの新しい価値を生み出す作業ではなく、過去の過ちの修正に追われることになります。これは、ソフトウェア開発プロセス全体に大きな問題があることを示唆しています

2024-01-09

anond:20240109133216

そんで実はコメントアウト部分に重要役割があることがわかって炎上したり訴訟になるんだよね。

2023-12-16

語彙がなくてググり方がわからない

ので、有識者が多いであろう増田質問させてください。

複数機能で成り立っている長いコードを分割して実装することののメリット/デメリットを教えてほしいです。

コードの分割」が指してることを大まかに言うと、「メインの関数は各機能を呼び出すだけで、実際の機能の部分はサブルーチンとしての関数(って表現が正確かも謎)に持たせ、サブルーチン順次呼び出すことで総体としての機能を成す」ような方式にするってことです。

より具体的に言うと、1.データの取り込み2.取り込んだデータ突合3.帳票の出力の3手順を別々の関数とし、メインの関数から1,2,3の手順の関数順次呼び出すという具合です。

上記方法と、全ての機能を詰め込んだ一つの長い関数にする方法と、どちらが結局よかったのかなと思っているんですね。

今のところ私は自分のわかりやすさのためにコードを分割する書き方をしています理由は、1機能1関数で分けておいた方がステップインじゃないですけど「ここまでは完走できた」の切り分けがやすいのかなーと思うのが一つ。もう一つは単純に上下に長くなっていくとどの変数がどれでと特定していくのが辛いってのがあるためです。

ただこの方法にも問題があると思っていて、一番はメイン/サブ関数間で右往左往するので今やってる工程が何なのかがよくわからん他人が読むならなおのこと、ってことです。一応の対処として、メインの関数は目次的に「総体としてこのような機能を持っている、また分割した関数機能はそれぞれこうである」とコメントアウトし、サブの関数にも「この関数はここからここまでの作業します」とコメントアウトすることにしています

あとは関数ごとに変数をいちいち定義し直すのがだるいみたいなのもありますね。グローバル変数は後々の修正とかのために使わないようにしています

自分では思いつけてない部分でコード分割することのやばみってあるのかなーと思ったので質問させていただきました。近々退職する予定なので、他人への引継ぎって観点からどうなのかなと思っています

以下自分語りです。語彙とか概念インストールが足りないと適切な調べ方ができなくて困るんですねー。あと問題があることを認識できなかったり効率悪かったり車輪を再発明したりとか。

私は無学のバイトなんですが、あるとき上長から「暇なら適当エクセルでも勉強しといて」と漠然と言われて、このVBAっちゅうもんを学べばええんか?と勘違いしたのが始まりでした。本当はセルの結合とか別のセルを参照するとか、エクセル方眼紙的なものをある程度作れるようになってほしかったらしいです。折角なのでなんとか役に立つものをと思って、ある集計作業自動化させたところ、今後も暇なときよろしくということになりました。

いろんなもの作りましたが何をどのように作るかから、その後の運用保守までほぼ一任してもらって大変面白かったです。しかしなにぶん仕様実装方法について相談できる方がおらず全ては私の泥縄式学習術によって成り立っているという恐ろしい状態でした。体系的な知識組織経験知みたいなものが一切ないので自分がどこにいるのか、努力方向性が合ってるのかも結果が出るまでわからない。先達のあらまほしきことなり。

しか社会ってこんな素人が作ったもの業務用として堂々と使うんですねー。勉強になりました。

2023-11-29

過去イチでヤバイPJを引き継いだ

弊社のビジネス創造部門的なところが作ったPJがあるんだが

どうもゴリゴリ炎上してるらしくて支援に入った

こういう仕事は割とあるんだがなかなかのヤバさだったので紹介したい

ちなみにサービスの内容は非常に良くてユーザーも万単位で付いているらしい

からこそ炎上している

バックエンド環境

バックエンドAWS EC2動作しているがログインアカウント共通化されていてパスワードを全員で共有している

ユーザーを追加しようとしたら「そのような勝手行為セキュリティ許可されていません」とのこと

本番環境とStagingはインスタンスが分かれているが運用は同じ方法

Staging上で5人ぐらいが作業しているが、ホームの下にそれぞれのユーザー自分名前ディレクトリを作って作業している

バックエンドシステム

バックエンド側のシステムは詳細は伏せるが、某システムで動いている

仮にNode.js系だとすると、package.jsonがあってnpm run installでインストールするのだが、普通にインストールしようとするとエラーになる

内容は依存関係で失敗しているのだが、本番も同じソース動作している

動作させるにはnode_modulesをまるっとコピーして、とのこと

さっきの自分名前ディレクトリ配下コピーしてきて、適当ポート番号でサーバを立ち上げれば一応は動く

このため、新しいモジュールを入れようとすると依存関係で失敗するため、便利なモジュールがあってもインストールできないし

セキュリティアップデートも当てることはできない(現にバージョンがすごく古い)

バックエンドシステム内容

ソースコードGitHub管理されているがセーブポイント感覚でcommitされているのでコミットログを見ても何が起きているのかさっぱり分からない

おまけにPRも使わずmainマージしまくっていてわけがからない

加えてソースコードコメントアウトの嵐でどこに何が書いてあるのかさっぱりわからない

データベースPostgreSQLだが山ほどテーブルがあるのに外部キー依存は入っていないしVIEWも作られていない

まぁ、他にもテーブルを見ていくとアンチパターンオンパレードで、EAV、ジェイウォークあたりは確認できたしHTMLSQLが格納されているテーブルも見つけた

ソース上でクエリを作ってAPIを作っているが、ザッと見ただけでもインジェクションし放題の状態になっていた

フロントエンドシステム

フロントエンドも詳細は伏せるが、いわゆるReact的なものを利用している

こちらは npm run installでインストールできるし npm run devでちゃんと動く

ローカル動作するので非常に助かる

ただ前述の通りバックエンドローカルで構築できないのでEC2を利用するしかなく、CORS対応のためのプロキシを自前で用意する必要があった

フロントエンドソースコード

バックエンド同様にGitHub管理されているが、管理しているだけ

バックエンドは5人ぐらいが利用しているが、ソースコード編集するのは実質1人なのでコンフリクトほとんど起こさないらしいが

フロントエンドは5人ぐらいが編集するのでコンフリクトしまくっている

解消するときデグレすることが日常茶飯事でその都度Hotfixしている

コードコメントアウトだらけなのに加えて、不必要コードが大量にあるので可読性が著しく低い

(難しい処理を読み解いて追いかけていったら最終的に使われていない、などが大量にある)

2000行ぐらいあるコードとかChatGPTに突っ込んだら20行ぐらいになる予感がある

また、DBがご覧の状態なので取得されるデータ全然抽象化できておらず、コードが膨れ上がっている

例えばProductの一覧データサーバから取得して、ユーザークリックしたProductをCartに投入するのだが、投入する情報Productではなく、CartItemにする必要があるし

OrderするときはOrderItemにしてAPIを叩く必要がある

ほとんど同じ情報なのだ微妙に変わっていたりKey名が違っていたりするのでそれぞれ変換する

他にも数え上げればキリがないが、コピペして少しだけ改変している部分などが大量にあってバグがあるのかどうかすら判別できない

セキュリティ課題

DBHTMLSQLが入っていると言ったが、調べて見るとDBから取得したHTMLをそのまま埋め込んで表示していたりした

SQLについてはフロントエンド側でSQL生成しており、そのテキストAPIに送り込んでサーバ側で実行して貰った上で格納とかしていたので

「ここにDROP TABLEとか書けばTABLE消えるんですか?」

と聞くと

「そんなことする開発者はクビだなwww

とか言われたのでことの重大さを伝えたが、まだ対処できていないようだった

認証等はOAuth2を使っていたので大丈夫そうだったが、本当に大丈夫かどうかは自信がもてない

今後の期待

システム内容はゴミのような状態だがサービス的には良いので、幹部プロダクトオーナーからは追加要望が山盛り来ている

開発チームが「稼働が足りない」という理由で断ったので「じゃぁ支援して」ということで自分のところに来たのだが

申し訳ないが、そもそもそういうレベルに無いし、全て作り直しが必要

と伝えてもどうやら伝わっていない様子

ちなみに元々の開発チームは過去にもこんな感じでサービス作ってたらしいが売れないので問題になってなかった様子

ぱっと見は動いているように見えるのが厄介なところ

正直逃げたいところではある

2023-10-23

もう辞めた先輩が書いたコードが美しすぎて手を入れるのもおこがましいと思ったので

全部コメントアウトしてゼロから書き直したわ。

2023-05-16

anond:20230516144134

>コメントアウトの方が簡単Gitに不慣れな方も前のコード状態が分かるので、なかなかそういう運用に至ってません。

Gitに不慣れな人はそもそも採用しちゃいけないし、もし採用してしまった場合は延々とテストをさせるか他部門に異動させたほうが良いと思う。

2023-03-03

anond:20230302160309

>で、それを作りながら「どうせこういうことも言うてくるやろなぁ」と想定し、

拡張性を持たせるというか、もう機能作っちゃっといてコメントアウトして納品する。

よくわかってるな。

若いやつだとこういうのをドヤ顔アピールしがち。

世渡りが上手そうだ。

2023-03-02

エクセルのおじさん、ワイ。今日サボり

社内でエクセルのおじさんをやってる。

社長ケチで、絶対サポートちゃんとついてる既製品システム入れたほうが最終的に安いのに

ワイにエクセルで作らせればタダという謎理論で社内のほぼすべてがエクセル構成されている。

そんな恐怖の会社に勤めている。

 

ワイも元々は零細ソフトハウスに勤めていたのだが終電徹夜徹夜終電徹夜徹夜徹夜生活に疲れて退職

ダラダラ遊んだ後、地元の先輩のツテで今の会社就職した。

元々のライン工みたいな仕事をしていたが、社長が「お前エクセルプログラムできるのか」と言い出し

できますと答えたところ、社内の煩雑業務のあれこれをマクロ化することになった。

 

現場人間が「今はこういう処理を手入力してるんだけど自動化したい」みたいな感じで持ってくるので

とりあえずそれに着手する。

うちの会社にその仕事の適正な工数が分かる人間がいないのでめちゃくちゃ楽なペースで仕事をしている。

で、それを作りながら「どうせこういうことも言うてくるやろなぁ」と想定し、

拡張性を持たせるというか、もう機能作っちゃっといてコメントアウトして納品する。

 

で、まぁ「こういう機能もほしい」って言ってくるので「ちょっと時間がかかる」つって

適当な日数、増田したりいもげしたりして時間を潰して、コメント外して納品する。

ただそれでも元々マンパワーで乗り切っていた職場だっただけに、現場はどんどん効率化しているようで

ワイも4月から昇給するようだ。うーん。いいのかこれ。

2022-11-11

社内SEのワイ日記 ==その9=

ワイ「暇やし、ログでも見るか・・・あっ、エラー出てる」

ログ鑑賞ー

ワイ「なんやこれ、なんでこないな処理書いたんや。コメントアウトー。よし、エラー治ったな!」

ー2時間後ー

ワイ「もう一回ログみるか。あ、別種のエラーで....(なんで処理書いたのかを思い出す)あ、あ、そうだこの処理回避のためや…」

ワイ「この手のミス精神負荷が高いんゴ・・・

その後、テスト時に戻しておく処理を戻すのを忘れていたため、もう一度エラー自己嫌悪が発生したためチョコレートメンタルをやや回復させる

2022-09-19

LOGLY のおすすめエントリ

ずっと 2018 年の記事ばかり出ていたが、最近のものも出るようになったようだ。

特定の年の記事しか出ず不気味だったが、更新されたらされたで不気味だ。

放置なら分かる。バッチか何かを走らせる意味が分からない。手を入れるとしたら消す一択では。元記事との関連度も低く同じ記事ばかり出ていてネガキャンにさえなっているし。

実行権限がついたままのスクリプトがぽんと置かれていて、誰かが実行してしまったとか、 cron のコメントアウトをうっかり生かしてしまったとか、この間の BAN の作業時のミスと推測してみる。

2022-08-24

anond:20220824002341

動いた参考例

10-12行目の以下、「...」を「diffusers.」に

from ...models import AutoencoderKL, UNet2DConditionModel

from ...pipeline_utils import DiffusionPipeline

from ...schedulers import DDIMScheduler, LMSDiscreteScheduler, PNDMScheduler

13行目の以下、先頭に#でコメントアウト

from .safety_checker import StableDiffusionSafetyChecker

24行目の以下、先頭に#でコメントアウト

safety_checker: StableDiffusionSafetyChecker,

35行目の以下、先頭に#でコメントアウト

safety_checker=safety_checker,

164行目の以下を

return {"sample": image, "nsfw_content_detected": has_nsfw_concept}

以下にする

return {"sample": image}

2022-08-11

レベルエンジニアばかりのところに参画して失敗した

エンジニアリング経験者を採用して失敗する例もあると思うが、俺の場合は低レベルエンジニアばかりのところに参画して失敗した。

参画のきっかけはCTOからの誘い。

開発者イベントで以前知り合った。

そのCTOレベルがとても高い。

なので、その会社(チーム)も当然にレベルが高いと思っていたんだが全くそんなことがなかった。

かろうじて動いているようなコードが積み上がっており、たまに動かない時があると「アタリ」をつけてコメントアウトしてスキップして動いたかOK、みたいな感じのコード運用が積み重なっていた。

コードの静的解析やフォーマットも行われておらず、記述バラバラ

もちろんテストコードゼロ

ライブラリ言語バージョンも古く、deprecatedやobsoletedな記述が残る。

セキュリティパフォーマンス上で懸念があるところも多い。

今一生懸命に直して整備しているが、膨大な作業になっている。

そしてこの作業自分にとってプラスにならない。

CTOの話をもっとちゃんと聞いておくべきだった。

人材が不足しているから、経験である増田くんに是非ジョインして欲しい。言語は**で、これこれこういうことがやりたい。」ぐらいのレベルまでしか話せてなかった。

契約更新はしないと思う。

ノート:葉梨康弘 - Wikipedia

https://ja.wikipedia.org/wiki/%E3%83%8E%E3%83%BC%E3%83%88:%E8%91%89%E6%A2%A8%E5%BA%B7%E5%BC%98

正確性に関する外部からの指摘

現時点での最新版2022年8月10日 (水) 10:15 (UTC) の版番90910796)の「発言要旨」節の記述2010年5月8日 (土) 16:46 (UTC) の版番31998247の加筆に由来するが、それ以前の 2009年6月28日 (日) 05:14 (UTC) の版番26642282や2009年6月29日 (月) 14:01 (UTC) の版番26666330にほぼ同内容の加筆あり)について、以下の外部サイト不正確との指摘がありました。

取り急ぎご報告まで。--侵入者ウィリアム(会話) 2022年8月10日 (水) 22:45 (UTC)



葉梨康弘法務大臣になったけど、表現の自由戦士はなぜダンマリなの?

anond:20220810020058

葉梨康弘

anond:20220810010129

2022-07-21

3年半かけて零細企業Excelマクロだけを使った巨大なDBシステムを構築した

最初に書いたコードは3年以上前なのでマジでイチミリメンテナンスできる気がしないが

母親が倒れて介護のために故郷山口に帰ることになったのでその心配もなくなった

 

グッバイ、あらゆるサイトからコピペと膨大なコメントアウトで築かれた俺の城

お前との仕事、楽しかったぜ……

2022-06-21

JSDoc形式コメントが嫌い

/** */

これ

まず、 /** で始まってるのにたいして、終わりが */

非対称で美しくない

 

複数行にすると各行に無意味に * から始める必要がある

コメントで不必要に見た目を拘るのはやめてほしい

エディタ自動挿入するから自分で打たなくていいとしてもコピペ時など問題になるだけ

あって嬉しいことなど一つもない

 

さらブロックコメントを使ってるせいでネストできない

コメント内で */ を使う場合問題が出る

また一時的コメントアウトしたいときにこのコメントがあるせいでまとめてコメントアウトできない

 

モダン言語なら /// などシングルライン形式のより優れたものがあるのにどうして採用しないのか

そもそもこの特に優れてもない JavaDoc comment を JS やら TS やら PHP やらがそのまま採用したのが問題

2022-05-06

[]RStudio最新版インストールするスクリプトを書いた(Debian/Ubuntu)

RStudioがPCから気がついたら消滅していたので何回もやり直すのが面倒で書いた

Debian/Ubuntubash

コメントアウトをいじればFedoramacOSでも動くと思う

https://pastebin.com/HiPqLVq7 (6/4 shコマンドでも動くように修正 以前はbash hogehoge起動していたので動作確認していなかった)

エラーでここに貼れなかった

実行したディレクトリダウンロードする

パッケージインストールするのでsudoとかが必要

必要パッケージについて(コメントアウトオフに)

util-linux(rev) libxml2-utils(xmllint) gpg curl coreutils(sha256sum)とR関連

  1. rev まずデフォルトで入っている 文字列を逆さまにするコマンド
  2. xmllint 同上 xpathを扱えるコマンド(xmlを扱うコマンド) Debianでは入っていなかった
  3. gpg 同上 署名関連 これがないとインストール出来ない環境もある
  4. curl 同上 getリクエストとかを送れる bashだけでHTTPとかを送るのは苦痛なので
  5. sha256sum 同上 ハッシュ値確認
  6. R関連 これがないと動かない
コード関連備考
xmllint
echo "$HTML" | xmllint --nowarning --xpath hogehoge --html - | hogehoge

こうしないとxmllintがエラーでhtlmなどをうまく読み取らない

sed 's/href="//g;s/"//g;s/\s/\n/g;s/^.?$//g;s/^\n//g'

href="hogehoge"の形で出てxmllint内で除去出来なかったのでsed妥協

hrefが1回しか出ないのでひとまとめにできそうだが面倒なので分けた

この書き方なら複数回出ても除去できるはず

先頭の謎のスペースの除去が面倒だった

sha256sum
echo "$HASH"  "$FIELNAME" | sha256sum --status -c ;echo $?

スペースが2つないと書式で怒れられてハッシュ値が合っていてもsha256sumが終了ステータス0で正常終了を返してくれない

使ったツール

VScodium

ShellCheck

https://open-vsx.org/vscode/item?itemName=timonwong.shellcheck

XPath Helper

https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl

最後

zenn.devに書こうか迷ったがどちらの方が良かったのだろうか…

ダウンロードしたサーバーがやられてるならハッシュ値改ざんするだろうgpgで確認しないと意味ないでしょとかsudoでやったらディレクトリがとか色々ガバあるからかいい感じに改良して

参考

https://cran.rstudio.com/bin/linux/debian/

https://www.rstudio.com/code-signing/

https://www.rstudio.com/products/rstudio/download/

2022-03-25

SEの人ってどういう思考法してるの?

おっす、おらド底辺SE

おら2年SEで働いた後頭おかしくなってやめたのだけど、

それから数年後なんの因果ホームページとかでjavascriptやっているんだ。

でも思考方法

道筋考える → ちっちゃいテストモデル作る → 試す → 問題発見する → 解決策考える → テスト

ってやっていってるんだけど、もっとすごいSEならば思考方法もだいぶちがってたりするんか?

なんというか、ひたすら場当たり解決場当たり解決であたまのわるい強引な突破方法じゃないかとふと思ったんだんじゃが

今日もひたすら修正してたら「そもそもここの処理必要か?」って一日かけたプログラムコメントアウトしたんじゃが・・・

2021-11-23

コメントアウト

アンコメントの意味で自信満々にドヤ顔説明してるやつがいて頭が混乱しかけた

そいつに言わせると「コメントからアウトする」ということらしい

2021-06-10

日本の古き良きIT企業退職して3年がたった

3年前、世間一般にはメーカーSIerとして知られている会社退職した。ただ俺のポジションパッケージソフト開発であり純粋SIerとは異なる。

客ともSEとも会話せず、ひたすらドキュメントプログラムを書く部署だ。といっても別にペーペーではなく主任クラスであり、

会社の業績がとてもよかったこともあり年収1000万弱はあった。35歳。

これだけ見るととてもいい待遇に見えるだろう。でも耐えられないことがいっぱいあった。

Linuxで動くアプリなのにVMを動かすのも苦労する8GBしかメモリのないWindows PC、紙にコード印刷して説明しないと納得しない品質保証部、

作業実施Excelにチェックを付けていくテストjquery一つ使うのに3ヶ月かかる承認フロー、開発中にバグを一つ出すごとに

ひたすら反省文を求める品質保証部と一緒になって詰めてくるマネージャー、常にコンパイルできないtrunk、

Java 5の時代から進化しないコード、使いにくい社内ミドルウェアの利用を強制される設計、開発期間の半分以上を占める最上設計

一旦書いたコードは消してはならずコメントアウトしないといけないコーディング規約など、数を上げればきりがない。

色々改善活動を頑張ったものの、結局Subversionの導入も品質保証部がついていけないから、ということでClearCaseといわれる

今ではほぼ誰も使ってないであろうバージョン管理ツールが使われ続けることになった。使いにくい社内ミドルウェア

研究所がその道のプロと聞いたので一緒に改善を図った。そしたらRubyしかいたことがない文系新卒の子が出てきた。

一応研究所の人だし…と思って新バージョンプロトの開発を依頼したら、1分以上稼働できない状態になって出てきた。

研究開発は準委任相当なのでそれ以上修正を依頼できずに期間が終わった。

また前の会社独特の文化として、大きなバグを出した開発者反省会(社内ではとある固有名詞で呼ばれている)があった。

この反省会のターゲットになった開発チームはその資料準備で開発が1〜3ヶ月ほど止まるほど大掛かりなイベントだ。

このとき担当品質保証部は「連帯責任から」という理由資料レビューに大変な精を出す。余計なお世話だ。

このため1020ページほどの資料を毎週レビューにかけて最高のものにしていく。でも結局本番では幹部からの怒号が飛んで終わりである

連帯責任かいっていた品質保証部は幹部と一緒になって詰めてくる。連帯責任ではなかったのか。

幹部によると、この反省会があるから今の会社があるんだそう。これを経験して一人前らしい。

こんな感じで開発の体制はひどかったが、世間一般ではホワイト企業と見られている通り有休は取りやすかった。

そのため、転職活動を始めた。そしたらなんと「メモリ32GBのマシン」「mavenが気兼ねなく使える回線」「自動テスト

GitHub」「CI/CD」 という発言ポンポン出てくる。メルカリだのGoogleだのといったイケイWeb系ではなく、

いわゆるSIerでもだ。最初は何だこの格差はと思ったが、まぁ営業トークなんだろうな、と思い直した。というわけで

ケイWeb系も内定は出たものの、つい安定をとってしまい某大企業のDX系の部署転職した。

そしたら何だこれは。最高スペックMacBook ProからGitHubpushするだけで自動デプロイで即サービスイン、

問題が発生したら社用携帯に通知が飛んできて、クラウド監視サービスログをチェック、即修正デプロイ

社内の連絡はSlackで、スタンプを押せばIssueがたち即関連部署対応に走る。OfficeツールGoogle Docsで、

計算表はちゃんと表として使っている。開発者ちゃんと開発をしており、反省会の準備や品質保証部の接待なんて業務はなく

純粋エンドユーザーだけを見ている。ここはなんて最高の環境なんだと歓喜した。また個人的にはおまけ程度であるが、

年収は30万ほど増えて大台に乗った。

さて、それから3年がたった。人間というのはい環境になれると対して喜びを感じなくなる、というのはそうだと思う。

今では別にdeployブランチマージされたらCIが走って自動テストが走りデプロイされるのも、だから何?

って感じだしま普通仕事として淡々とやっている感じはする。待遇面で悪化した点もちらほらあるし

(例えば年間休日が5日ぐらい減った、残業が月5時間ぐらい増えたなど)などもある。

ただ一つ言えることは前の会社には戻れないな…ということである人間一度生活レベルを上げてしまうと下げるのは

とても苦痛に感じてしまものである

ただ、一つだけ今の会社転職してよかったと感じ続けられることが一つある。それは人だ。

前の会社では家でプログラムを書いているなんていった日にはおちょくられたり、人生楽しいの的な目で見られたりした。

芸能人ゴルフの話ができないとコミュ障扱いされた。そのため仕事の話はしても、飲み会にはできるだけ行きたくなかった。

でも今の会社では雑談としてFastlyが落ちても大丈夫CDN構想とか、AtCoderの話をして盛り上がることができる。

ダイバーシティなんていうが、人間所詮同質な人間同士で集まったほうが快適なんだな・・・という複雑な思いを抱いている。

追記

皆さん読んでくれてありがとうございます。いくつか質問が出ているので答えられる範囲で答えます

真面目な疑問なんだけど、Java5のコード書いてる人を1000万で雇う会社があるの?どういうモチベーション??

製品自体90年代から脈々とバージョンアップしている企業向けのソフトウェアなので、コードベースが古いというのがあります

またユーザーからすると中身がJava17だろうがJava5だろうが関係ないわけで、要は業務が滞りなく進めばよいわけです。

そのため昔から受け継がれたスパゲッティコードを地道に解き明かし、新しく出てきた要件を今までのコードベースを壊さずにバグなしで追加していく、

もとからあったバグについては、その他の数百万行のユニットテストもないコードに影響なしで修正を施す、といった技能必要になります

こう考えると意外と希少なスキルなんだな・・・と思えるかもしれません。

clearcaseよりもsubversionの方が100億倍導入も運用簡単だと思うんだけど品管どうなってんの?

ClearCaseご存知な方がいるんですね!一から作る製品だとSubversionのほうが簡単かもしれません。ただ、ClearCase専用の

社内ツールがいくつかあり、そのツールで出力した情報を社内資産として持っているという理由があったりします。

例えばお客さんから「この機能バグってるっぽい」というクレームを受けた際、その機能周辺の情報をそのツールから検索し、

コードレベルで再発防止策を関係部署総出で練った上でお客さんに回答する、という運用フローになっています

そのため、Subversionに変えるためには開発陣の一存では無理で、品質保証部やマネージャー層など全ての知識アップデート

必要になり、そこまでコストをかけて説得して回る必要はあるのか・・・という話になってしまうわけです。

ただ、社内の生産性を向上させるのが目的部署としてはSubversionGitを社内に浸透させたがっているのも事実で、

新規プロダクトなんかはGitを使っていました。ただしGitHubプロキシでアク禁されているだけでなく、サービス名名指しで使用禁止

になっているので、相当の理由がない限り使えないかと思います

主任クラスでも1000万円近くもらえるのか。すごい。

1000万という数字に興味のある方が多かったので参考までに書いておくと、等級ランクというもの存在して管理職を除く最上位のランク

なると2人の子持ち、賃貸住まい、標準評価で大体900万になるという感じです。年功序列だが部署ごとに違うというイメージで、

研究所だと20代で到達する一方、利益を上げていない事業部や間接部署だと定年間際まで到達しない人も多い、ぐらいの感じです。

平均では30代中盤ぐらいでしょうか。

ちなみに私の場合は基本給は33万程度ですが、そこに裁量労働手当と住宅手当、家族手当がついて月給で50万を超えるぐらいでした。

ボーナス個人評価よりも部門業績に大きく左右されるのですが、部署が最高評価場合は夏冬とも150万以上でした。

最後最後ダイバーシティについては、ダイバーシティ勘違いしているように思う

なるほど、たしかに。ちょっと言葉の選びが悪かったかもしれないですね。

ログイン ユーザー登録
ようこそ ゲスト さん