プログラマーSEが『負の感情』とうまく付き合う方法
仕事をしていると、
「あいつムカつくなぁ…」
「なんで、ああいう言い方してくるんだろう、嫌いやわぁ」
と思うことってありますよね。
私もよくあります。最近は仕事の選び方や職場での人とのコミュニケーションの取り方を工夫することで、負の感情がわく頻度は減りましたが、ゼロではありません。
- ムカつく
- 腹立つ
- 嫌い
などの負の感情はうまく使えば力になります。
そんな「負の感情との付き合い方」を紹介します。
Contents
方法1. 逆境、怒りをバネにする
新入社員時代のエピソードを紹介します。
私は情報処理の専門学校卒だったので、入社した時点でプログラミングの知識がありました。
入社して研修を3ヶ月受けて、初めて配属された仕事は、OracleDBのストアード・プロシージャ(DB上で動くプログラム)をPL/SQLという言語で開発するものでした。
協力会社の人とセットで客先常駐の現場に放り込まれました。自社社員が一人もいない環境で新卒一年目の私は現場に放り出されたのですが、それでも、ちゃんと仕事できたんです。
PL/SQLなんて使ったこともなかったけれど、文法を覚えて、プログラムをサクサク作って現場での評価も上々でした。
「新入社員でこんなできるなんですごいじゃん、あとはここをこういう風にするともっと良いと思うよ」
みたいなアドバイスをくれるとても良い方たちでした。こんな風にして、一つ目のプロジェクトでは抜群の評価を得ていたのでしたが、次に配属されたプロジェクトはひどいものでした。
システムの障害情報が手書きされたものを、システムに入力するという仕事でした。
これってエンジニアの仕事ではなく、オペレーターどころか、キーパンチャーの仕事です。パソコンのキーボードをタイプできる人なら誰でもできます。プログラミングスキルがある人間がわざわざやるような仕事ではありませんよね。
理不尽な仕事をさせられたらどうする?
上司に「私は開発スキルがあるのになんで、なぜキーパンチャーをやらなければならないんですか?」と伝えました。
「君はまだ経験が足りないから、プログラマーの仕事はできないだろ」
と言われました。
今だったら、
「は?一つ前のプロジェクトでいきなり協力会社の人と放り込まれた現場でちゃんと開発できてたし、現場の評価も良かったじゃないですか。それに経験がないからできないって言ってたら、一生経験できないんじゃないですか?」
とツッコミを入れる所ですが、当時新入社員だった私にはそんな発想がありませんでした。
「そうかぁ、自分は経験不足であり、現場から評価されたと言ってもプログラマーをやるにはまだまだなレベルなんだな」
と落ち込みました。
今思えばおかしいですけどね。だって、経験不足だというのであれば、最初のプロジェクトでプログラマーとして派遣しちゃだめですからね。この上司が言っていることは明らかに矛盾しています。ところが当時はそれをうまく表現することができませんでした。
ですから、悔しい思いを抱えながらキーパンチャーの仕事をしていたんです。
悔しさをバネに独学
当時2000年で、業務システムの分野にWebアプリケーションが浸透していく時代でした。
はじめに入ったプロジェクトでJavaが使われていたのを目にして、「JavaはC++に比べてとてもわかりやすくていいな、これ絶対流行るだろ!」という感触があったので、仕事の合間にJavaの本を読んだり、休日にJavaのコードを書いていました。
今でいうとJavaって古くてつまらない言語といったイメージですが、当時は先進的でこれからの言語だったんです。
この予感は的中して、Javaは業務システム分野で大ブレイクしました。
入社3年目の仕事でようやくJavaを使った開発に参加することとなりました。
以前上司から「君は経験が足りないからプログラマーの仕事はまだできないよ」と言われていたので、「経験のある先輩方はどれほどすごいのだろう?」とワクワクしながら現場入りした所、大きな失望をさせられました。
当時Javaやオブジェクト指向は新しい技術でしたが、Javaやオブジェクト指向の知識がないっていうレベルだけじゃなく、単純にプログラミングの基礎が身についてないような人たちだったんです。
仕事の経験がなくても、独学で学べることはたくさんある
ある先輩はマジックナンバーも知りませんでした。
if (userKubun == 1) { //なんらかの処理 }
みたいなコードで1というリテラルを直接書くことをマジックナンバーと言います。
「userKubunが1ってどういう意味?1が何を表しているのかわからないじゃん。」
これがマジックナンバーです。
本来は以下のように定数定義をします。
public static final ADMIN_USER = 1; ... if (userKubun == ADMIN_USER) { //なんらかの処理 }
これならば、if (userKubun == ADMIN_USER) {が「ユーザー区分がADMIN(管理者)だったら」という意味であることが一目瞭然です。
読者の中には「そうなんだぁ、知らなかった、俺って経験不足なのかなぁ?」と思われた方がいるかも知れませんが、仕事の経験をしなくたって、こういった知識は学べます。
「プログラミング作法」や「リーダブルコード」といった本でマジックナンバーやプロのプログラマーが知っておくべきコーディング作法が丁寧にわかりやすく解説されています。
これらを読めばいいだけです。
リーダブルコードの方が新しい本なのでどちらか読むならリーダブルコードがおすすめです。
この先輩はこのような本を読んでいないし、仕事の経験があっても、プロとしての作法が身についてなかったわけです。
独学は案外仕事の経験に勝るということです。
「君は経験がないから、プログラマーはできない」と上司に言われても、「ああ、俺はダメなんだぁ」と腐らず、「くっそー、独学ですごいプログラマーになってやる!!」と奮起してホントに良かったです。
逆境、怒りはバネになるんです。
方法2. 気持ちを切り替える訓練をする = 瞑想
怒りをバネにできれば、マイナスのエネルギーをプラスのエネルギーに転換できますが、ずっと頭の中で怒りがループし続けてしまうこともありますよね。
夜眠る時に日中仕事で言われた一言を思い出し、
- 何度も何度もそのシーンが頭の中で反すうし続ける
- 頭が冴えてしまってなかなか眠れない
そんな時の解決策は、気持ちを切り替える訓練を日頃からやっておくことです。
何をすればいいかというと、瞑想です。
瞑想のやり方はいろいろありますが、代表的なものを紹介すると、目をつぶり、呼吸に意識を集中するというものです。
瞑想をする目的って何?
瞑想って何が良いんでしょうか?
瞑想をすることでドーパミンやセロトニンなどの脳内ホルモンが出ると言われていますが。それらのホルモンは瞑想しなくても運動すれば出ます。
「頭の中で考えごとをやめて無になることが目的だ」というのも、眠れば無になれるので、これまた瞑想をやる理由になりません。
瞑想をする必要性に疑問を感じていたのですが、メンタリストのDaiGoさんが本に書いた一言で瞑想をする利点がわかりました。
「瞑想をすると、前頭葉を鍛えられます。」
というものです。
瞑想は心の筋トレ
息を吸う時には鼻を息が通る感覚に集中して、吐く時にも息が鼻を通って外に出ていく感覚に集中します。吸うときの鼻の感覚はわかりやすいですが、吐く時に鼻を通る感覚は感じにくいので集中が必要です。
これを続けているうちに、集中が途切れて、「そういえば、昨日課長に言われた一言むかつくなぁ、嫌いやわぁ…」などと別のことを考え出してしまいます。
ハッとして、「しまった、雑念がわいてしまった。また呼吸に意識を戻そう」、これを繰り返します。
これって、心の筋トレなんです。肉体の筋トレは、バーベルを下げた状態から持ち上げる、下げて上げる、下げて上げるを繰り返してくことで筋力がついてきます。
瞑想も同じように呼吸に集中して…、意識がそれて…、再び呼吸に意識を集中して…を繰り返すことで心の筋力がついてくるんです。これがDaiGoさんの言う「前頭葉が鍛えられる」ということなんです。
瞑想とは、自分が集中しようとした対象に意識を集中する訓練なんです。これを続ければ、怒りの感情が頭の中をループしてしまっている時にも、別のことに意識を集中させることで、気持ちを切り替えられます。
瞑想は意識がそれたのを呼吸に戻す、またそれて戻す…を繰り返すので、意識を戻す力がつきます。怒りに気持ちがそれても、自分の意志で戻せるようになるんです。
心をコントロールする = 意識を向ける方向をコントロールする
頭の中で考えがループして眠れない時に、呼吸に意識を集中すると、何度か考え事に戻ってしまいますが、それでも、呼吸に意識を戻し続けていると、いつの間にか眠れていたりします。
これ生きる上でとても重要なスキルです。不眠症の人とかも瞑想すれば、症状を改善できるんじゃないかと思います。
まとめ
ということで、負の感情がわいたら、
- それをバネにして努力するエネルギーに変える
- 瞑想をして気分を切り替える
のが良いと思います。ぜひ参考にしてください。