なぜエンジニアにこだわるのか

転職して、二ヶ月が経ちました。

 

 

一ヶ月目は Java で簡単なWebアプリケーションを完成させました。

 

 

今までいろんな言語を触ってきたものの、ゼロから何かを生み出す作業を

 

 

したことがなかったため、かなり自信がつきました。

 

 

普通プログラミングを学ぶにあたってやることは、

 

 

一個一個

 

 

変数とは何か

 

 

メソッドとは何か

 

 

クラスとは何か

 

 

オブジェクト指向とは何か

 

 

。。。。。。。

 

 

などと、学びますが、いつまでたってもそれだけでは、プロダクトを作成できるようにはならない気がします。

 

 

ある程度作るにあたっての必要条件を学んだ後は、

 

 

自分が全力で作りたいものや作れそうなものを

 

 

イメージしてそれを作成することが重要だと気づきました。

 

 

プログラミングを学ぶ人の中には、この必要条件を学ぶ段階で足踏みしてしまい、

 

 

自分が作りたいプロダクトを作成させるための十分条件を学ぶフェーズに行けず、

 

 

挫折する方もいらっしゃるかもしれません。

 

 

昨年までの自分がそうでした。

 

 

どこまで学べばいいのかわからず、色々手を出しすぎて結果何も生み出せてない。

 

 

そんなことの繰り返しでした。

 

 

しかし一年ほどプログラミングを経験してみて、ここからここまでの内容がプロダクを作成するにあたっての必要条件というのはかなりわかりづらいことに気がつきました。

 

 

そのため、ある程度学んだと思ったら、その時点までに学んだことを必要条件とし、

 

 

自分が作りたいプロダクトを作るための十分条件探しに、いかに早く入れるかが重要なのではないかと思います。アウトプットまでの時間をどう早くするかということです!

 

 

当たり前だと思われた方はスルーしてください!w

 

 

Java のWebアプリケーションを作成した後は、Swiftを勉強し始めました。

 

 

もともと前の会社のインターンで、

 

 

iOS未経験のエンジニアとして学ばせていただく機会がありましたが、

 

 

外的要因のせいにして、自分にはハードルが高いものだと早い段階で見切りをつけてしまいました。

 

 

そのことがかなり心残りだったため、JavaのWebアプリケーションを作成した後は

 

 

 swiftを触るようになりました。JavaでWebアプリ作成するあたりから、

 

 

自分の中でのプログラミングの勉強の感覚が

 

 

やらなければならないこと

 

 

から

 

 

やりたいこと

 

 

へと変化しました。そのおかげで、仕事終わりでもコードを書き、

 

 

朝も早い時で、四時に起きるなど自分の中で変化があったように思います。

 

 

レベルの低いことをやっているかはわからないですが、

 

 

それまでやらなきゃいけないことが、やりたいことに変わり、

 

 

しかもそこで勉強して学んだこと知識となり、実際にコードをかけるようにもなるので

 

 

このサイクルがたまらなく心地よかったです。

 

 

そのため早起きでも何も問題なく、コードを書くことができました。(土日は若干気分によりましたが笑)

 

 

Javaのプロダクトを完成した後、4週間ほどでSwiftでiOS

 

 

チャットアプリなるものを完成させました。

 

 

Firebaseを使ってサーバー側も実装させました。

 

 

push通知も実装させました。

 

 

非同期でチャットも送れます。

 

 

この4週間の間も欠かさず早起きし、ひたすら勉強しながらコードを書き続けました。

 

 

アンドロイドもUIこそ、そこまでよくはないですがチャットの非同期の仕組み、

 

 

push通知の仕組みまで成功させました。

 

 

これを実装するのもかなりしんどかったのですが、何時間も勉強した内容を使って

 

 

実際に動いた時の達成感が半端なくて、

 

 

それの繰り返しでずっと続けることができました。

 

 

これがきっかけで、次週からモバイルエンジニアとしてのキャリアを詰めるチャンスを

 

 

いただくことができ、努力してよかったなと心から思いました。

 

 

僕は、プログラミングに出会い、ある会社のインターンに入ったのをきっかけに

 

 

何となくエンジニアに将来なってみたいと思うようになり、今に至ります。

 

 

最近までなぜエンジニアになりたいかと問われた時に、

 

 

「あるIT会社のインターンをしていた際に、実際にエンジニアさんたちが

 

 

プロダクトを作っているのをみて自分もこんな風になりたい!」

 

 

っていうのがいつもの決まり文句で、自分の中でもしっくりきてるのかきてないのか

 

 

微妙でした。またある時は「時代のニーズ的に・・・」とか

 

 

「AI化が進んで。。。」とか繕った発言ばかりしていました。

 

 

ですが、少しずつプロダクトを作ってみて自分なりに、なぜエンジニアにこだわって きたのか何となく解が見つかりました。

 

 

それは

 

 

自分を磨けるという感覚が強いから

 

 

です。

 

 

ある壁が出てきては、

 

 

それを乗り越えるために、調べて達成し、

 

 

また別の壁が出てきては、

 

 

それを乗り越えるために、調べて達成し

 

 

これの繰り返しです。

 

 

アルバイトの接客や、Javaのメンターなどをしていた際は、

 

 

新しい発見はなくはないのですが、

 

 

業務がパターン化されて、簡単にこなすことができてしまい

 

 

今日の自分も昨日の自分と何ら変わりないような感覚でした。

 

 

ですが、プロダクトを作成するにあたって、必ず目の前に知らないことが出現し、

 

 

明にはそれを乗り越えて、できることが増えている感覚を持つんですよね

 

 

もちろんエンジニア以外の職業も同じことだと思います。

 

 

教師だって、

 

 

マーケターだって。

 

 

経営者だって、

 

 

新聞記者だって、

 

 

突然解決したことのない問題が目の前に現れますが、

 

 

今日の自分は昨日の自分とは違って、その問題を解決している何てことあると思います。

 

 

僕自身は、二つのプロダクト作成を通じて、

 

 

「エンジニア」

 

 

という職業が、

 

 

知らなかったことを解決し、自分が磨かれている感覚が強い仕事のように思います。

 

 

そのため、まだまだエンジニアを職業としてこだわり続けていきたいと思います。

 

 

勉強の習慣もつくようになったので、とてもラッキーです。

 

 

なんか更新したい気分だったので、更新してみました!w

 

 

ちなみに高校時代も朝五時に起きては、高校のウェイトルームで筋トレをしてまして、

 

 

そういったことからも、自分を磨くことがかなり好きな方なのではないかと思いました!

 

って誰に喋っとんねん!

 

 

p.s.

たまに本を読むことがありますが、自分が知らなかったことや、自分にはない価値観の意見をみたとき、衝撃を受けたりしませんか?僕はたまにそういう本があり、本も一期一会だなと感じました。

ぜひ手にとってみてください!

 

なぜ勉強するのか?という問いに対して筆者なりの考えをみましたが、自分自身も納得しました。

f:id:stubgurssy:20170717172912j:plain