北海道でリモートワークするエンジニアの日常

東京から札幌に移住したフリーランスのエンジニア。車、筋トレ、ライフハックネタが多め。

プロダクトの成長と個人の成長

プロダクトを成長させるのは本当に難しくて、更に成長とは何なのか、プロダクトの成功とは何なのかという話にもなる。最近特に感じるのは、そのプロダクトが属するマーケット云々以前に、プロダクトに関わっている人がどれだけ成長するかがプロダクトを成長させる鍵になるのだろうなということ。

プロダクトを作り改善していく中で、関わるメンバーも自分の得意なところや不得意なところを自覚し、常にいろいろな視点から課題をあげそれを解決する手段をプロダクトに盛り込んでいく。その中で大事になってくるのが、いろいろな視点から課題をあげつつ、メンバーは常に客観的に自分やメンバーの意見を受け止め、それを自分の中に取り込み最適な解を導き出すかということ。
それができて初めて、チームで話し合う意味がある。

一方で、客観的に自分やメンバーの意見を考えることができないとどうなるかというと、自分の感じていることと違うことが出てくると、自分の意見が否定されていると感じてしまったり、メンバーが敵に見えてしまうということも起こってくる。その大きな原因は何か?それは本気でプロダクトを成功させようと思っていないから。
本気で成功させようと思っていれば、自分の意見と同じか違うなんてことはどうでも良くなるし、どうやったら最短でプロダクトを成功に近づけられるかという考え方に絶対になる。

たまにえ「優先順位をつけるのが下手なので」という言い訳をする人もいるがそれも上記と同じ理由だと僕は思っている。最短で結果を出したければ自然と優先順位はつけられるようになるし、何が大事かなんて自然と見えてくる。どれだけ本気で向き合っているかということに尽きる。

自戒を込めて、自分に厳しく成功させたいという強い意志と客観的な目線を持てなければプロダクトは成功しない。

成長につながる課題発見と解決のサイクル

最近よく、エンジニア・社会人として継続的に成長していくには、どういうことが必要なのかなとよく考えた時に、多分これは重要なんだろうなと思ったこと。

課題発見

これが全てのベースになると思います。恐らくこの、課題発見と解決の繰り返しを根気強く、そして自然に続けられる人が継続的に成長できる人なんだろうと思います。
ここではもう少し、その課題発見と解決のプロセスを掘り下げます。

癖を付ける

恐らく自分自身の欠点などは普段から意識していることなので、比較的容易に気づくと思います。一方で、普段の仕事のプロセスであったり、関わっているプロダクトの課題は、時間が経てば経つほど見過ごしてしまうものが多いはずです。普段の生活から常に課題がないかを意識したり、感じていることを言語化すると、なんとなく見過ごしていた課題が浮き彫りになりやすかったりします。

正しく捉える

以外にも課題だと思っていた点が、特に課題ではなかったりすることはよくあります。課題を正しく捉えるには以下に書いたようなことが大事なのかなと思います。特に、自分が優秀だなと思う人は全てにおいて、アウトプットを意識した行動をしています。

  • 掘り下げた上で、それが課題の本質なのかを考える
  • それが解決できた事によってどういう効果や影響があるのか

課題の解決策を考える

上記で出てきた課題に対して、次は解決策を考えていきます。ここでは、どうやって解決策を考えるかというよりも、解決策を考える上での注意点です。

具体的に行動に落としこむ

解決策を考える上で、実際にすぐに行動に移せる粒度まで落としこむことが重要です。これができていないと、同じことを繰り返すオオカミ少年になってしまうので、課題の原因をきちんと潰せるようにしないといけません。

習慣化する

具体的に上記で行動に落とし込んでも、すぐには効果が出ないことが殆どだと思うので、それを2〜3ヶ月継続できるように最初から気持ちの準備をしておくと良いのかも。

おわりに

