はてなキーワード: スパゲッティコードとは
ましてや優れた人から教えて貰うことでもなく
ただただプログラミングを好きになってモノづくりに熱中することだ
小さい子供がプログラミングに向いているのはモノづくりが好きだからであって
これは大人でも当てはまることであって
何かのモノづくりをするという目的の元に手段としてプログラミングが選ばれ
それに熱中することでいつの間にかプログラミング能力は向上していくのだ
上司から命令されてプログラミング講座を会社の金で受講するとか
Googleを目指して学生時代にプログラミングに打ち込むだとか
そんなのは全然上手く行かないのに定年退職したジジイがラズパイ使ってロボ作りとか始めると上手く行くのはそのせいだ
GitHubが発明したPull Requestはこの楽しみを徹底的に阻害している
「ちょっとこの辺は微妙だけど他のことやりたいから適当に済ませよう」
こうした行為はモノづくりからはほど遠く必要無いものに見えてしまい
「早く動いているところを見たい」
やがて開発者はプログラミングそのものに従事して嫌いになっていくのだ
以前からプロの現場ではもっと厳しい品質管理がなされていたという人がたまにいる
PRによってアジャイルの現場に品質管理がもたらされたと主張するのだ
命名規則やコメントの書き方などルール化できるものは別にレビューなど必要無くツールで弾くことができる
バグがあるかどうかはテストで担保すべきであってレビューで見るべきではない
この手のレビュワーが好んで使う言葉として「技術的負債」というものがある
技術的負債を残さないためにもPRで品質を保つ という主張である
一方で技術進歩は止められるわけが無く10年前に必死でクラス設計したJavaのシステムは
またはレビュワーの考える言語化できない「品質」のために今日もPRはリジェクトされる
人はプログラミングを嫌いになっていくのだ
3年前、世間一般にはメーカー系SIerとして知られている会社を退職した。ただ俺のポジションはパッケージソフト開発であり純粋なSIerとは異なる。
客ともSEとも会話せず、ひたすらドキュメントとプログラムを書く部署だ。といっても別にペーペーではなく主任クラスであり、
会社の業績がとてもよかったこともあり年収は1000万弱はあった。35歳。
これだけ見るととてもいい待遇に見えるだろう。でも耐えられないことがいっぱいあった。
Linuxで動くアプリなのにVMを動かすのも苦労する8GBしかメモリのないWindows PC、紙にコードを印刷して説明しないと納得しない品質保証部、
手作業で実施しExcelにチェックを付けていくテスト、jquery一つ使うのに3ヶ月かかる承認フロー、開発中にバグを一つ出すごとに
ひたすら反省文を求める品質保証部と一緒になって詰めてくるマネージャー、常にコンパイルできないtrunk、
Java 5の時代から進化しないコード、使いにくい社内ミドルウェアの利用を強制される設計、開発期間の半分以上を占める最上流設計、
一旦書いたコードは消してはならずコメントアウトしないといけないコーディング規約など、数を上げればきりがない。
色々改善活動を頑張ったものの、結局Subversionの導入も品質保証部がついていけないから、ということでClearCaseといわれる
今ではほぼ誰も使ってないであろうバージョン管理ツールが使われ続けることになった。使いにくい社内ミドルウェアは
研究所がその道のプロと聞いたので一緒に改善を図った。そしたらRubyしか書いたことがない文系新卒の子が出てきた。
一応研究所の人だし…と思って新バージョンのプロトの開発を依頼したら、1分以上稼働できない状態になって出てきた。
研究開発は準委任相当なのでそれ以上修正を依頼できずに期間が終わった。
また前の会社独特の文化として、大きなバグを出した開発者の反省会(社内ではとある固有名詞で呼ばれている)があった。
この反省会のターゲットになった開発チームはその資料準備で開発が1〜3ヶ月ほど止まるほど大掛かりなイベントだ。
このとき、担当の品質保証部は「連帯責任だから」という理由で資料レビューに大変な精を出す。余計なお世話だ。
このため10〜20ページほどの資料を毎週レビューにかけて最高のものにしていく。でも結局本番では幹部からの怒号が飛んで終わりである。
連帯責任とかいっていた品質保証部は幹部と一緒になって詰めてくる。連帯責任ではなかったのか。
幹部によると、この反省会があるから今の会社があるんだそう。これを経験して一人前らしい。
こんな感じで開発の体制はひどかったが、世間一般ではホワイト企業と見られている通り有休は取りやすかった。
そのため、転職活動を始めた。そしたらなんと「メモリ32GBのマシン」「mavenが気兼ねなく使える回線」「自動テスト」
「GitHub」「CI/CD」 という発言がポンポン出てくる。メルカリだのGoogleだのといったイケイケWeb系ではなく、
いわゆるSIerでもだ。最初は何だこの格差はと思ったが、まぁ営業トークなんだろうな、と思い直した。というわけで
イケイケWeb系も内定は出たものの、つい安定をとってしまい某大企業のDX系の部署に転職した。
そしたら何だこれは。最高スペックのMacBook ProからGitHubにpushするだけで自動デプロイで即サービスイン、
問題が発生したら社用携帯に通知が飛んできて、クラウド監視サービスでログをチェック、即修正即デプロイ。
社内の連絡は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に変えるためには開発陣の一存では無理で、品質保証部やマネージャー層など全ての知識のアップデートが
必要になり、そこまでコストをかけて説得して回る必要はあるのか・・・という話になってしまうわけです。
ただ、社内の生産性を向上させるのが目的の部署としてはSubversionやGitを社内に浸透させたがっているのも事実で、
新規プロダクトなんかはGitを使っていました。ただしGitHubはプロキシでアク禁されているだけでなく、サービス名名指しで使用禁止
になっているので、相当の理由がない限り使えないかと思います。
主任クラスでも1000万円近くもらえるのか。すごい。
1000万という数字に興味のある方が多かったので参考までに書いておくと、等級ランクというものが存在して管理職を除く最上位のランクに
なると2人の子持ち、賃貸住まい、標準評価で大体900万になるという感じです。年功序列だが部署ごとに違うというイメージで、
研究所だと20代で到達する一方、利益を上げていない事業部や間接部署だと定年間際まで到達しない人も多い、ぐらいの感じです。
平均では30代中盤ぐらいでしょうか。
ちなみに私の場合は基本給は33万程度ですが、そこに裁量労働手当と住宅手当、家族手当がついて月給で50万を超えるぐらいでした。
ボーナスは個人評価よりも部門業績に大きく左右されるのですが、部署が最高評価の場合は夏冬とも150万以上でした。
最後の最後のダイバーシティについては、ダイバーシティを勘違いしているように思う
なんか最近プログラマの事、特に未経験者からプログラマになる人の事についての増田をよく見るんだけど
いい加減に職人しぐさ止めない?
ここで言う職人しぐさって言うのは「プログラマは自己学習するべきだ!」ってやつね。
気持ちは分からんでも無いよ。プログラマ、SIerになろうと思ったら学習は欠かせないし、勉強してないやつの汚いコードの尻拭いさせられる事が最悪なのは分かる。
でもさ、未経験者への話に「プログラマは(私生活を削っての)自己学習は必須!」って息巻かれると、「プログラマってだるいな…辞めとこ」ってなるやつ多いんだわ。
自分が割と「まぁ勉強は避けられないよね」みたいなノリで言った瞬間に空気が冷めたの経験したからすごいそう思う。
特に若い子は色んな選択肢があるから「じゃあ、別のにしよ」ってなる。
(気持ちはすごい分かる。僕もめんどいのは嫌いだし、人生やり直してもう一度プログラマになるかって言われたらかなり微妙)
プログラマはやっぱ若いのが一番だから若い奴ら取り込まなきゃいけないんだよね。
今、人出足りてないし、裾野も広げてやらなきゃいけない。
そのためには「とりあえずふるいにかけて残った精鋭だけ育てよう」みたいな贅沢はできない訳ですよ。てかそれをやったところでGAFAとかに取られたり、面白そうなベンチャーに行ったりで、うちみたいなセコセコやってる中小には来ないし。
プログラマが職人芸が求められる時代はもうだいぶ前に終わったし、
社会の流れ的にも「学習でも業務外に食い込むのってどうなの?」って感じじゃん。
あと、「プログラマは自己学習!」って声がでか過ぎて、スクールみたいな甘い言葉で釣ってるだけ所に人が流れてる気もするんだよね…
ある程度の学習が必要なのは避けられないけど、それを(会社で吸収できるなら吸収して)上手く誤魔化しつつ、適度に甘い言葉も使いながら集めていかないといけないんじゃないかなぁ。
やっぱり個人の素質が関わって来るものだし頭数集めるのが第一だよ。幸い手プログラミング自体は手を出すことだけは簡単なんだから。
それに素質の影響の多寡に関わらず、素質の部分を少なくしなきゃいけないしさ。
なんか最後ごちゃっとしたけど、とにかく職人しぐさを押し付けても、それで得するのは上位の上位層だけなんだから、やめよう。
それよりどうすれば、その必要な勉強を会社側、チーム側で吸収できるか(吸収してるか)を考えるほうがずっと有益だよ。
(今回僕、これについてなんにも書いてないのはごめんね。)
あとはそうだなぁ。割とコーディングの基礎やった後に実務に繋げる部分が薄い気がするんだよね。これは根本的に難しい問題っぽいけど、これがなんとかなったら良いなぁと感じる。
https://twitter.com/MAEZIMAS/status/1113114798672113665
一流の老害は「君たちこそが真のニュータイプだ」とか言って、若者を自分の既得権益確保のための鉄砲玉にする。
…いやマジ本当に、若い人気をつけてね。若者説教おじさんは、せいぜいまだ極限の不愉快ですむけど、若者応援おじさんに乗せられると最悪人生詰むので…
というツイートが流行っているので、私が遭遇した若者応援おじさんについて書こうと思う。
当時の私は親との折り合いがつかず、学力もそこそこあったし、勉強もしていたのにも関わらず大学に進学せずにフリーターをしていた。実家を出たかったし、大学にも進学したかったから金の工面が当面の目標だった。そんなときに出会ったのが若者応援おじさんのAさんである。Aさんはバブルの頃に就活をしていて、まだインターネットやパーソナル・コンピュータというのが流行る前から電子工作やプログラミングをやっていた人だった。実際、経歴を聞いてみると10回以上転職を繰り返しているものの、有名企業(今にして思えば、カビ臭いSIerだが)で部長をしていたことがあって、年収が1700万ぐらい稼いでいたこともある人だった。
最初に出会ったときは自分が如何にすごいかということを熱心に語っていた。80年台後半ぐらいのコンピュータ開発の大型プロジェクトに関わっていたとか、セキュリティの専門家とか、今までに触ったことのあるプログラミング言語が300個を超えるとか。でも、当時の技術的なトレンド(MongoDB、Ruby on Rails、AngularJSとか)についての知識が限りなく少なく、「フレームワークなんてその場で覚えればいい」みたいなタイプだった。中学生の頃にラジオ工作したとか、はんだごてで電子回路を設計したとか、そういう話は熱心にするのに、Bram Moolenaarの名前を知らなかったりした。要は、最近のプログラマがどういう関心やインセンティブでプログラミングやってるかを知らずに、過去の栄光を語ってるようなタイプだったと思う。
まぁ、それでも、その人のコネで中規模程度のSIerに入社して、そこそこいい感じの待遇だったように思う。当時の私の技術力は『わかりやすいJava入門』『たのしいRuby』を一通り終わらせて簡単な言語仕様を把握したぐらいでろくにコードも書いたことのないような人間だったから、定時で帰れて手取り二十万もらえるのは甘い汁を吸えたとは思うんだ。
でも入社を決めた一番の理由が、そのAさんが私の関心に理解があると思っていたからだ。というのも、当時の私は「人工知能や人工生命に興味があります。三年後に大学に入学するまでにプログラミングスキルを磨きつつ生活費と学費を稼ぎたい」ということを明言した上で、それを叶えてくれる会社を探していた。技術力はないものの、「自頭がいいから入社してからプログラミングを覚えればすぐに戦力になるよ」と複数の人間から言われていて、それぞれ就職先を紹介してもらえるような状況になっていた。今から思えば、そんなコードを書けない人間を自頭なんて胡散臭いもので褒めるような人間は信用してはいけないと思うし、口車に乗せられたと思うのだけど。そこは自分にも甘いところがあったように思う。あ、あと、補足しておくと、当時はDeep Learningなんていうのは全く人口に膾炙してなかった時期で、スチュアート・カウフマンや金子邦彦に憧れてたような、周回遅れの複雑系に魅せられた若者が私だった。
①親との折り合いが悪く、大学に進学したいが、金が足りない
②実家を出るために生活費を稼ぐ必要があったが、飲食のバイトとかではスキルが身につかない状態で、価値の高い若い時間を無駄にしてしまう
③そんなところに現れたのが過去の栄光を話す若者応援おじさんのA
④自分は殆どコードを書いたことのない業務未経験で、21世紀になっても複雑系の話に興味をそそられるような斜に構えたスノッブ
では、入社後の話をしよう。私が配属されたプロジェクトは80万行程度のJavaのコードで動いてるBtoB向けの製品を保守開発してるプロジェクトだった。やってることはGoogleやAmazonやMicrosoftみたいな大手ならやってるようなサービスの完全下位互換みたいなソフトウェアを、情弱だけど社員数は多いみたいな企業に売りつけるような仕事だ。国産とか、セキュリティとか、そういうよくわからない言葉を並べ立てて、海外のUIも洗練されていて、優秀なエンジニアが管理してるものをセキュリティ的に怪しいと不安を煽り立てて売りつけるようなやつだ。そんなクソみたいな製品でも年間5億円ぐらいの売上になるのだから、IT系って糞だなって思う。ネット上では優秀な人間ばかりがアウトプットしてるし、NDAの名の下に詐欺まがいのソフトウェア(今回の例なら無料でUIも洗練されていて、使いやすいサービス)が明るみにならないのだから、こんな国はさっさとスクラップ・アンド・ビルドすればいいのにって思うよ。IT化されてないのが時代錯誤で〜みたいな記事はネット上でもバズるけど、実際には10年前のスパゲッティコードを惰性と不安につけ込んで売りつけるようなSIerがたくさんある。そんで、そんな意味不明なソフトウェアを導入すれば、どこに何があるのか分からないUIの操作に大切な業務時間を奪われて、日本全体の生産性が落ちてしまう。ユーザーの時間と生産性を奪い、開発者にとっても技術的負債にしかならないようなソフトウェアを売りつけてる悪性腫瘍みたいなSIerはさっさと滅んでしまえばいいと思うよ。
まぁ、私が配属されたプロジェクトはそんな感じだ。まるで意義を感じないが金にはなってるプロジェクトに配属された。そのプロジェクトの根幹部分は一人のエンジニアが設計開発しており、そのエンジニアは既に退職して、どこに何が書いてあるのかわかってない人間が後任として保守を行っている。盲腸みたいに全く有難みのない機能を増やすことでより高く売りつけるようなプロジェクトだった。
そのプロジェクトの中にいる人について話そう。プロジェクトマネージャーは仕事漬けで毎月350時間ぐらい働いている60連勤とか当たり前で、常に酔っ払ったような、眠そうな目をしてる人だった。にも関わらず、同じプロジェクトの人間は仕事がなさすぎて業務時間中に関係ない談笑をしたりしていた。プログラマやテスターや文書作成をするスタッフが40人ぐらいいるところで、閑散期(機能追加のサーバーリリース前以外)は暇そうにしてる人が多かった。プロジェクトマネージャーを除いて。要は、PMは一生懸命働いているが、その一生懸命さは惰性で行われており、無能なのに業務時間が長いPMがいて、その人が全部仕事をやってしまう。他人に頼めない性格らしくて、存在意義が分からない業務を他人に頼んでは「なぜこんなこともできないんだ?」って怒鳴るのが生きがいみたいな人だった。頑張ってることがアイデンティティになってて、その頑張りに意味があるのか、必要なのかという吟味ができず、タスクを他人に振ることもできず、情報もそのPM一人だけが握っているから、周りの人も「私が仕事を請け負いましょうか」ということもできない。それで新入社員をイビるような存在意義のわからない仕事を振って、できなかったら人格否定をするような感じの。
私が受けた仕事ととしては、週に1回ベンダーのところに会議をしに行くんだけど、そのときの社内の資料を全部紙でプリントアウトして持っていくというのがあった。文書作成スタッフが製品の仕様をWordでまとめて、600ページぐらいのpdfにしたものが1500万円ぐらいで売れるらしく、その増えた言語仕様をプリントアウトしてベンダーのところまで持っていく。追加された仕様以外にも、今週やったテスト内容をExcelで纏めたものをプリントアウトしたりしていた。紙の量で言うと、一回の会議で2500枚ぐらいで、それをキャリーケースに詰めて客先であるベンダーまで持っていくらしい。聞いた話では、その2500枚の会議資料は殆ど読まれずに捨てられるのに、そのPMはベンダーにその慣習を廃止しようとは提案しない。ベンダーとの週一の会議の他にも、進捗報告を主とする社内会議があって、PM以外の人はあのプリントアウトする悪習は廃止すべきという話が上がっているのにPMが首を縦に振らないから一向に改善されない。まぁ、そのプリントアウトするのをやるのが私の仕事だったわけですよ。毎週4時間ぐらい掛けてWordやExcelの文書サイズとか調整してさ。元の文書のサイズや余白が狂ってるのに、客先に失礼だと言われて、手直しして、プリントアウされたコロコロコミック何冊分だよ? みたいな紙の束をホチキスで止めていくんだけど、ホチキスの止め方が汚いとやり直し。
じゃあ、なぜPMは頑なに意味のない業務をし続けて、それによって新入社員を使い潰そうとするのかと言えば、弊社の業績が悪くて倒産しそうだったときにそのベンダーが手を貸してくれたからそのときの恩義があるとかなんとか言っていた。だから、靴を舐めるようなことをするし、他人の生産性を奪うようなクソ製品を世の中に出して何も感じないらしい。読みもしない産業廃棄物を作り出して、それを無碍にされて喜んでいるような業務が、今の日本の何割を占めているのだろう? そのPMの口癖は「俺はプログラミングは全くわからないが、こんなプリントアウトの段取りもできないようなやつはプログラミングなんてできないと思うよ」だった。FizzBuzzどころか変数や関数すら知らないような人間にこんなことを言われるのは屈辱だったし、これが高卒未経験で就職することなのだろうと思った。
他にも、私が受け持った仕事に、製品が動くかどうかを確認するテスターという仕事があった。RSpecやSeleniumで自動化しようと言っても、そんな技術を持ってる人がいなかったから、一々自分でその製品を触って仕様通りになっているかを確認しないといけなかった。画面遷移が600ページのpdfになっているから、それを見ながら正しい画面遷移ができているかを確認する業務だったが、正直人間のやる仕事ではないと思う。画面遷移だから前のページから次のページに移行したときに前にどのページだったなんてスクショを撮ったぐらいじゃわからないのに、「このテストをExcelにした内容じゃ、本当にテストしたのかわからないだろう?」と言われた。言われたとおりにExcelファイルにスクショをひたすら貼り付けていたというのに。しかも、その他にも特定のファイルをアップロードするときにどの条件だとアップロードができないかを判別するテストをどうやって行うのか考えろというのがあった。今までにテスターをやっていた人に聞いても指針なんてないと言われ、「賢い人はそういうのを考えつくものだ。俺はパソコンに詳しくないが」とPMに言われ、嫌気が差した。
まぁ、ここまで書けば、如何にブラックと言うか、理不尽で不合理な職場かというのはわかったと思うけど、いい面もあったんだ。前にも書いたように、未経験の高卒が手取り20万貰えたのは嬉しかったし、研修のない会社だったから、最初の二ヶ月ぐらいは一人で勝手に勉強しててと言われたから、実働換算で時給3000~4000円ぐらい貰える計算だったのかな。一番瞬間時給が高かった日はメールの返答に20分ぐらい使ったときだったから、日給1万、実働換算の時給が30000円ぐらいになった。それぐらい放任されていた。
最初は社長が「君にはソースコードのUMLを書いてもらおう」とか言って、クラス図を書く練習をしていたんだけど、現場の人は「今更UMLなんて必要ない」「ソースコードを読めばわかる」と言って、全く必要とされていなかった。だから、業務とは関係ないTCP/IPやRubyやGitの勉強をしていた。家のことで勉強に対してモチベーションが落ちていた私は、金を貰えるという環境では目の前の勉強に集中できるようになって、元の勉強するための生活リズムっていうのか、そういうのを取り戻せた。それは当時の私にとっては有難かったと思う。
ここまでをまとめると
⑤無料で使えるサービスの下位互換といえるような、他人の生産性と金を無駄にするような製品を開発してるプロジェクトに配属された
⑥PMだけが忙しく働いて、周りの人の割り振りができていない。
⑧社会悪のようなソフトウェアを売りつけて金を稼いでいるプロジェクトだった。
⑨仕様書やテスト内容のプリントアウトという必要ない業務をしたり、指示内容と叱責内容が矛盾する理不尽を受けなければならなかった。
⑩しかし、勉強してるだけで月20万貰える環境は有難く、当時の私にとっては願ったり叶ったりだった。
では、次に私がその会社の入社から辞めるまでの経緯について書こう。最初のうちは、自分の勉強時間を取れていたし、振られる仕事も理不尽で意義を感じられないものであるものの、すぐに終わることが多かったから問題ないと感じた。それが徐々に仕事が増えていき、勉強時間が取れなくなっていった。
ここで若者応援おじさんAの登場である。Aさんは私と会ったときは有名企業に勤めていて、そこを辞めて私を紹介してくれた中小企業で働き始め、その数カ月後に私を紹介してくれた。元々、その会社の社長とは懇意にしていたから、一緒に働こうという話が何十年も前からあって、今回ちょうどタイミングが合ったから、その友人の会社の重役として就職したらしい。私が就職したのはその数カ月後だった。
Aさんは「何か問題があったら、部下や上司という立場を気にせずに忌憚なく言ってほしい」「俺は人を見る目はある方だ。君は一本芯の通ったところがあるから、周りに流されずに新しいことをできるだろう」「君には将来性がある」「俺は新しい会社でも権力を持ってるからへんなことを言ったり、したりしてる人がいたら遠慮なく言ってほしい」とかそういうのを入社する前に言っていて、まぁ、色々とおかしいところ、FAKE野郎みたいな発言が多かったけど、そこだけは信じてたんだよね。本当に騙すんだったら、そんなすぐに辞められるようなリスクを上げるような発言はしないだろうってさ。ちなみにFAKE野郎って感じたのは、一方的に自分の話だけをして、私が質問すると煙に巻いたり、私のことを買ってるという割には私の話をすぐに中断させて自分の話をし続けるとか。その人はFラン出身だったから、ちょっとインテリなことを言うと「君は変わってるね」って言ったり、きょとんとした顔で10秒ぐらい固まった後、すぐに自分の自慢話を再開したりと、決して自分の知らないことや分からないことを認めようとしなかった点だ。他にも、「私と働きたいと言ってくれていた会社はあったけど、そこは技術的に成長できそうだけど給料は月7万程度でバイトの身分だから、迷ってるんですよね。バイトだから自由時間は多く取れるんですけど」みたいな発言をしたら、鳩が豆鉄砲を食ったような顔をして、私が感じていた不安を取り合ってはくれなかった。Aさんは「俺は社内で影響力を持っているから、君を正社員にすることもできる」みたいな話を延々としてたのに、いざ蓋を開けてみると、「君の面接での受け答えが駄目だから、契約社員として雇用することになった」「あれから上層部に渋られてしまって、請負契約にすることになった」と話が二転三転していった。だったら、他にも選択肢があったのに、他のところに就職したのにと思ったが、自分の能力や経歴で負い目を感じていたから強く言うことはできなかった。高卒で就活するというのはそういうことだ。他にも選択肢があるのにも関わらず、どうせ労働に関する知識がないと足元を見られて、条件を徐々に下げられ、他に選択肢をなくした後で、悪い条件で働かざるを得ない状況になっていた。結局、勤務時間がタイムカードで管理されてるのにフリーランスとして請負契約を結ぶという偽装請負で契約させられ、もっと技術力を磨ける選択肢は潰されてしまっていた。
私は会社の問題点を丁寧に分析してpdfにまとめてAさんに送ったんだ。それが間違いだった。如何に会社がそのベンダーに良くしてもらったか、大変なのをわかった上で俺たちが会社を立て直してきたかということばかりを話していた。百歩譲ってそこはいいとしても、ベンダーとは関係なく職場環境を良くするための話までいい加減に聞かされてうんざりしていた。
「Aという問題があります。その背景にはBがあります。そのためにはCという解決策があります」
という話をしたときに、「Bぐらいみんな当たり前にしている。君だけ特別扱いすることはできない」みたいな返し方をされて、問題が発生してる事自体はないものとされていった。結局、職場にはびこる不合理で理不尽な業務やルールは改善することはなく、私への人格攻撃で終わってしまった。
毎日どうでもいい作業で疲れ切って勉強時間が取れなくなってしまった私は、最初に出会った頃のAさんの言葉を信じて、「私が本当にしたいことは、仕様書やテスト時のスクショをプリントアウトしたり、よくわからないテスターをやったりすることではない。このままでは、プログラマとしてのキャリアを積むための勉強時間を作ることもできないし、業務内でコードを書くこともないから業務時間を短くしてほしい」と言った。少なくとも、最初Aさんと会ったときは、「君には人工知能や Permalink | 記事への反応(1) | 23:52
それは、何もしないことだ。
最近やっと分かってきたんだ。
それ以前に人間という生物として自分のことを捉えなきゃいけなかったんだ。
何もせず過ごす時間は何よりも大切で、有意義で、生物の基礎として譲ってはならない時間だったんだ。
他の哺乳類、霊長類を見てみろ。彼らは圧倒的に、何もしていない時間が長い。そこに気づきを得るべきだ。
動物と人間は違う、などという考え方はただの驕り高ぶりにすぎない。
何もしない時間のことを休息と呼ぶなら、睡眠も似たような文脈で語られることがあるが、それとは別だ。
十分な睡眠も当然、何よりも死守すべき時間のうちの一つではある。
脳のデフラグタイムである睡眠も大事だが、それをハードウェアのデバッグとするならば、
何もしないでいられるほど、日常のタスクやら何やらに追われずに済む時間。
精神の安定は、何もしない時間をきっかけに始まる自省によってもたらされると考えられる。
自省を「する」という感覚ではなく、ぼーっとすることが自省に「なる」のだ。
自省というと説教臭い印象が出てしまうが、言うなれば、自分の輪郭を正しく認識するための時間だ。
そういう機会を失ったまま毎日をすごし、それを何年かつづけると、人間は壊れる。
たいてい肉体よりも先に精神が壊れ、最終的には自殺へ向かうように脳が動き出す。
思うに、鬱になった時点でやっと何もしない時間を得られても、ほとんど手遅れなのだ。
不適切なコードの上に不適切なコードを何重にも重ねたスパゲッティコードが、
致命的なエラーを吐きはじめた時にやっと手直しを始めようと思っても、ほぼ諦めざるを得ないレベルに困難なのと同じなのだ。
これは、休日にしっかり休息をとる、という話ではない。
おそらく、睡眠と同じように毎日必要な時間なのだ。野生動物のように。
1日に何分、あるいは何時間、どれくらい必要かは分からないが、長ければ長いほどいいだろう。
これ以上何もせずにいられない、と自発的に動き出す気になるまでは、ぼーっとするべきだ。
これは個人的な体感なのだが、睡眠の場合、前日にたくさんの経験をした密度の濃い日ほど、多くの睡眠時間が必要になる。
それと同じで、たくさんの情動を抱える人、精神が揺さぶられた日ほど、多くの何もしない時間が必要になるのではないか。
その点でいうと、このサイトに書き込んだり閲覧したりという行為は、人によるがいたずらに情動を激しくする行為と言っても過言ではない。
俺も似たような状態で「これマジゴミっすねークソっす。数年ぶりにスパゲッティコードって単語思い出しましたよ」って言いたいけど相手は客なので言えない
このことを考えるには「本とは何であるか」を今一度考える必要がある。
本はもともとは「情報を記録してより多くの人に伝達する」ためのものだろう。
「作者が金銭を得る」ことは本来なら「副作用」に類するものだ。
「本とは何であるか」を見失ってしまったから複製が罪とされるのだ。
もちろん、これは個人の感想に過ぎないが、もし間違っているなら教えてほしい。
本とは一体何なのか?
なぜ本を複製することが罪となるのだ?
※なお「本」をテーマとしているのは真偽は不明であるがダウンロード違法化は出版業界の要請であるとされているため。
もはや、この前提が正しくないのかもしれない。
ミリオンセラーを出せば巨額の富を得ることできたのが、よくない。
「良い商売」になってしまったから権力構造が生まれることになる。
当初の目的は忘れ去られ、一部の人間のための理屈が全体を支配する。
かつては「製本にコストが必要」だったから、その費用を請求したに過ぎない。
しかし現代ではデジタル技術によりゼロコストでの複製が可能だ。
「本を出したい側」すなわち「情報を記録したい側」「情報を伝達したい側」にとっては「無制限にいくらでもデジタル複製できる」現代の状況は本来ならば喜ぶべきことではないのか?
記録性や伝達性を高めるために生み出された手段としての本だが、逆にそれらを喪失しつつある。
複製が悪と言うならばテクノロジーは間違った方向に進んでしまったのだろうか?
「本を売る」ということで作者の生活を保障するシステムだ……、というのは一理あるだろう。
だがシステムとしては欠陥まみれだ。拗れすぎてしまった。まるでスパゲッティコードだ。
通説では「本を売るだけで生活できるようになれば生活のすべてを本を作ることに費やすことができる」とされている。
しかし「売れること」への強迫観念が質的変化をもたらしてしまった。
「売れなければならない」から表現したかったことを切り捨てる。
だというのに本は売れずに儲かりもしないなら怒りも沸くだろう。
一体誰が得をしているというのだ?
「本が売れなければ作者は生活できない」とは作者になれた側の理屈だ。
日の当たることのないものは闇の中へ葬られ、なかったことにされているだけだ。
「本を出す」ということが「競争に勝利した」という別の意味合いへと変容しつつある。
半ば競技化した出版競争というものは他人を踏みつけた上にある勝利だ。
ジャンルにもよるが、作品の中でどれほど綺麗事を語っていても、背景にあるのは血生臭い権利の獲得競争だ。
トロフィーの価値が下がるから「本は売れなければならない」という逆説的理論が構築される。
目指すべきは「本が売れなくても生活できる」社会ではないのか?
ところで映画や音楽はいち早くダウンロード違法化を取り入れた。
しかし音楽なら公式にMVが公式に無料配信され、映画なら地上波で放映されるものも珍しくない。
有名な作品ほど、そうなる。
結局はダウンロード違法化とは裏腹に無料でデジタル・コンテンツが提供されている状況だ。
その一方で知名度の低い作品は人に知られることもなく消え去っていく。
ダウンロード違法化によってデジタルデータ販売の収益が得られるようになったのだろうか?
映画ならば映画館が、音楽ならばライブハウスやコンサートホールがある。
野球ならば野球場、サッカーならサッカー場、バスケットボールならバスケットコート、プールならプール、ゴルフならゴルフ場といった具合にだ。
「他人の土地に無断で立ち入ってはいけない」という始原的なルールに基づいているためだろう。
うまくいっているファンビジネスには施設があって、うまくいっていないファンビジネスには施設がない。
本は施設との結びつきが弱い。
「基盤となる施設の不在」こそが本の作者の食えないことの最大の要因であるとは考えられないだろうか?
本にも書店、図書館、漫画喫茶といった関連施設があるにはある。
デジタルデータのない時代、本は書店に行かなければ入手することができなかった。
書店は「発売日に本を手に入れる」という日常の中でのプチイベントを提供する施設であったといえる。
しかも売る側の人間が「本と電子書籍は同じ価値ですよ」と宣伝しているのだ。
書店でのサイン会のようなイベントは「宣伝になるから」という理由で無償であることが慣例となっているらしい。
むしろデジタルデータが無料でサイン会が有料であるほうが直感的ではないか?
テレビで放送されてこそ「遊園地で僕と握手」というシステムがなりたつ。
アニメ業界も同様に施設を持たないから金策に苦労するのではないだろうか?
イラストレーターならアトリエ、アニメならアニメスタジオのような施設はあるが、これらは工場に近い。
売れないといわれているアニメ業界だが、一部のアニメ映画はその例外のようだ。
映画館という施設のパワーを借りたからうまくいったのかもしれない。
もし何のアイディアも思い浮かばないようであれば出版業界になんの存在意義があるのか?
出版業界などダウンロード違法化と一緒に崩壊してしまえばいい。
もしも作者と読者が直接的に結びついてしまえば出版社はお役ごめんだ。
今後の生き残りを狙うなら出版社にも施設を用意する動機はあるはずだ。
商業施設というのはただそこにあるだけでなく「関係性」を提供するものだ。
演者と観客、対戦相手、講師と受講生、提供する側とされる側といった関係性だ。
お金を持っている人、お金を使う人、あるいは大勢の人との「関係性」を提供する「施設」だ。
ここでいう施設というものはまったく新しい概念でなくてもかまわない。
地図でも開いて目に付く限りの施設を本と結び付けて考えればアイディアのひとつも思い浮かぶことだろう。