なんちゃって院生のエンジニアブログ

大学院を休学してwebエンジニアを目指す人の戯言

休学して8カ月でwebエンジニアとして就職が決まりました!

f:id:masa_laughndie:20180603180345j:plain

 

お久しぶりです。まさです。

前回の更新から、また2か月ほど、経ってしまいました...

もう2か月周期にしようかな……

とか言ってると半年周期とかなりそうですね(^^;

もっと頑張ります!!

 

 

ですが、今日お伝えしたいのは何かというと!

もう、タイトルの通りですね(笑)

 

この2か月ほど、エンジニアになるべく就活しておりまして、

この度、ついにwebエンジニアとして正式に社会人になることが決まりました!!

でもって、つい先日、正式に大学院を退学してきました!!!

 

 

ということで今回はこの2か月での僕の就活について、

 

どんな軸で企業を選び、

どんな方法で就活をしてどんなところに決めたか、

総括してこの就活を振り返っての感想、

そして、未経験エンジニアが企業から内定をもらうにはどうしてらいいか、

 

自分なりに感じたことを書いていきたいと思います!

 

例のごとく、つたない文章となりますが、

よかったら最後まで読んでいただけるとうれしいです!

よろしくお願いしますm(__)m

 

 

今までの流れ

このブログを初めてお読みくださった方もいると思うので改めて軽く今まで僕の8カ月の流れを説明します。

 

去年の10月からwebアプリ開発の勉強するために某大学院を休学(詳しくはコチラ)

約半年間勉強したのち、4月に初めてのwebアプリを作成(詳しくはコチラ)

その直後からwebエンジニアなるべく就活開始

 現在

 

という感じです!

では、改めて、僕のエンジニア就活について、お話させていただきます!

 

就活の軸

一般的に就活をするにあたり「軸をしっかり持つことが大事!」なんて言ったりしますね。これは自分が本当に行きたいと思える会社に入るためでもありますし、その会社と自分がマッチしてるかお互いに選考を通して確認するためでもあると思います。そして、結果としてマッチした企業から内定がもらえるのかなと。

 

僕もwebエンジニアになるべく就活を始める上で、まずは自分がどういった企業でエンジニアとして働きたいかを考えました。

考えた項目としては以下です。

  • 大手かベンチャー
  • 自社開発か受託開発か
  • どんな理念やビジョンを持ってる企業がいいか
  • 環境や人はどんな感じがいいか
  • その他(待遇、勤務地、こんな企業なら受けない等)

そこで考えたことを書いていきたいと思います。

 

大手かベンチャー

ベンチャーとひとくちに言ってもメガベンチャーもあったりするので、くくり的には規模の大小に関してとなりますが、自分の中ではそこまで大きいところは考えませんでした。

理由は単純に技術不足で受けたところで...というのもありますが、さらには大きな企業になるほど、やることが分業化されて、任されることがより限定的になってしまうんじゃないかと思ったからです。実際はそうじゃなくプロジェクトが何個もあってそれを小規模チームで開発していくみたいなところもあったりするかと思うので一概には言えないですが、

自分としてはwebエンジニアとしてフロントからバックからできたらインフラとかサーバーまわりまで関わろうと思えば関われやすい、いろいろ挑戦できる環境がよかったので、規模的にも大きすぎないベンチャー企業を考えました。

 

自社開発か受託開発か

これはいろんな意見があると思いますが、僕は自社開発をしている企業を軸にしました。理由としては、これからもwebアプリ開発を個人的にしていきたいと思っている中で、企業に就職して学びたいことの1つに、「どういったものをユーザーが必要として、どういったものがユーザーに使われるか」ということがあったからです。

 

受託開発のいいところとしては、比較的、短期間でいろんなサービス開発に携われるのでその分、いろんな技術に触れられていろんなスキルを身につけられる機会があることなのかなと思います。

ですが、受託ということもあり、どうしてもクライアントからの納期というのがつきまとうかと思います。本来ならば、そのサービスを作る理由がユーザーのためであり、そのためにどんな中身にするかを考えて落とし込んでいくと思うのですが、そこがどうしてもクライアントの望むものを納期に間に合うように作る、ということが先行して、ユーザーのためとかを深くまで考えられる機会が少ないのではないかと思いました。

それに作って納めたら、そこで終わりの場合が多いということをネットで見たりもして、そうなると、そのサービスをユーザーのフィードバックを受けてより洗練させていくという工程に立ち会えない可能性が高いとも考えました。

 

その点、自社開発の方が、もちろんこの日までに開発するという期限はあるかと思いますが、ユーザーに一番近く、ユーザーファーストをより意識しながら開発でき、サービスを洗練させていくところにも立ち会えると思い、自社開発の企業を受けることにしました。

 

どんな理念やビジョンを持っている企業がいいか

これは企業選びで特に考えて意識した部分であり、一番大切な部分だと個人的に思います。

その企業がどんな世の中を創造したいと思っているか、そして、そのためにどんなサービスを作って世の中に提供しているか、本当にその企業に入って自分も少しでもその世の中の創造に貢献したいと思えるかを考えました。

 

そもそも僕がエンジニアを目指そうと思ったのは、大学1年のときにC言語の授業を受けておもしろいなと思ったことが発端です。つまりは、僕は今、自分が本当に楽しい!好きだ!と思えることをしています。そして、これからもこの「好きなこと」を続けながら生きていきたいと思っています。

 

それに最近は、InstagramTwitterYoutubeなどで自分の「好き」を発信して生活している人が増えまくっています!

それを支えるサービスもばんばん開発されてます!

 

将来、そんな世の中が当たり前になって、みんなが好きなことでお金を稼いで生きていけるようになったらいいなと僕は思いました。

自分の好きなことだけして生きていけたら最高ですよね!

「そんなのは一握りの運のいい恵まれた人だけ」なんて時代では確実になくなってきていると思います。

 

ということでそういった世の中を創造し、より推し進めていくことを理念として掲げ、そのためのプラットフォームを作ったり、その手助けとなるサービスを開発している企業を軸にしました。

 

どんな理念を持っている企業がいいかを考えるときは自分がどんな世の中で生きていきたいかをまず考えてみて、同じような世界を創造することを掲げている企業を選ぶといいと思います。

 

環境や人

これは今までに説明した軸に沿っていて内定をいただいた2社で迷ったときの決定打となりました。

環境に関しては前述したようになんでも関わろうと思えば関われる会社であることに加えて、できるだけフラットな社風のところがいいなと思いました。年齢層に関しては特に意識してなかったですが、結果的にベンチャーなのでどこも若い人が多かったです。同年代に近い人が多いというのは今後エンジニアとして刺激し合い、切磋琢磨し合える素晴らしい環境だと思います。

 

そして、人。どんな人と一緒に働きたいか考えたときに、やはり一緒に働いていて自分に良い刺激を与えてくれる人がいるところがいいなと思いました。その中でも、最終的な企業選びの決断として「この人の背中を追いかけたい!」「この人と一緒に働きたい!」と一番に思える人がいるところにしようと思いました。

自分の思い描いてる像として、とにかくいくつになってもどんな技術を身に付けて地位を得ても成長することを止めないような人でした。

なかなか選考で出会うのは規模が大きくなるほど難しいと思いますが、結果的にその像に近い人に出会い、そこの企業に入社することを決意しました。

 

その他

 上記の軸以外で考えたことです。

まず待遇、つまるところ給料に関しては普通に生活できるだけもらえればいいと思い、特に考えませんでした。ただ、稼ぎ口を1つに制限する気はないので、そういった意味では副業できるところを選びました。

勤務地は都内がいいなと思いましたが、特にそこまでのこだわりはなかったです。

そして、これはまあ特にベンチャーは無いだろうと思ったのですが、エンジニアなのに面接でスーツを強要する企業は自分からお断りしようと思ってました。

さすがにそんなところは無かったので良かったです(笑)

 

就活に使ったサイトと決めた企業

これはWantedlyのみです。あとは気になる企業は直接サイトから申し込んで話を聞きにいきました。

Wantedlyに関しては上記の軸についてと自分で作ったwebサービスとそのソースコードだけインポートしたgithubを載せておきました(普段はbitbucketを使ってます)。

 

結果的にインターンへのお誘いも含めると今までに12社からオファーメールをいただきました。オファーメールをくださった企業と自分からWantedly経由で、あとは直接企業のサイトから、気になる企業の話を聞きに行き、結果的に軸がはっきりしていたこともあり、3社にしぼって選考に進み、そのうち都内の自社開発企業2社から内定をいただき、1社に決めました。

最後の2社はどちらも自分にとって素晴らしい企業であり、非常に迷いましたが自分の中で決定打は前述の通り、この人のもとで働きたいと最も思える人がいたからです。

 

Wantedlyベンチャーがいろいろ集まっていて募集もいろいろあるので、未経験エンジニアでもプロフィールをしっかり書いて、ポートフォリオを載せておけばオファーをわりと来ると思います。ですが、今はTwitter就活とかもわりと主流だと思うので行きたい企業の偉い人にコンタクトとるのもありだと思います。

 

エンジニア就活を振り返って

まず、いの一番に言いたいことは「エンジニア就活めちゃくちゃ楽しかった!!」

とにかく、これにつきます!

僕が約1年前にイメージしていた「就活」とは大違いでした。

 

受けた企業が少なかったのもありますが、スーツも着なかったですし、履歴書は2枚書いた(1枚は入社手続きのため)くらいで、ESは1枚も書いてないです。もちろん、その代わりが自分の作成したwebアプリですが。

OB経由とかでなくても気軽に企業の話が聞きにも行けました。

普通の就活をしていたら、そんなに行きたいと思えない企業でもとにかくESを出しまくって受けまくってたと思いますが、自分の軸のおかげで本当にいいと思える企業だけを受けることができました!

 

選考ではPCを持って行って、企業のエンジニアの方に自分の作ったサイトとコードを見せながら、『こんなこと頑張ったぜー』というのを好きに話して、ときには『もっとこうするといい感じなると思うぜー』って教えてもらえて、面接という感じはほとんどなく、とてもラフな雰囲気で新しいことを学べる場でもありました。

人事や役員の方との面接でも自分の軸がわりと明確だったこともあり、本当に思うことだけ話して、この半年間のことで評価してもらえたりして、話していて気持ちのいいものでした。

 

とにかく、なりたい職に向けての就活っていうのはその職に向けて何か自分なりにでも積み重ねたものがあれば、結構楽しいものになるんじゃないかなと思います。その積み重ねというのはもちろん肩書きとかではなくて、自分そのものに身についたスキルだったり考え方だったり、あるいは作品だったりだと思います。

 

未経験エンジニアが企業から内定をもらうには?

この就活を通して僕なりに感じた未経験エンジニアが企業から内定をもらうために意識したり、やっておいた方がいいと感じたことを書きたいと思います。サンプル数が少ないのであまり参考にならないかと思いますが、おおかたの企業はこういうところを見てるのではないかと思います。

実際に企業との面接で感じたエンジニアとしてあるべき姿勢面ポートフォリオに関して見られた技術的な部分、そして、会社とのマッチ度です。

 

選考フロー

選考における簡単なフローについて話しておきたいと思います。

基本的には以下の感じでした。

 

会社訪問(会社の説明、場合によっては一次面接も兼ねる)

エンジニアによる技術面接(一次~複数回)

ポートフォリオを見せたり、今までの開発経験などについて聞かれる

人事、役員による面接(最終面接)

 内定

 

エンジニアを目指すのものとしての姿勢面

 これは結構Twitterとかでも話してる方がいるので、言わずもがなだと思いますが、とにかく以下のことを自分もアピールしました。

  • めっちゃ開発好きです!
  • めっちゃ成長意欲あります!いろいろ勉強しようと思ってます!
  • 問題にぶつかったらまずは自分でなんとかしようとします!

まず自分が採用側の立場になったときに開発が好きじゃない人とは正直、あまり一緒に働きたくないですよね。

そして、エンジニアは常に新しいこと学び続けなければいけないと思いますし、とにかく技術も経験もそこまでない状況でいかに自分の「のびしろ」をアピールできるかだと思います。

さらには、問題解決への姿勢がしっかりしてるかも見られる要素だと思います。その問題が解決できないにせよ、まずは自分でやってみる的な部分はどんな職業でもですが、必要な要素かもしれません。

 

 

自分も本気でこの3つについて感じたり行動している部分だったので、なんの気兼ねなくアピールでき、評価してもらえた部分だったと思います。

 

技術面

前提として、やはり未経験からエンジニアを目指すなら何かしらの自分で作った作品(=ポートフォリオ)がないと厳しいかと思います。それは上記の姿勢面における自分の言葉の後ろ盾になるものだからです。

 

でもって、僕が以前作成したMysize -スニーカーSNS-前のブログでもお話したのですが、約2か月ほどかけて自分なりに勉強しながら、そのとき自分ができることを最大限落とし込んだwebアプリでした。つまり、量より質をとったものを作りました。(最初は質より量でいこうとして開発中に方向転換しました(笑))

結果として、その部分で初めて作ったwebアプリということもあり、評価してもらえる部分がありました。具体的に評価された点は以下です。

  • 空白を縦でそろえたり、一行に長いコード書くときは改行して列をそろえる
  • controllerに書き過ぎず、modelでメソッドを作ってそれをcontrollerで使う
  • テーブル設計(多対多をはじめ、polymophicや自己結合などを使用)
  • 機能の自己構築(検索、コメント、タグ付け機能などできるだけgemに頼らない

 

1つ目に関しては比較的、意識すればできることだと思います。集団開発とかをする上で他の人が見やすいコードを書くことは大切だと『リーダブルコード』にも書いてありました。これからエンジニアを目指す人は読むべきなのかなと思います。僕もエンジニアの先輩に言われて読んでみて、とても勉強になりました!

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

 

 

controllerではなくmodelに書いていくこともわりと基本だと思いますが、結構、未経験だとcontrollerに書きがちだと面接官の方も言っていたので、1つアピールできるポイントだと思います。

 

下2つに関しては結構調べまくってエラーをバンバンに吐き出しながらやっとこさっとこ形にした部分です。

つまるところ、勉強した成果が1つでも垣間見える部分をwebアプリ上で表現することが大切なんだと思います。それも「のびしろ」とか「姿勢面」として評価してもらえるのかなと。加えて、形にしたらそれを面接で説明できるようにしておくことも大切です!僕も面接で「これはどんな処理してるの?」とか聞かれて、説明しました。

 ちょっと前に書いたコードとかだと中身でどんな処理してるかとか忘れてしまっていたりもすると思うので、面接前は自分のコードのやっている処理を復習しておくことをオススメします!

 

会社とのマッチ度

これはそのままなのですが、いくらエンジニアとしての姿勢がしっかりしており、技術面が伴っていても、会社が進んでいこうとしてる方向に外れている人を採用する企業はないと思います。ここで重要になるのが、前述した「就活の軸」です。その軸と会社が合っているかでマッチ度を判断されるのではないかと思います。

このマッチ度を1番見られるのは人事・役員面接だと思いますが、そこで出てくる面接官の人はおそらく今までに何人もの人の面接をしたことがある方だと思います。だから、即席的に会社の方針に合わせて自分の軸を設定したところで、質問を重ねわれるうちにそれが見透かされてしまうこともあるかもしれません。

だからこそ、軸はしっかりと設定して、会社名で選ぶのではなく、自分からそこに合っていると思う会社を受けに行く方が絶対に良いと思います!

言葉に一貫性が出て、採用してもらえる確率も格段に上がるでしょう!!

 

まとめとこれから

というわけで長くなりましたが、僕のエンジニア就活についてでした!

自分がこの就活でお伝えできるポイントとしては以下があげられると思います。

  • 自分なりの軸をしっかりと設定し、それに合った企業を受ける!
  • やはりポートフォリオは最低限ないと厳しい!
  • できれば努力したところを盛り込んだポートフォリオを!
  • エンジニアとしての「のびしろ」をアピール!

 

これからエンジニアを目指す方の参考に少しでもなればいいなと思います!

 

 

 

このブログのタイトルが「なんちゃって院生のエンジニアブログ」で、サブタイトルも「大学院を休学してwebエンジニアを目指す人の戯言」なのですが、なんちゃって院生じゃなくなり、目標もとりあえず達成したので、また次のタイトルとサブタイトルを考えなきゃいけないですね~

そこそこ地味に「なんちゃって院生」気に入ってたんですがね(笑)

 

うーん、どうしようか。。。

まあ、そのうち変えます!!

 

とりあえずwebエンジニアという職に就くことはできたのですが、まだスタートラインに立ったばかりです。これからが本番だと思ってますし、まだまだ勉強は続きます!

 新しく就く会社では開発にRailsに加えて、Reactを使っているので最初に学ぶことになるかと思います。ゴリゴリに勉強して、ゴリゴリに開発できるようにしたいと思います!

 

そして、個人開発も続けます!

実は就活中にもいそいそと作っておりました。

詳しくはたぶんすぐにツイッターで流すので良かったら、フォローお願いします!

 

twitter.com

 

ということで、

最後までお読みいただき、ありがとうございました!

またお願いしますm(__)mm(__)m

 

 

初のWebアプリ開発を終えて、この2か月のまとめとこれからの方針

犬の鼻



花粉症で鼻の皮がむけまくりのまさです。。。毎年辛い、、、

ちなみに写真は我が家の犬の鼻です🐽

 

「週1での更新を目指す!」と言っておきながら2か月近く更新なし状態になってしまいましたm(__)m

 

が、前のブログでも言ったようにこの2か月はいそいそと初のwebアプリ開発に着手しておりました!そして、作成当初は

 

 

 なんて意気込んでいたのですが、それが2月に入って

 

 

となり、気づいたら今に至ります、、、笑

 

ただ、この2か月はとにかく毎日がとても楽しく、新しく学ぶことがたくさんありました!そして、本気で人に使ってもらえるようなアプリを開発することの大変さや考えるべきことの多さ、改めて自分の技術力や知識の無さなど、いろんなことを気づかされ、感じさせられる2か月でもありました。

 

ということで今日は僕がRails Tutorialを一通り終えてから初めて作ったMysize(マイサイズ) -スニーカーSNS-の開発過程で考えたことや学んだこと、作り終えて思ったことや今後の方針などなど、徒然なるままにまとめてみたいと思います!

技術的なことに関してはまた別でまとめられたらなと思っています。

できるだけ短くまとめます!稚拙な文章になりますがよかったらお付き合いいただればと思いますm(__)m

 

 

 

開発の目的と作成前に考えたこと

最初、webアプリ開発に着手する前に自分なりにこの開発の目的をとして以下のことを意識しました。

  • 技術力アップ
  • 開発に少しでも慣れる
  • 自分を表す1つのポートフォリオ的なものを作る

 

改めて言うことでないくらい割と当たり前かもですね、、、

でもって、『技術力アップ』のために具体的に2つの以下の制約を自分なりに課して開発に取り組むことにしました。

  • Bootstrapなどのフロントデザインのフレームワークは使わない
  • gemやメソッドもすぐに導入するのではなく調べて自己構築できそうなものは自分で書いたり、考えて作ってみる

後述しますが、この制約は課してとてもよかったなと思います!

 

スニーカーSNS作成に至るまで

今回作ったwebアプリは僕の個人的な趣味であり、今はアプリ開発の勉強や金銭的理由(お金ない、、、泣)で遠ざかっているスニーカーに特化したSNSです。

www.mysize-sneakers.com

簡単に内容を説明すると、スニーカーを持っている人は自分のマイスニーカーについてのサイズやカラーをはじめとした情報を記録しておくことができ、あるスニーカーをオンラインやフリマサイトで購入したいと思っている人はその情報をもとにサイズ感などを調べることができる、かつ情報提供者へのリアクション(フォローやグッド、コメント)もできて、スニーカー好き同士で交流も深められる、というものです。

UIはスマホ向けに作ってあり、こんな感じになってます。

              f:id:masa_laughndie:20180405010404p:plain

 

当初は周りの方も作っていたTwitterの箱系が簡単そうで最初だしいいかなと思い作ろうとしていたのですが、

なんとなく最近、『ニッチな人たち向けのピンポイントなトピックに関する情報統合系』アプリがよく作られていて使われているように感じていたこと、やっぱ最初は自分の好きなものに関するサービスを作ろうと思ったこと、もともとレアなスニーカーなどをフリマサイトなどで買うときにサイズ感を調べるのですが、まとまっているサイトがないな~と思ったことがあったのをふと思い出したこと、が重なって、

 

「あれ?スニーカー好き(そこそこニッチ?)向けのサイズ感(ピンポイント)情報統合アプリいいんじゃない?」

 

と感じ、思いついたその場(最寄りから家へのバスの中)でわりと安易に作ることを決意しました、、、笑

 

それこそ、作り始めはスニーカーの図巻的な感じでサイズ感がスニーカーのサイズごとにコメントできるようなものをイメージしていました。 そして、1月後半から開発に着手したのですが、まずUIはスマホ向けにしようと思ったことから、twitterinstagramや質問箱の製作者で有名なせせりさんイラストSNS Raiot(ライオット)などのデザインを参考にしていたところ、SNSっぽくしてスニーカー好きの人の交流の場の色を強くしたらどうだろうと思い、結果としてスニーカーのSNS作りに落ち着きました。

正直これに関してはデザインなどは参考にしつつも、もともとのイメージで進めるべきだったかなと今は思いますし、そもそももっと考えるべきことがたくさんあったなと感じています。これはあるきっかけがあるのですがそれも後で述べたいと思います。

 

ちなみにフロントのHTML,CSSについて理解を深めたかったら、本当に手っ取り早いのは制約+Google Chromeなどのディベロッパーツールで真似したいアプリを観察して真似まくるが一番いいと今のところ個人的に思います!最初は時間がかかりますが、次第にわざわざ見なくても思い通りに構築できるようになってくると思います!僕は徹底的にそうしました!今後もそうしていこうと思いますし、もっとどのタグを使うか(divじゃなくてarticleやsectionなどを使い分ける)なども学んでいきたいと思います!

 

開発を通して学べたこと

このアプリ開発を通して、最も学べた部分としては、重複的になりますが前述した制約によってフロントまわり(HTML,CSS,JS)で自分の思い描いたデザインや処理をある程度構築できるようになったことと、gemやメソッドを用いたロジカルな処理の部分などに関しても、自分でまずコードを調べて書いてみたり、考えて構築してみるという作業は、そのgemなどがどんな処理をベースにしているかが理解できることにもつながりましたし、考える特訓にもなりました。

 

そして特に全体を通してこの制約は「自分は何が分からなくて、何ができないか」を効率的に知れる良いきっかけにもなりました。

 

自分が何が分からないかが分かれば、あとは調べて答えを探したり、考えて1つ1つ試してみればいいだけなので、問題解決の効率化にもつながりますし、次にまた同様の問題にぶつかったときにはすぐに解決できるようになったりもします。最初は結構時間がかかると思いますが、、、長い目でみるとそれが実は効率的なんじゃないかなと!

 

とりあえずスピーディにアプリを開発ができればいいという人にとっては、制約などは設けずにgemをフル活用してバンバン進めていけばいいと思います!そもそもRailsを使うのはそういう部分が強いと思うので!

 

ですが、しっかり理解したい人、特に自分のような初心者で何が分からないかが分からない人はRails Tutorialなどをやったあとで自分のアプリ開発をする際には何かしらの制約を自分なりに立てて、開発するといいのではないかなと思います!

ただ、1週間ぽっちで作ろうとしてたものも2か月近くかかったりもする(^^;のでバランスとか段階が必要な気もしますし、この制約をつきつめるとそもそもRailsなどのアプリ開発フレームワークそのものを使わない方向になったりもする(笑)と思うので、本当に自分の向かっていきたい方向次第です!

 

他にもRailsTotorialでは触れられていなかった、Twitter連携やogp,twitterカード関連、google analyticsの導入方法や独自ドメインに必要なことなどなどwebアプリ開発まわりに必要な多くのことをこの開発を通してQiitaやStackOverflowなどを用いながら学べました!

 

また、自分にとってとても大きかったことはだーすーさんたちが運営する運営者ギルドというslackに参加させてもらったことです!

 

このslackは何かしらサービスを運営している人たち、または僕のような個人でいつか人に使ってもらえるサービスを運営したいと思って開発していたり(あ、あまりここで言ったことがなかったかと思いますが実はそう思ってます!笑)、まだ手はつけていないけどこれから開発しようとしている人たちが集まって知見を共有し合ったり、フィードバックやアドバイスが気軽にもらえる場所です!

一度、このギルドの方々との飲み会に参加させてもらったのですが、その時の感想が以下です!

 

 

前述したようにサービス作りにおいてもっと考えなきゃいけないことがあると切に感じれたのもこのギルドに参加したおかげです。本当に人に使ってもらうサービスを作るには当たり前の話ですがまだまだ学ぶことがたくさんあります!

 

技術まわりもそうですが、1つのサービスを構築する上で必要な考え方や手法なども少しずつ段階的になるとは思いますが、学んでいきたいと思います!

自分で何かサービスを運営したい、収益化とかマーケティング関連とかを学びたいという人は是非とも参加をオススメします!

 

作り終えての感想と反省

最初の方にも言いましたが、率直にアプリ開発は本当に楽しいです!エラーエラーで心が折れそうになることも多々ありますが、それでも自分が思い描いたように動いたりデザインが構築できたときのあの首の後ろのあたりがぞくぞくする感じ(自分だけでしょうか?いたら教えてほしいです笑)は本当に病みつきなります笑

これからもアプリ開発はずっと続けていきたいと 思います!

 

今回の開発の目的(技術力アップなど)としては満足のいく結果になったと思っています!

ですが、まだMysizeをリリースして4日目ですが、なかなか人に使ってもらうというのは難しいなと既に痛感してます。。。

1つの使ってもらえるサービスを作るということに関しての反省点だらけで、あげるときりがないのですが、もう少し作り始める前の段階で構想を練って軸を作るべきだということ、最初から完璧を求めようとするあまりアプリ開発自体に時間をかけ過ぎてしまったこと、結果として自己満足アプリになってしまったことなどなどです。

 

これらのことは次に生かして、使ってもらえるアプリやサービスを作れるように失敗を繰り返しながら少しずつ学びを増やして、いつかユーザーが本当に必要としていて使いたくなるものを作りたいと思います!

 

今後の方針

まず、とても自分にとっては重要な決断なのですが、現在、大学院を休学中の身ですが、これから本格的にwebエンジニアとして働くために、就活を始めていこうと思います!つまるところ、就職先が決まったら、大学院を辞めようと思います!

 

この半年間でエンジニアという職に就くことにおいて院卒という肩書きよりも、自分がいま何ができて、今後どう成長していきたいか、何を目指しているか、という部分が大切だということをまわりの方々を通して感じることができました。

といっても自分が今の段階でできることなんて現役のエンジニアの方々からしたら、たかが知れていることなので、本当にどうなりたくて、そのために何をしていこうとしているか、その熱意とか態度が大切なんじゃないかと思います。

現にプログラミング経験がほとんどない方でもエンジニアとして就職されている方もまわりでよく見受けられます!

 

また、他の理由としてはとにかく早くエンジニアとして働きたいということと、院での研究などの時間もエンジニアとして成長する時間に割きたいという気持ちが大きくなったからです。

 

これが合理的な選択かと言われれば、そうではないかもしれません。もっと賢くて効率の良い選択があるのかもしれません。ですが、結果的に遠回りになっても失敗に終わるかもしれなくても1度しかない人生なので、僕は僕自身が納得のいく道を進んでいきたいと思います!

ということで就活がんばります!!

 

あとはおそらく就活しながらなので、後回しになるかもしれませんがMysizeの改修やコンセプトそのものをもう一度考え直して、できたらもっと使ってもらえる形に変えていくつもりです!また、新しいアプリも作っていきたいと思います!

 

そして、この開発を通して、自分は特にデザインを考えたり構築するのが好きだなと思ったので、フロントに関すること(Reactなど)からUIUXとかのデザイン関連のことも勉強もしていこうと思います!

 

全部平行してやるのは自分は不器用な方なので無理だと思うので、優先順位を自分なりに設定して取り組んでいきたいと思います!

 

というわけでかなりだらだらと長くなってしまいましたが、、、以上です!

このブログを書いていて、本当に自分は文章を書くのが下手だなと落ち込んでおります( ;∀;)

が、特訓のために内容とかこだわらずにもうちょい細かいこともぼちぼち書き込んでいこうと思います。少なくとも2か月は空けないようにします(^^;

 

よかったらMysize登録だけでもしてみてください!笑

 

最後までお読みいただいた方、ありがとうございましたm(__)m

またよろしくお願いいたします!!

Rails Tutorialを終えての感想&復習で参考にしたサイト

f:id:masa_laughndie:20180122230440p:plain

 

どうも!

今年の初雪に興奮中のまさです!

スノボしたい~

 

 

 

 

ということで今日はRails Tutorialの復習が一通り終わったのでその感想と復習で参考にしたサイトなどを紹介したいと思います。最後には今後の方針も話したいと思います。

 

 

Rails Tutorialの感想

Rails Tutorialから学習し始めた理由は、よくRailsの勉強を始める初心者はProgateの学習編(?使ってないので名前がわからない)や入門書などを1冊やってからRails Tutorialを始めた方が分かりやすいというようなことがネットなどで言われていることですが、特に深く考えずに実際にアプリを作りながら学べる教材を探した結果、Rails Tutorialに行き着き、とりあえず始めることにしました!笑 

 

でもって、前回にブログで書いたときには1周目を終えたころだったのですが、一通り復習もかねて勉強してみて率直な感想としては、人によって自分に合う勉強の仕方は異なると思うのですが、、、

 

個人的には「理論よりもまずは作ってみたい!」という人なら、Railsで使用する関連知識(HTMLやCSS,Rubyオブジェクト指向についてなど)の基礎程度でいいのでそのあたりを勉強していれば、もうRails Tutorialを始めてみてもいいのではないかなと思います。

 

僕自身もオブジェクト指向は体系的に学びたかったのでJavaでわりとがっつり勉強しましたが、実際はネットでもすぐに調べられることですし、HTMLとCSSは4日くらいでささっと詰め込み、Rubyも『楽しいRuby』の半分くらいを勉強し終えてRails Tutorialを始めました。

 

ちなみにHTML,CSSは以下のサイトが見やすくてとても分かりやすかったです!

 

サルワカ

 

全体を通して、すぐには理解できなくても最終的にはそこまで理解に苦しむ箇所はなかったように感じます。

それどころか個人的にはしょっぱなからすごくいい教材に出会えたな!という感じでした。良かった点としてはざっと以下のようになります。

  • アプリの開発フローが一通り分かる
  • 開発で使う関連ツール(GitやHerokuなど)の使い方などが分かる
  • テスト駆動開発も体験できる
  • Railsに関するベースとなる知識から学べる
  • 実践的なノウハウにも触れることができる

 わりと抽象的な感じになってしまっていますが、説明すると長くなるくらいに盛りだくさんでしかも無料で学べて、かなり満足のいく教材でした!アプリ開発をしたい人にはもってこいです!!

 

Rails Tutorialを勉強する上で必要なこと

そんな最強な教材であるRails Tutorialなのですが、個人的にやってみて思う始める上での必要なことを2つだけあげておきます!

 

  • ボリューミーなのでそれなりに覚悟をしておく
  • 1周で理解し切ろうと思わない

 

そのままなのですが簡単に説明します!

 

・ボリューミーなのでそれなりに覚悟をしておく

章数を見れば分かると思うですが全部で14章もあります笑

僕も最初始めるときはさすがにうろたえました(^^;

 

でも、だいたい時間があって早い人なら1週間かからないくらいとか、時間がない人でも1日1、2時間くらいずつでもやれば遅くとも1か月くらいで終わると思います。そのくらいのスパンで少し覚悟してのぞむべきかなという感じです。

とは言いつつ、Rails Tutorialに手を出そうとする人はだいたい何かしらのアプリを作ったりしたい「やる気」のある人たちだと思うのでこれは問題ないでしょう!

 

・1周で理解し切ろうと思わない

これはいろんなところでも言われていることですが、どんな勉強においても1周じゃ覚えられなかったり、理解できないことが多々あると思います。

そんなときは深く考えずにとりあえずまず1度やりきってから、2周目でさらに深くやり込んで、さらに分からないところはもう一度その箇所をやり込んで、、、という風にしてバウムクーヘンを作るように徐々に理解度を大きくしていく感じで繰り返しやり込んでいくことが有効だと言われています。

 

Rails Tutorialも同じような感じで初見で理解できないこともちょくちょくありましたが僕は特に悩まずにそういうものなんだと割り切って進めていきました。

そして、2周目で実際に作ってみたTwitterもどきアプリのコードを見ながら関連するサイトを使って調べることで「あ、これはこういうことだったのか!」とか、謎が解けていくように理解できましたし、一度触れているからこそ「これはここに関連しているんだな!」とか全体を見たときのある部分の関連性も見えるようになってきました。

 

なので、1周で理解し切ろうと思わずにわからなくてもこういうものなんだと割り切ってとりあえず1周してみて、あとからじっくりやった方が1周目からじっくりやるよりも効率がいいように思います!

 

これに関してはあくまで個人的な意見なので自分自身に合ったやり方が一番ですが、参考程度に思っていてくださいm(__)m

 

 Rails Tutorialの復習で参考にしたサイト

復習する上で役にたったサイトなどを紹介したいと思います。章ごとというよりは、トピックごとにしたいと思います。

 

基本的に主軸となるのは以下の2つです。

 

railsguides.jp

 

これはRails Tutorialを終えてからさらに知識を深めたい人への網羅的なサイトで、トピックごとに分類されており、基礎的な知識からかなり応用的なものまで載っています。

 

Railsドキュメント

 

このサイトはリファレンスとして用いるといいと思います。

 

・Git

backlog.com

 

Rails Tutorialには詳しく解説されていなかったのでこのサイトで基礎を勉強しました。図で説明してくれてとてもわかりやすかったです。

 

MVCパターン

hijiriworld.com

 

RailsアーキテクチャパターンであるMVCパターンについての概念を漫画用いて解説してくれています。実際のコードを見ながら理解したいならRails Tutorialの第2章の図でも2周目でじっくり見てみると分かりやすいと思います。

 

・ルーティング

railsguides.jp

 

ここで基本から応用まで学べます。単数リソースのような(idを参照せずindexアクションがいらない)状況のルーティングもここで知っておいた方がいい気がします。

 

・バリデーション

railsguides.jp

 

これも基本的にはここでこと足りると思います。

これのよく使いそうなところを要約したのが以下になります。

 

qiita.com

 

udemy.benesse.co.jp

 

ここの図も分かりやすかったです。バリデーションが行われるタイミングやその後の処理が簡潔に分かります。

 

 ・アソシエーション

railsguides.jp

 

第14章のRelationshipモデルに関するアソシエーションがちんぷんかんぷんだったのですが、ここの図と説明をよく見ることで理解できました!

 

beck23.hatenablog.com

 

このサイトも参考になりました!

 

マイグレーション

railsguides.jp

 

ここばっかですね笑 すいませんm(__)m

それだけとりあえずここを見てみるといいということです!!

 

www.transnet.ne.jp

 

この方もわりとわかりやすく解説してくれています。

ファイル内容をもうちょい見やすくしてほしいですが、、、

 

あと、上記の人のストロングパラメーターの解説も参考になりました。

www.transnet.ne.jp

 

 

他にもトピックはまだたくさんありますが、とりあえずこの辺までにしたいと思います。参考にしたものもぼちぼちあるのですが、どこで見たか忘れてしまいました(^^;

申し訳ございませんm(__)m見つけたり、もしくはもう少し分かりやすいサイトがあったらまた更新します!

 

 

いろいろとサイトはありますが、基本的にはRails Tutorialをもう一度丁寧に読み込むことが一番な気がします!あとは中級者以上向けの実用的な本も1冊くらい持っておいた方がいいと思いました!個人的に少し立ち読みしてリファレンス的な感じよかったので以下の本を購入しました!

 

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

 

 

これを参考にしながらネット情報もあさりつつ勉強を進めていきたいと思います!

そんな感じで僕が復習で参考にしたサイトでした!

 

 

今後の方針

ある程度基礎は身についたと思っているので昨日から実際にアプリ開発を始めました!前のブログで質より量と言ったのですが、せっかく作るんだから少しでも多くの人に使ってほしいと思い、以下の3つのキーワードを軸にアプリを考えました!

  • ニッチ
  • ピンポイント
  • 情報統合系

そのままですが、詳しくはアプリが完成したときに改めて説明したいと思います!1月中にとりあえず完成させられるように頑張ります!

と言いつつも、まだまだJavaScriptRailsの他の機能などなども言わずもがなですが勉強が足りないので、もっとできることを増やせるように勉強します!

これからRailsなどを勉強される方、一緒に頑張りましょう!

 

ではこの辺でまた!

 

 

 

Twitterやってます!よかったらフォローお願いします!

twitter.com

 

笑いながら死ぬために…

自己紹介

f:id:masa_laughndie:20180115225837j:plain

はじめまして!

まさと申します!

 

某大学院を休学して現在はwebアプリ(いずれはiOSAndroidアプリも)を個人で作るためにRuby on Railsの勉強をする毎日を送っています!

というわけで「なんちゃって大学院生」やってます笑

 

休学理由はいろいろあったんですけどぎゅぎゅっとまとめると、

 

企業研究をしていたら世間的に「いい会社」に就職することに魅力を感じなくなり、自分の好きなことをして生きていきたい!と強く感じ、、、

 

本を読みあさったりなんかしながら世の中でどんなことが起きていて、これから何が起こり、どんな時代が来るんだろうとかかんとか考えた結果、、、

 

紆余曲折あり、、、

 

プログラミングにはまり、エンジニアになって多くの人々が笑顔になるようなものを作りたい!という夢ができ、、、

 

休学してもっとプログラミングの勉強しよう!と思ったから、、、

 

です。はい。そんなぎゅぎゅらなかったですね笑

 

 

 プログラミング学習経験

といった感じで去年の10月から休学してプログラミング学習経験はというと…

 

とりあえず大学1年のときにかじっていたC言語から一通り復習し直す

最近はアプリ開発などでRailsがよく使われるようになってきており、生産性と開発スピードの面からRailsがいいと聞いてその主言語のRubyを勉強し始める

オブジェクト指向って何ぞや?」となり、Rubyより形式的でC言語にも似たコーディングをするオブジェクト指向言語の代名詞(?)Javaの基礎を一通り勉強する

Rubyに戻ってきたが教科書にしていた『たのしいRuby』が途中からリファレンス色が出始めて『たのしい(笑)Ruby』になり、Railsの勉強しながらRubyの必要なところを拾っていく感じにしようと思う

Railsの前にRubyについでRailsで使用するHTML,CSSをさらっと勉強する

(3週間くらい前)Railsの勉強を始める(Rails Tutorial開始)

 

Rails Tutorialは2日前くらいに1周目が終わり、今はもう一度じっくり復習しつつ、関連する知識もつめているところです。

 

 このブログを始めた理由

そんなこんなでインプットばかりしていたのですが、最近いろんなところで

 

「アウトプットを前提にしないインプットは意味がなく、効率も悪い!」

 

と言った声が聞こえてきました!確かにその通りだなーと!

いろいろと理由はありますが効率の面で切り取ると、「人に教えるため」とか「何か結果を出すため」の知識って、そうじゃないときよりも頭に入りやすかったりしますよね!でもって、誰かに教えることで自分が新しく学ぶこともあり、何が分かっていないかも分かったりしますし、アウトプットを前提とした学習は効率が良いと大いに言えます!

 

その理由にプラスしてRailsのことも少しずつ理解できてきたので、このタイミングでRailsなどのプログラミングを勉強していて得た知識を備忘録の意味も含めて書いていければなと思い、このブログ始めることにしました!

 

以上がこのブログを始めた理由です!

 

そんなわけで、

 週1くらいで更新をできればします!とりあえずまずはRails Tutorialを自分なりに消化してその中で学んだことをまとめて書くつもりです。

 

それが終わったらもうアプリ開発してみようと思います!1月の目標はアプリを最低1つ開発します!経験も何もないど素人なのでまずは質より量を意識して頑張ります!

アプリを開発したときなどもここで報告するつもりです!

 

このブログを読んで思ったことや指摘したいところ、異論反論、その他、ブログ以外のことでも!ございましたら、遠慮せずにコメントしていただければと思います!同じようにエンジニアを目指してる方も声をかけていただけると超絶喜びます!笑

 

一応、Twitterも新しくやり始めたのでよかったらフォローお願いします!

twitter.com

 

あ、すっかり忘れてましたが、、、(^^;

ブログのタイトル「笑いながら死ぬ」は僕の人生目標です!

笑いながら死ぬために毎日を全力で生きます!

 

以上、これからよろしくお願いします!!