自分の周りを見ても、成長出来ている人はきちんと自分の課題を自覚して、何らかの対策をしていたり、強みでカバーしようとしている人たちだと思います。一方で、成長できずに伸び悩む人を見ると、大体が自分の課題を自覚できていない人が殆どな気がするので、正しく自覚するって大事だなと思いました。

新卒エンジニア4年目の今まで意識してきたこと

新卒でエンジニアになって早いものでもう4年が経とうとしています。
自分が4年間どういうことを意識しながら仕事をしてきたかを整理しておこうと思います。

新卒1~2年目

目の前の仕事をガムシャラに圧倒的なスピードでやる

ちょっとつまらないこと、あまりスキルにならないことでも早く全力でやることで周りからの信頼が得られ、それによって面白い仕事やチャンスを得られる可能性が高まると思います。

  • 量を圧倒的にこなす。あまり計画やスケジュールは綿密に立てない
  • メールやチャットなどレスは早く、確実に
わかったふりをしない

自分がきちんと理解していないのに、あたかも理解したような顔をしたり、質問を途中でやめてしまうことはとても危険です。わかったふりをするのを続けているとだんだんそれが上手くなってきて、どんどんごまかすようになり全く良いことはないはず。ショーンK並に相手を騙せれば文句はないですけどw

  • わからない時は正直にわからないと言う
  • 用語だけでなく背景や思想を理解する
真面目になり過ぎない

1つ目に書いたことと矛盾してしまいますが、目の前のタスクをガムシャラにこなすことだけが良いことではないと思っています。仮にそれによってメインのタスクがちょっと遅くなったとしても、下記に使う時間もとても大事だと思います。

  • 関連することを芋づる式に調べる
  • 自分が関わっている以外のプロジェクトのソースコードを読む
必ずWhyを考える

自分がやっていること、作ろうとしているものが「なぜ」「何のために」やるのか、作るのかということを必ず考えるようにしていました。
たとえ「受託案件」「簡単なタスク」だったとしても、必ず考える癖をつけます。
また、これを意識せずに実装するとただのコピペエンジニアに成り下がるので要注意。

  • そのタスクはどういう課題に対するものなのか
  • この実装はなぜこうしたのだろうか
自分のできることや知っていることだけで解決しようとしない

これは新卒1年目の時に、当時のOJTの先輩に言われた言葉です。
特にエンジニアになりたての頃は知らないことばかりで、自分が想像できない解決方法があったりするはずです。自分の知っている実装方法だけでやろうとせず、もっと良い方法やスマートな方法がないか必ず探すようにしましょう。
技術、仕事のやり方、ツールもです。

できない理由を探さずに、できる方法を探そう

学生時代に聞いた講演で、ビズリーチの南さんもこんなことを言っていました。

"ヒトはできない理由を探すのが得意。どうやったらできるかを考えると人生はがentertainmentになる"

実装方法がイメージがつかないからとか、面倒そうだからという理由でできませんということは許されません。ある、エンジニアではない人に言われたことですが、色々なエンジニアと接していると技術的に困難なのか、それとも怠けているかはすぐに分かるそうです。もちろん、何でも出来るわけはありませんが、技術的やスキル的に困難だったとしても、きちんとその事実を正直に伝えることとその代替の手段を提示できるように心がけていました。

新卒3~4年目

言語化すること

自分の考えやなんとなく感じていることを言語化する癖をつけると、頭の中が綺麗に整理されます。これを続けていると、人への説明がわかりやすくなったりドキュメントが構造的に書けるようになります。なんとなくが言語化できると、ユーザー心理がつかみやすくなったりするメリットもあります。

  • Twitterやブログに自分の考えを書く
  • 非公開のメモ帳に自分の感じたことや考えを書く
  • "なんとなく"感じたことを言葉にする努力をする
難しいことの理解を諦めない

エンジニアの場合、新しい言語やフレームワークを使うときなど、最初はかなり苦戦することがあります。しかし、最初にきちんと基礎的な部分を理解することによって、後から楽になることが多いです。最初は結構、脳が辛いですが徐々にトレーニングされて耐えられるようになる気がします。

どういう結果を出せるかを意識する

