プログラミングへの失われた情熱。再び火をつけるには? 77
ストーリー by hylom
そんなときこそOSS開発活動 部門より
そんなときこそOSS開発活動 部門より
cheez 曰く、
本家/.「How Do I Get Back a Passion For Programming?」より。
それなりに経験を積んだソフトウェア開発者である自分は、仕事熱心とは程遠い。そんな自分も昔はコーディングが楽しかった。ルーティンコードだって、ルーティンに陥る前は楽しく書いていた。しかし今はただ日々を過ごしているだけである。上司は人のことを巧く操作し使おうとする馬鹿ばかりである。(転職に関しては)自分の履歴書はぱっと栄えるような内容でもないし、面接だって得意とは言えない。
とにかく自分の関わっている製品に関心を持てず、コーディングももはや楽しくなくなってしまった。より高度な内容のコードを盛り込むこともあるが、それだって密かにそっと入れこんでいるだけである。
どうやったら昔の情熱を取り戻すことができるだろうか?
/.J諸兄方の中には同じような気持ちになっている方や、そこから抜け出すことに成功した方などいらっしゃるのではないだろうか?なお、本家/.では「転職すべし」といったアドバイスや「自分が面白いと思えるプロジェクトをプライベートで始めるべし」といった助言が寄せられている模様。
働いたら負けだと思う (スコア:2)
働いたら負けだと思うのは事実でありますが、この社内ニートを何処から殴ればいいのかわからないよ!!!
Re:働いたら負けだと思う (スコア:5, おもしろおかしい)
プログラミングに倦むのは、けっきょく、クレームに疲れるからじゃないかとおもいます。仕様に文句つけるユーザーとか、バグにつっこむプログラマーとか… そこで、おすすめしたいのがクレーム・ゼロを目指すプログラミングであります。
クレームとは、ようするにあなたのプログラムのユーザーもしくは読者であるプログラマーが、「これじゃないもん!」と、わがままをいう現象であります。そこで、それらを最小におさえる、プログラミングをすれば、とても楽しい体験になります。ポイントは:
1.マイナーな言語を用いる(例:逆ポーランドlisp)
2.利用者のいない用途を実現する(例:逆ポーランド電卓で逆ポーランド変換を行う)
3.粘着プログラマがバグ報告できないように、実行環境の入手困難なハードをえらぶ(例:ディスコンになってるHP電卓のプログラムを発表する)
4.プログラムの可読性を最低にして、机上でつっこめないようにする。
クラウゼヴィッツいわく、仕事には摩擦がつきものですが、摩擦が嫌なら自分のプログラムに仕事をさせなければ良いわけです。
そんなことを考慮してしたためた私のプログラムが以下の日記にあります。
http://srad.jp/journal/536026/ [srad.jp]
ごらんのとおり、クレームゼロ(注:コメントゼロともいう)の作品に仕上がり、作者としても満足しております。
あ。もちろん、あなたのプログラムを見て殴りにくる人が近くにいる場合は、この方法はおすすめできません。あしからず。
斜点是不是先進的先端的鉄道部長的…有信心
Re:働いたら負けだと思う (スコア:1)
働いたら負けなのは日本の現状のせいであって、殴るべきは経営者や労基署でしょう。
怒るべき相手を間違えてますよ。
Re:働いたら負けだと思う (スコア:1)
いいや!違うね!これでいいのさ!
彼は日常に刺激が欲しいんでありましょう?
むしろ殴られてみなよ!障害沙汰になれば辞めるのも簡単でありますよ!?
#それはおいといて
しかし、殴りたいと思う心もモチベーションを上げる一つであります
社内に脚の引っ張り合いにならない程度に仮想敵を作るのは良い事でありますよ
#でも、周囲で無条件に敵対するのは止めて!
#巻き込まれた我輩のライフは、もうマイナス桁溢れよ!
Re: (スコア:0)
> この社内ニートを何処から殴ればいいのかわからないよ!!!
同意。俺の周りにも一人居るw(社内ニートw)
自社製品に関心が無いなら、とっとと辞めてくれ。。って感じな奴。
(自分では仕事ができると思っているようだが、周りからは?な人)
だいたいこういう奴が仕事の足を引っ張るんだよな。。
「 高度な内容のコードを盛り込むこともあるが、」なんて言っている時点で、
俺って凄い奴なんです!という自意識過剰プログラマの典型な気がする。
多分どこに就職しても、だめだめ君なんだろうな。。
楽しくなければ、自分で楽しくすれば良いだけだろうに。。
Re:働いたら負けだと思う (スコア:2)
>> この社内ニートを何処から殴ればいいのかわからないよ!!!
>
> 同意。
殴打という日本では強盗や傷害を犯した人間にすら適用されない処分を
仕事に倦み疲れ愚痴をこぼしているだけの人にしたくなる奴や、それに
同意しちゃう奴って心を病んでいるか下種かのどっちかだ。
Re:働いたら負けだと思う (スコア:1)
そんなことをしたら、周囲のモチベーションが更に下がるじゃないですか!?
ヤダー!
#だが耳が痛い
仕事は仕事 (スコア:2)
楽しいコーディングは家でやればいいんだよ。
Re:仕事は仕事 (スコア:2)
Re:仕事は仕事 (スコア:1)
お仲間だ。
アイデアのメモは取っていても、実現する時間も気力もないので放置。一年もすれば興味自体消えてしまう…
というサイクルを繰り返しているので、ここから抜け出したい。
ツイッターでネタを小出しにするのもよくない気がしている。
実際は何もできていないのに小さく満足してしまうところとか。
しばらく遠ざかって英気を養うのも一つの手なのかも。
Re: (スコア:0)
仕事でやるコーディングなんて、お金にになればいいだけだよ。
対価もないのに、ルールに縛られ過ぎて、単に面倒なだけの作業に成り果てているコーディングなら、つまらないし、モチベーションも上がるわけもなかろう。
見積もり外の仕様追加を、サービスつまり無償でやることを要求されることほど、つまらないことはない。
勉強することじゃないかと思います。 (スコア:2)
ちなみにどちらも仕事で使う予定はありません。
1から別の言語学び直すのってやり始めるまでがめんどくさいですけど、情熱を取り戻すにはとか投稿してる暇があったらやったことない言語でhello worldしてみればいいと思います。
教わる立場にいなかったり、新しい技術を取り入れさせてくれない現場ならなおさら「知る楽しみ」は仕事中にはでてこないと思うので、自分でなんかやるしかないでしょう。
# yes, fly. no, fry.
Re:勉強することじゃないかと思います。 (スコア:1)
TDDは個人的な範囲ででも使えるのでは?
Re:勉強することじゃないかと思います。 (スコア:1)
ただこれはテストの自動化で(私がやりたい形の)TDDというかテストファーストを取り入れるのはちょっと難しいと思います。
テストを先に書いておくとか、現在の状態維持のためのテストで変更に強くしておくとかっていう事はできますが、テスト増やして構造もどんどん変わっていくほんとにインクリメンタルな感じが私には面白いのですが、今の設計書だと具体的なことまで書かれすぎてしまっていてリファクタリングが許してもらえないとかそういうところでもやもやしてしまいそうでためしていません。
あとは気軽に取り入れるほどには私の学習が足りてないというのもあります。
# yes, fly. no, fry.
要するに飽きたんでしょ (スコア:1)
#昔は良かったと自分を騙して生きる悪意と不幸
Re:要するに飽きたんでしょ (スコア:2)
私も同じ感じだったが、日曜大工を始めてからは脳みそが動き出したな。
日曜大工もいかにテンプレートを作って機械的な作業に落とし込むかを考えるところでプログラミングに似てる感じ。
実体ができるのは面白い。
とりあえず勉強 (スコア:1)
タイトル見て飽きたなら無理せんでもいいじゃないとも思ったけど、仕事的には今でもプログラム組んでるのか。
短期的に使えるかどうかとか考えずになんか新しいことを勉強してみるといいんじゃなかろうか?
数学や理論でも技術でも管理でも。
目的と手段 (スコア:1)
本来はプログラミングは目的ではなく手段なわけで、
何かを達成するための道具でしかありません。
で、プログラミングの工程は
科学で言えば基礎研究に当たる「宝探し」の部分と、
建築で言えばドカタにあたる「末端奴隷」に二分されます。
自分がスーパーマンだと思える人か、
目的と手段を取り違えて人生を費やせる人以外にとっては、
プログラミングは単なる手段でしかないわけです。
敢えて言おう (スコア:0)
プログラミングは目的であると。
達成目標は真の目的であるプログラミングを行う為の理由であれば良い。
#いや仕事でできるラッキーな人は少ないと思うけどね(笑
私の意見ですが・・・コーディングを趣味だけにとどめること (スコア:1)
仕事でやる以上、時間やお金の問題が出てきたり、他人のために簡単かつ間違いのないコードを書く必要が出てくる。
もしかしたら自社の売り上げをたたせるために、同じような検証済みコードを何度もコピペするかもしれない。
プログラム作業が好きなら自分の好きに書きたくなるし、書いた後で書き換えたりもしたくなる。
パフォーマンス向上に力を入れてみたり、奇抜な発想でコードを書いてみたり・・・
そういったことがやりたいなら、結局のところ自分のためだけのソフトを作るしかない。
コーディングする目的は何かによるよね
・コーディングすることそれ事態
・人のための便利なツールをつくり無償提供するボランティア
・製品として売り物を作りお金儲けする手段
・etc...
自分のプロジェクトを始めるだけじゃ解決しない (スコア:1)
自分のプロジェクトを始めて、ある程度形にして、それを履歴書に書いて、転職。
遅くなればなるほど今の「クソ仕事」が履歴書にたまってそこから脱出しにくくなる。
納品物に楽しみを求めちゃ負け (スコア:1)
そもそも、退屈なルーティンワークを機械にやらせるためにプログラムを書くんだ。
もう一歩踏み込んで、自分の仕事を自動化するためのプログラムを考えるべき。
自分や、同僚が喜んでくれるようなツールを書くのって楽しいよ;)
失われた情熱に火をつけれそうな会社を… (スコア:1)
起業すればいんじゃぬ?
それは悩むことか? (スコア:1)
趣味は楽しまなければならない。
趣味と仕事を一致させなければならないわけじゃない。とゆーか趣味でも仕事でも同じことやってるなんてむしろつまらないんじゃない?
結論。
仕事は仕事と割り切ろう。面白くなくてもそれが仕事だ。食ってくためだ。養ってくためだ。
仕事とは違うジャンルの趣味を見つけよう。もちろん楽しめることを。
低レ研 (スコア:1)
あの頃(学生時代)は、何やっても楽しかった(Simijimily)
他の方も仰ってましたが、趣味と職業ではスタンスが違うのかな、と。
「歌を唄う」でも、趣味として唄うのと、職業として唄うのでは違うと思うし。
再び火をつけるには? (スコア:1)
敵を作って、喧嘩を売る
# それは炎上
プログラマーの憂鬱 (スコア:1)
「そんな人達は、コーディングすることで会社はおろか、世界だって変えられる。」
「凡人たる我々は~」
と、凡人風に言ってみたり・・・
確かにコーディングも仕事になれば楽しいことばかりじゃないです。なので、やはり趣味のコーディングをするのがいいかと。
普段は使わない言語やハードを使って。
やがて仕事にもいい影響がでます。きっと。
Re:プログラマーの憂鬱 (スコア:1)
違うなぁ...いつまでも情熱を持ってコーディングできるのは、そのようなテーマを発見できる能力のある人なんだ。
その一部の天才的な人達はルーチンワークのような仕事を与えられたらその能力に比例してモチベーションを失うよ。
なぜなら、そういうルーチンワークを機械にやらせるのがプログラミングってもんだからさ。
それは更年期 (スコア:1)
男性にも更年期があります。
朝勃ちしなくなったら、更年期の疑いがあります。
男性の更年期は、女性のそれとは違い、「やる気が失われてしまう」のだそうです。
昔なら「彼も丸くなったね」と言われて黄昏れていればすんだのですが
今は、そのままリストラされて電車を止めてしまう可能性があります。
更年期による影響をできるだけ抑えるためには、無酸素運動と良質のタンパク質がいいそうです。
また精力増進対策も効果的とのことです。毎日エロいものを見ましょう。
Re:それは更年期 (スコア:1)
ご助言の方向性は一面うなずけるものもあります。とはいえそれは元来肉食系の男女には適した動機付け。ひるがえって草食男子系には過分なストレスを背負い込ませることになるのではなのでしょうかというのがわたしの懸念です。
草食系には豆腐納豆油揚げ厚揚げをもっとたくさん摂取しましょうということなのかなあ?豆類は豆類で偏食レベルで他に比較して過剰だとそれもあまり好ましくない気がする。。。
趣味のプログラム (スコア:1)
こないだのGoogle Code Jamの予選一問目だけやってみた(その日は用事があってフル参加できなかった)けど、
エレガントに解けた時はプリミティブな快感が得られました。それ以来、プログラムが楽しくなったような気がします。
転職してより自由度の高い職場になったという事もありますが。
#存在自体がホラー
プログラミング? (スコア:0)
ライブラリをくっつけるだけのパズルだろ?
Re:プログラミング? (スコア:1)
どこまで行ってもプログラミングはパズルだよ。
コンピュータでプログラミングをして、パズルじゃないっぽく見えるのは、計算量理論とか機械学習などの研究くらい。
Re:プログラミング? (スコア:1)
ブール代数やオートマトン等、コンピュータの非常にプリミティブな部分が既にパズルゲームっぽいですからね。
自分で見渡せるサイズのなにか (スコア:0)
そんな、自分で見渡せるサイズの何かをこさえてみるのは楽しいものです。
決定権も仕様も自分できめられるわけで。
たとえば、プチコン [smileboom.com]でもやってみる?
#あ、でも仕事に戻った瞬間にダメになっちゃうかもしれない。
タレコミの最後の一文 (スコア:0)
>「自分が面白いと思えるプロジェクトをプライベートで始めるべし」
につきると思うけどな。
自分的には仕事であってもなくても「これを作るべし」と自分で納得
できてる時間が一番良いよ。
生産性を重視しており、管理がしっかりしているプロジェクトについているらしいです (スコア:0)
やっぱり転職が一番なんですかね
現在いるプロジェクトが歴代最糞なのに来年夏までとかでもうやってらんないです
# ソースを修正したら古いソースはコメントアウトして取っておきましょう
# 修正したファイルを紙に書いて提出してください
# あれ、SQLのカラムをひとつ変更するだけなのにルールに従ってたら5時間もかかったぞ
Re:生産性を重視しており、管理がしっかりしているプロジェクトについているらしいです (スコア:2)
> # あれ、SQLのカラムをひとつ変更するだけなのにルールに
これは RDB のテーブルの列名を変更すること
なのか select 文で列別名を変更することの
どっちなんだろう?
# 前者だったらある程度以上の規模のプロジェクトでは
# おいそれとは変えられないのは寧ろ当たり前だ。
Re:生産性を重視しており、管理がしっかりしているプロジェクトについているらしいです (スコア:1)
# ソースを修正したら古いソースはコメントアウトして取っておきましょう
こういう話はよく聞くけど、たとえばVCSにdiffを吐かせて、整形してコメントに挿入するマクロを書いたらいいのにって思う。
ロジック考えるだけでいい気分転換になりそうなものだけど。
Re: (スコア:0)
それも仕事のうちじゃないっすかね。
会社勤めしていれば、1日の仕事を30分で出来るようにしなきゃならないこともあれば、5分の仕事を8時間に増やさなきゃいけなくなることも出ますもん。
#えてしてそのような生産性向上や時間つぶしはコーディングの中では絶対になされないですが
Re: (スコア:0)
拝承。
新しいPCを買うべき (スコア:0)
引っ越ししたての部屋が新鮮であるように
そう真新しいPCを買い
また1からセットアップし
何もないフォルダに
新たなファイルを作り
何かを始める
その時が来たんだと思います
灰に火はつかない (スコア:0)
今の君は灰なんだよ。
ちょっと休んで美味しいものを食べなさい。
お魚とか煮干しとかカリカリとかシラスとかカツオ節とか。
Re:灰に火はつかない (スコア:1)
囁き…祈り…詠唱…念じろ!
Re: (スコア:0)
カリカリより缶詰がいいんだけどなぁ。
# 安いカリカリばっかり喰わせやがって!
あきらめろ (スコア:0)
明らかにその退屈な仕事が情熱を吸い上げている。その仕事に囚われている限り、情熱は蘇らない。
Re:あきらめろ (スコア:2)
取り敢えず、ここにぶら下げます。
色々しがらみがあると思いますが、やはり、燃え尽きる前に転職をお勧めしますね。
イヤイヤをこじらせて、今までできていた事ができなくなる程思考が鈍りだしたら手遅れです。
一口にプログラマーと言っても色々ある訳ですし、今までの経験が全く無になる事も無いと思います。
私の場合、DSPコーディング屋からシステムLSIのマイクロコード書きに進みましたが、ここで一度挫折。
今はLSIを使う側に回って、テスト用のファームやPCツールを組んでいます。
嫌な事がなくなった訳では無いですが、久々にプログラミングを楽しんでいます。
なお、挫折から復帰まで5年掛かりました。
「上を見るな」とは言いませんが、自分を生かせる環境・地位に潜り込む事も併せて考えた方が良いでしょう。
実は設計が楽しいのかも (スコア:0)
プログラミングが楽しいって思っていても、実際には考えているのが楽しいんであって、コーディングは楽しくないのかも
趣味で書いているうちは設計とコーディングが直結していて考える楽しさがあるけれど、
既に設計されてしまった物をコーディングするのは書き写しているだけで楽しさが失われてしまっているのかも
楽しい/楽しくないの境界は主導権の有無 (スコア:0)
従って主導権の確保の維持が、モチベの維持に一番役立つ。
#ただリーマンやってるとそんなのは夢想に過ぎん訳ですが。
具体的な手段としては、上司の弱みを握るか、自ら上に立つかするとか。
仕事を選べるなら、プロジェクトの立ち上げ時期だけ選ぶのも良いかも。
斜め上のアイデアとして、火事場に特攻して現場の混乱を利用して好き勝手振舞うという手も。
それもできないならやはり趣味で自分の世界を作り上げるしか。
職業PGになる (スコア:0)
情熱が無くなった時点でもう終わってるような気もするけど