何かを始めるとき、やりはじめが一番しんどいという話


エンジニアという職業は常に新しいことに挑戦しなければならない職種です。

新しいことといっても、「今まで積み上げてきたことの延長」と、「全く新しいこと」と二つありますが、特に「全く新しいこと」というのは、やりはじめが一番つらい時期なのだろうなと感じます。

具体的に何をしているのかというと、今必要にかられてSwift(iOS開発)を行っているのですが、やはり

  • XCodeの使い方(UIを作るツールの使い方含む)
  • iOS開発におけるUIの考え方
  • swiftの文法とイディオム

このあたりを、覚えても反復が足りないとすぐに忘れてしまうわけです。

Java8のstreamや、SpringMVCからSpringBootを覚えるときには、やはり「今まで学んできたものの延長上」にあるから、すんなりと自分の頭のなかに定着したのですが。

例えばXCodeにしたってEclipseやIDEAとはやはり毛色が違います。

また、WebのUIではグリッド・システム上でUIを考えるのが私の思考回路でした。

これをiOSのオートレイアウトや東西南北からの絶対位置指定のUIの作り方に頭を切り替えるのが大変なわけです。

考えてみると、何か新しいことをやってみてすぐにやめてしまう(=身に付かない)人はここで折れてしまうのではないか。

そういえば高校の時、キーボード(PCではなく楽器です)を買いましたが、鍵盤配列を覚えて最初の曲を弾けるようになるまでがすごく苦痛でした。

頭のなかで華麗に鍵盤を操る自分と、現実でTwincle Starすら満足に弾けない自分がいて、余計にモチベーションが下がるわけです。

結局、Twincle Starも弾けないまま挫折してしまいました。

残ったものは何もないです。

翻って、「好きなことを仕事にする」というのは、「やり始めのつらい時期」がない分、やはりアドバンテージがあるんだろうと思います。

やり始めのつらい時期は、やり始めの楽しくて楽しくて仕方がない時期に呑み込まれるからです。

そして一度軌道に乗せてしまえば、後は「楽しみながら上達できる」フェーズが待っているわけです。

私の場合は、Javaに関してはこのフェーズに到達できたのかなと思っています。

JavaもSpringFrameworkも最初は全然わからない上に、「わからないことがわからない」のでどうしようもないんですよね。

私の場合、これ「仕事」だったので、何度もサンプルコードを書いたりしてほぼ強引に突破したようなものですが。

いかにして「やりはじめ」の時期を突破するか、私は

  • 成果度外視でとにかく続ける
  • 「やりはじめ」を突破すれば、後は楽になると信じて続ける
  • 自分を追い込まず、マイペースに、それでも続ける

という方法が思いつきます。

どの方法でも、必要なのは続けることです。やりはじめでやめてしまうと本当に何も身につきません。(もちろん、「損切り」も時に必要な場合があるのですが)

「最初からうまくやる」ことを考えるよりは、「はじめは理解しなくても力押しで、練習量でゴリ押しする」くらいの気持ちで調度良いと思っています。

何かを成すには、3つの関門があると思います。

一つ目が、「やる・やらない」の関門。

二つ目が、「続ける・やめる」の関門。

最後に、「うまい・へた」の関門。

何かをはじめて、未だに思ったような成果が出ない。そう思う人は、もう少し、もう少しだけ頑張ってみるとよいのではないでしょうか。

ふたつ目の関門さえ突破してしまえば、人並み以上の成果にはなるはずです。