これから作る機能がどういう価値や効果を生むのか、ということを常に考えるようにしています。また、もし他に優先するべきもっと大きな課題がある場合や、効果が確実なものがあればそちらを優先するようにします。

以前こういうことを言っている人がいて、まさにそうだなと思ったことがあります。
大体根拠の薄いあったらいいな、は効果が出ないものが多いです。

"あったらいいなは、なくても良いと同じ"

最後に

大学を卒業するときに、自分の恩師に言われた言葉です。既に3年は過ぎていますが、今でのこの言葉は常に意識しています。

「20代にどれだけスキルを身につけるかで、その先の社会人生活は決まります。とにかく最初の3年間をガムシャラに働いてください。そうすれば自ずと先は見えてくると思います。」

リンク

qiita.com

エンジニアの自分が健康を保つために気をつけていること

良いパフォーマンスを出すために、自分の身体をメンテして健康を維持するのは当然のことだと思います。
総じて自分が優秀だと思う人は、あまり風邪を引かなかったり、体調不良で休むのをあまり見たことがありません。

僕は一日10時間前後、PCを使って座りっぱなしで仕事をするエンジニアですが、どのような生活環境で体脂肪率3%と健康を維持しているかを紹介します。

仕事をする環境

椅子

椅子は座面の高さと、腰のサポートが重要。
シルフィーは座面や腰のサポートの張り出し具合など、調整機能が充実しています。

バックジョイ

やはり椅子だけでは腰が痛くなったり、自分の場合はお尻が痛くなってきます。
バックジョイは座面に敷くだけで、骨盤が立ち腰に負担のかかりにくい姿勢が保てます。

IKEAの足置き

なるべく体重はお尻と脚バランスよく支えたほうが負担が少ないので、足を少し高い位置に保つため足置きを使用しています。
www.ikea.com

運動

ジム

ジムは平日に2回ほど、30分位で下記のメニューをこなします。
それぞれ10RMを3セットずつ。

  • ベンチプレス
  • シットアップ
  • スクワット
  • アームカール
  • デッドリフト
  • ラットプルダウン
ストレッチ
  • ブリッジ

デスクワークではどうしても背中が丸くなりがちで、背中の筋肉が硬直してしまいます。毎日徐々に背中を反らせると柔らかくなります。

  • 大腿筋

太ももの前側です。腰痛は腰の疲れというよりは、太ももの疲れからくることがよくあります。

  • 大殿筋

お尻の筋肉の疲れも太ももと同様、腰痛の原因になります。特に椅子に座りっぱなしだと、おしりの筋肉が固まってしまいます。

食生活

朝食

毎朝下記の飲み物のみ

  • 飲むヨーグルト
  • カフェオレ
昼食

外食。定食が殆どで、肉魚野菜バランスよく。

夕食

スーパーの弁当が平日は殆ど。なるべく惣菜1品をプラスするようにしていて、ポテトサラダやほうれん草の胡麻和えが多め。
タンパク質の摂取が目的で、大体のものに卵をかけて食べます。

その他
  • 果物(柑橘系)を一日最低1つ
  • プロテインをトレーニング日と次の日それぞれ就寝前に牛乳と混ぜて飲む

入浴

極力、シャワーで済まさずに湯船に浸かります。しっかりと身体を温めると、眠りにつく時間も短くなりぐっすり眠れます。

睡眠

毎日大体、1:00~8:00の7時間睡眠。

その他

  • PCやスマホなど画面を見るときは極力JINS PCを使用

http://www.jins.com/jp/jins-screen/lineup/?pos=nightuse

  • 自宅の暖房はオイルヒーターで乾燥防止

デロンギ オイルヒーター サーマルカットフィン8枚 【8~10畳用】 ホワイト HJ0812

デロンギ オイルヒーター サーマルカットフィン8枚 【8~10畳用】 ホワイト HJ0812

  • こまめに水分補給をする

まとめ

