ブログにコメントをいただいたのでお答えします :: 6年後のボク
マスさん、コメントありがとうございます。
気付けば6年間過ぎていました。
現在の職は PG 兼 SE みたいな、ハイブリッドな仕事してます。
ちょっと大きめのサイトを、一人で内部の追加開発したり、フロントいじったり、DB触ったりと、SEOしたり、デザインしたり、いろいろやる楽しいお仕事をしています。
フルスタックエンジニア とかいう感じでしょうか。技術はいまいちですが、とにかくなんでもやってます。
職場もいろいろ変わりまして、当時の中小 SE 会社ではないのですが、6年前の苦しかった経験から、今、楽しくやってるボクなりのアドバイスを送りたいと思います。
自分の解る部分を解る
よく聞く言葉とは思いますが「解らないことが解らない」状態を無くすことが、最初の一歩です。
どこなら自分は解っていて、どこが、どのように解らないのか。
そもそも、なぜPGだったのに、SEやってるのか。というようなことも、聞くことをおすすめします。
プロジェクトの目的は何か、そのために何が必要か、納期はいつからいつまでか、予算はどれくらいか、協力会社は何社か、何人体制で作っていくのか、などなど、なんでもいいから解ることを増やしていくことで、また見えてくるものがあるかと。
そして、大きな部分から、徐々に細かくしていく作業を繰り返し、解らない部分を減らしていくのはどうでしょうか。
右も左も解らない状態から一歩踏み出すために、今の自分がどこにいるのか、を自分自身が解ってあげて欲しいです。
周りに気付いて貰う、その前に自分で気づくことで自信が生まれると思います。
脳みそから物理的な何かに落としこむ
解らないことを頭の中だけで留めておくと、もうまるで解らないループに落ち込んでしまうかと。
Excelでもマインドマップでもなんでもいいのですが、とにかく脳から紙、ファイル、などの物理的な何かに移すことができるか、が大事だと思います。
ボクの場合は、とにかく文書化でした。
手書きで図を書きまくって、ユースケースなどを理解していきました。
文書化できない = 理解してない、解っていない。
そのような心づもりでいたので、それなりの量のお絵かきをして、それを要件定義の書類にまとめたりしていました。
誰かに聞いたほうが早い
どうしても解らないことは恐れずに聞くことです。
解る人なら1分で解ります。解らない人は3時間たっても解りません。
だからといって、解らないまま進めることのほうが、怖いことで、あとあとの問題になってきます。
ウォーターフォール型の開発でなくとも、初期の要件定義はそれなりに影響してきますし。
解らないことを尋ねるときも、どこまでなら解って、どこが解らないのか、を伝えることができるので、コミュニケーションしやすくなります。
とは言え、何でも聞く、というのもアホだと思われて厭かも知れませんが、その時の聞き方次第でしょうね。
マスさんに、メンターの人がいればいいのですが、どうなのでしょうか。
聞くに聞けない、そんな関係にしない、というのも大事だと思います。SEなら。
仕事だからこそ人間関係を大事に
当時のボクは人間関係が上手く構築できませんでした。
そこが原因として、ボクの精神はズタボロになっていきました。
向き不向きあるので、なんとも言えないのですが、仕事の向き不向きより、人間の向き不向きのほうが辛かったですね。
人間関係が上手くいっていれば、仕事はなんとかなります。
自分のために仕事をしようとすると、きつくなりますが、同僚のため、チームのため、組織のため、クライアントのため、と考えると、味方が大勢いることに気が付き、プラス思考が生まれて仕事がしやすくなると思います。
でも、それは人間関係が破綻してない場合ですよね。
ボクは転職するときに、当時の社長についていけずに辞めました。
小さい会社だったので、距離も近くてきつかったですね。
彼から教わったことに金言もあるのですが、それ以外の部分に悩まされて仕事ができなくなってしまい、誰も得しないから辞めよう、と決めました。
ボクにとっては、とても良い選択肢でした。
本を読む
後は勉強ですね。これはエンジニア職なら当たり前のことですが。
要件定義関連で、読んで良かった本を貼っておきます。
初歩すぎるかもしれませんが、ご参考までに。
そして、最後に大事なのはコレ。
enjoy!!
今を楽しんで。
尊厳死・安楽死について :: Hatena id コールされたので書いた
何年ぶりだ、文章書いたの。
誠意を持ってコールに答えよう。
これ以下は、ボクが中学生からの持論なんですけど。
常々、25年くらい言い続けてるんだけど、なかなか実現されなくて悲しいんですけど。
それどころか、狂人呼ばわりされてるけど。
どうしようもない状態の人間の尊厳死・安楽死、認めるべきだと思ってるんですよ。
介護が必要になって、ただ生きるだけのうんこ製造機になって、自分のこの先の人生になんの意味も価値を持てないなら、やっぱり安楽死という選択を与えたほうがいいと思うわけです。
介護される状態になったら、負担しか周囲に与えない存在になる。
この想像ができない人を、高齢化社会となった日本は護る必要がないんじゃないのかな。
社会的に何一つとしてプラスにならない存在だと自分が感じたなら、これはやっぱり生物として消え去る選択を与えるべきなんですよ。
ただ、もちろんね、家族、肉親からは殺したくないという考えもあるよね。
うんこ製造機が大事な人もいるよね。
本人は死にたくて死にたくてしょうがないとしてもさ。
だったら、生かしたいお前らが勝手にすればよいわけです。全員殺せ! とかそれは無理なので。
でも、社会はうんこ製造機に価値を求めないよ。助けもしないよ。金も保障もしないよ。それでもいいなら、自己負担で生かせばいいよ。
そのうんこ製造機に負担するより、生きたい人、若い人に投資するよ。
というのが、成長する社会として必要だと思うんです。
社会は損得で考えていただきまして、個人としてはまた別の視点で考えて欲しくて。
介護疲れで肉親や家族を殺す、殺されるのではなく。
介護疲れになる前に、綺麗な形で死を迎えさせてあげる、のほうが生き物として美しいと、ただそれだけです。
生きることにしがみつく、もうね。醜すぎます。生きる価値ないです。
そして、安易に安楽死を美化するのもどうなのかな、ってわけですよ。
生きることに意味を見出すならば、健康な人により価値を与えないとダメだとも思うんですよ。
若い人が安楽死を望んだらどうするか、なんだけど。
安楽死する権利を、納めたら安楽死させてあげるとするのはどうでしょうかね。
例えば、安楽死の費用に300万円。
健康で美人の20代女性だったら、追加で5000万円払わないと安楽死させないよとか。
不細工でワープアで年収300万円の40代男性だったら、追加1000万円とか。
独身で家事手伝いの50代女性だったら、追加100万円とか。
介護が必要だったら追加費用なしとか。
無駄に安楽死を進めるんじゃなくて、貴方には社会的にそれだけの価値が有るよ、もしくは貴方に価値なんか無いんだよというのを明確にしてあげたらどうかな。
死ぬ前までに300万円ためるのが普通になるというのもいいかなーって。
なぜ300万円か。200万円でも400万円でもいいんだけど。
まあ、うまくやれば一年間生き延びれる額だよね。
一年間、生きること死ぬことについて、じっくりじっくり考えてみることもできるよね、って意味も持たせられるかなって。
grunt-contrib-copy のサンプル
gruntjs/grunt-contrib-copy · GitHub
Flattening the filepath output:
copy: main: # src に指定したフォルダーまで含めてコピーしたくなければ true expand: true # ** だとサブフォルダーの中も含めてコピー src: 'src/**' dest: 'dest/' # 階層的なコピーをしない flatten: true # コピーは File だけ filter: 'isFile'
Grunt はいろいろできるのが楽しいです。
grunt の サンプル :: package.json と gruntfile.coffee
サンプルがないと不便と言われたので。
Prod 環境だけを抜き出したサンプルだけど、たぶん動くはず。
いまよりも便利にしたいけれど、モチベーションが起きないのは効率良く使えてないからだと思う。
package.json
{ "name": "works", "version": "0.0.0", "description": "", "main": "index.js", "scripts": {}, "author": "", "license": "ISC", "devDependencies": { "grunt": "^0.4.5", "grunt-contrib-clean": "^0.6.0", "grunt-contrib-coffee": "^0.11.1", "grunt-contrib-compass": "^0.9.1", "grunt-contrib-less": "^0.11.4", "grunt-contrib-watch": "^0.6.1", "load-grunt-tasks": "^0.6.0" } }
gruntfile.coffee
#gruntfile.coffee module.exports = (grunt) -> # load all grunt tasks matching the `grunt-*` pattern require('load-grunt-tasks')(grunt) grunt.initConfig clean: build: options: force: true src: [ '../path/css/*' '!../path/css/sns.min.css' '../path/js/src/app.js' ] less: prod: options: path: '../path/less' compress: true files: '../path/css/sample.css': '../path/less/sample.less' compass: prod: options: config: '../path/config.rb' coffee: compile: files: '../path/js/src/app.js': '../path/coffee/src/app.coffee' watch: less: tasks: 'less:prod' files: '../path/less/*.less' compass: tasks: 'compass:prod' files: '../path/scss/*' coffee: tasks: 'coffee:compile' files: '../path/coffee/*' grunt.registerTask 'default', [ 'clean' 'less' 'compass' 'coffee' 'watch' ]
まだ yeoman.io を試せていないので、はやいところ当たり前のように使って楽をしたい。