基本的には、バランスのとれた栄養と運動がマストだと思いますが、普段の仕事をするときの姿勢や環境は重要だと思います。
特に、10時間近くデスクワークだと、少しの負担がジワジワと身体に蓄積していき、気付いた時には慢性的な痛みや疲労感に繋がってしまいます。

こまめに立ったり、寝る前にストレッチをするなど、普段から色々な部位の筋肉をほぐすことを意識すると、快適に健康にデスクワークを継続することができると思います。

2015年に実感したことつらつらと

全部バラバラなことだけど、自分の中で腑に落ちたこと。

分析するべき数値の定め方

よく「見るべき数値を定める」とか、「数値を目標に」などよく言われていると思うけど、漠然と何の数字を見ればいいかとかを考えるより、課題の洗い出しのMTGなどをしながら、そういえばここの数値ってどうなってるんだっけ?って時にSQL叩いたりGA見たりして見るべき数値を出していったほうが結果的に、その後にも役に立つ指標を作ることができたりする。

論理派と感覚派の違い

これは以前下記に書いた記事の通り。
musclehustle.hatenablog.com

管理するんじゃなくて信頼する

よくマネジメントの話では出てくるような気がするけど、自分のチームメンバーがミスをするとかサボっているんじゃないかというのが気になって、それを防ぐために管理することがある。でも、自分の考えを伝え、目指すべき頂上を共有しながら同じ方向を向いて、それぞれ自分で考えながら、やるべきことを見つけるのが本質的。理想論のように聞こえるけど、去年のチームは徐々にそういう状態に向かっていた気がするし、リーダーになる人はとにかく根気強くチームに伝えられる人じゃなきゃ務まらないということもわかった。

イライラを抑えるためには客観視

下に貼った本に書いてあったことを元に自分なりに意識したこと。どれも数ヶ月続けてようやく効果が出てきた。

イライラしたら一旦、外から自分の状態を見てみる。

「ああ、今自分◯◯にイラついたな」みたいな言葉で自分を表してみる。これを続けていると、すぐにイライラが収まるようになってきた。

仮想敵を作らない

もしあの人がこういう発言したら、行動したら、というのを想像してイライラすることがあったので。これも上のように自分を客観視することで徐々に抑えられるようになる。

作業の時間を増やすことが効率化ではない

エンジニアであれば、コードを書く時間を増やすというのがこれに当たるが、それが必ずしもパフォーマンスを最大限に発揮するための最適な方法ではないということ。人それぞれだと思うけど、自分は自身の目で見て耳で聞いてやってみないと納得できなかったりするので、作業の時間を減らしてでも自分の足で見たり聞くことで、エンジニアとして設計するときやコードを書くときのパフォーマンスも上がることを実感した。

2015年の振り返り

今年もあっという間に過ぎて年末になってしまいました。今年は何をしたかを振り返りながら、来年に向けて頭の整理をしようかなと思います。

とにかく「人」や「チーム」というのを意識した一年だった気がします。仕事での人やチームで一番大事になるのはやはり、人間のベースとなる性格がひねくれていないか、というところだなぁと感じました。

よく、チームには多種多様な人がいたほうが良い、という話を聞くことがありますが、それは上に書いたような部分に問題がない人であるということが大前提であるのかなと思いました。そうでないと、意見が合わなかったりその人の意見が通らなかった時に、その人を納得させたり機嫌を損ねないように気を使ったりと、無駄なエネルギーを使う必要が出てきてしまいます。

今年は仕事の内容は昨年と大きく変わることはなかったのですが、周りに認められるような目に見える結果が出ない中で、自分たちのやるべきことをやり続けることが大事だということもよくわかりました。

今年意識したこと

今年一番意識したのは、「安定」でした。誰しも1週間の中で調子が良かったり、悪かったりすることがあると思います。その波をどれだけ安定させ、一定のパフォーマンスを出し続けられるかというチャレンジをしました。そのためにやったことは以下の3つです。

  1. 平日夜に1~2回のジム通い
  2. 自分の感情を安定させる
  3. 自分の考えや感じたことを言語化する
1. 平日夜に1~2回のジム通い

身体を鍛えるという大きな目的がありますが、昨年までは家でのトレーニングとたまにジムに行くという程度でした。ジムに行くことで、安定してトレーニングができるようになったということに加えて、トレーニング後にサウナや風呂に入ってリフレッシュできるというのも大きかったと思います。その効果もあって、金曜までエネルギーが高い状態を維持することもでき、体調も安定させることができました。

2.自分の感情を安定させる

自分が今までイライラしたり、気持ちが乗らなかったりすると、仕事の調子や態度に出てしまうということがありました。この課題が解消できればもっと精神的に安定させることができると思いました。具体的には、自分の中で生まれた感情を徹底的に客観的に観察するということでした。例えばイライラした時は、「ああ、今◯◯にイライラしたな」というように外に出さず自分の中で消化するようにします。最初の数ヶ月は効果があるのか半信半疑でしたが、段々と自然と客観的に自分を見ることができるようになり、メンタル面で安定した状態を作り出すことができたと思っています。

3.自分の考えや感じたことを言語化する

ここは昨年から自分の中で改善していこうと思っていた部分で、以前「感覚派と論理派」について書いたエントリーにも関わることですが、言語化は自分はとても苦手なでした。1年間意識的に言語化したり、わかりやすく説明するなどを意識してきて、徐々に自分の頭の中でも整理しやすい状態を作ることができるのなかなと感じられるようになりました。

今年できなかったこととやりたいこと

今年はなかなか外部との関わりを持つことが少なかったかなと感じています。来年はもっと色々な人と仕事をしてみたいなと思っています。あまり一つのことが疎かにならないようにしたいですが、徐々に自分の時間とバランスをとりながらやっていきたいなと思っています。

感覚派と論理派という区別は間違っている

最近、感覚派か論理派かみたいな話をすることがあった。
自分はもともと感覚がメインで生きていた人間で、最近はどちらも大事だと思い、どちらも伸ばしたいと思っているのだが、
その話をしている時に、違和感を感じたり勘違いを生みそうだなと思ったことがいくつかあった。

感覚派だからといって論理を使わないわけではない

実は感覚派だから、感覚だけに頼っているというわけではないはず。
自分の思う本物の感覚派は、時と場合によって感覚と論理をしっかりと使い分けられる人だと思っている。
「私は感覚はなので」という理由で思考停止する人は、ただ単に自分を甘やかしているだけなんじゃないか?と思ってしまう。

論理は記憶の補助になる

前に決めたことをしばらく時間が経ってみると、なぜその決定をしたのかがわからなかったり、
そもそも自分が決めたということさえ忘れていることがある。
そういう時は大体、「なんとなく」のようなあいまいな感覚だけで決めてしまっていることが多い気がする。
一方で、「絶対にこれ」とその時は言ったものの、しばらくしたらそうでもないというパターンもある。そういう時は大体、「なぜ」をしっかりと考えると意外と、明確な理由がなかったり、説明できなかったりする。

逆に、一つ一つ決定するときに理由を考えたりすることによって、記憶には定着しやすくなるはず。

感覚も論理によって研ぎ澄まされる

自分が思うに、感覚は自分の経験やバックグラウンドから生まれることが多い。
エジソンの言葉にもあるように、Inspirationは意外と割合としては少なくて、
努力というか経験や自分自身のバックグラウンドから生まれることが多い気がする。ここでも大事になるのが、上に書いた「記憶」という部分だと思っている。
その記憶が取り出しやすい状態になっていて、かつ複数のことをスピーディーに結びつけることができると、感覚的に素早く考えることができるのでは?と思う。
そのためには、記憶として頭にインプットする際に、しっかり考えているかというのがキーになるような気がする。

どちらも大事

という感じで、結局はどちらも大事なので、ある人から見ると「あの人は感覚派だ」と見えるかもしれないし、逆に見られることがあるかもしれない。
とにかく両方を自由自在に上手く使いこなしたいですね〜。