こんにちは。もんしょー(@sima199407)です。
という疑問があるかと思います。
以前以下のようなツイートをしました。
駆け出しの頃はプロダクトの計画にこだわりすぎるとエンジニアになるのが遅れてしまうので、基本的な機能があればそれでおっけです。
まずはエンジニア転職を決めることが目的なので、手段と入れ替わってしまってないかを確認するべき。
やる気がいつまでも続くとは限らないのでさっと作って面接へ??
— もんしょー@リモートエンジニア|YouTube登録者600人突破 (@sima199407) February 22, 2020
駆け出しの頃はプロダクトの計画にこだわりすぎるとエンジニアになるのが遅れてしまうので、基本的な機能があればそれでおっけです。
まずはエンジニア転職を決めることが目的なので、手段と入れ替わってしまってないかを確認するべき。
やる気がいつまでも続くとは限らないのでさっと作って面接へ??
これについてもう少し詳しく解説していきます!
動画でも解説してます
https://youtu.be/SB7xQvgQfEU
キーワードは70点
まず今回のキーワードは"70点"です。
「プロダクトを作成ってどこまでやればいいですか?」
「駆け出しっていうワードをそろそろ取り外したい」
って思っている方ぜひ見ていただきたいと思います。
やってはいけないこととは?
Twitter でも言った通り、「プロダクトの企画に時間をかけない事」っていうところですね。
基本の部分、基礎の部分が終わりましたっていうところで「少しわかってきたしいろんなものを作りたい !」という気持ちが多分あると思うんですよ。
でも、そういう時に結構起こりがちなんですね。
確かに自分が作りたいものを作るっていうのはすごくいいんですよ。
もうエンジニアになるって言ったら、 それが醍醐味っていうところがあるんですね。
目的を忘れるな
しかし、今の目的は何ですか?と。
自分が満足できるプロダクトを作ることなのか?
それとも、エンジニアの仕事に就くことなのか?
もし後者であれば、プロダクトの企画にあまり時間をかけないことをお勧めしております。
本気のプロダクト作成は終わりがない
なんでかって言うと、やっぱりいろんなものを作りたくなっちゃうんですよ。
「ちょっとこんな機能つけてみようかな」と思ったり、「SNS のログインの仕方どうやってやるんだろう?」とか考えてしまいます。
確かに、この機能をつけるとすごく便利だし後々実務に役に立つかもしれないんですけど、基本的な機能だけでやらないとどんどん面接に行くって言うタイミングが遅れて行くんですよね。
時間を企画のところでどんどん使ってしまって、大事なコーディングのところまであまり時間が回らないとか、あとは面接になかなか行けないってところがあるので、なるべく基本の機能を作っておけばいいかなと思います。
どんな物を作ればいいか?
今まで「基本的なもの機能を作ればいいよ」と言っていたんですけども、じゃあどんなものなの?っていうところですね。
先ほど凝らなくてもいいと言ったんですが、じゃあ実際、実務に入ることを優先だとしたらベタなものがいいかなと思っています。
有名なところだったら、掲示板とかTodoリストですね。
ここらへんが定番なんですね。
それらを自分が使う言語、例えばPHP だったら PHPPythonだったら Pythonで作っていくということになります。
作り方はこうすればOK
そうは言っても「でも、そんな作り方知らないよ」とか「いきなりなんか掲示板作るよって言われても無理でしょ」と思うと思います。
普通そうですよね。
でも、これネットで調べればめちゃくちゃ出てくるんですよ。
僕も調べながら作ったんですよ、ホント。
差別化をする方法
ただ、一個注意して欲しいのが全部コピペになると意味ないじゃないですか。
自分で手を動かして
「こういった実装をしたい」
「ルーティングこうしたい」
「クラスのクラス名を変えないといけない」
とかいろんなことがあるんで、そのままソースコードとかをコピペすれば作れちゃうんですけど、そこはオリジナルなところをちょっと作っていくというのが大事かなと思います。
1箇所だけでもいい
そこで例えば一つくらい自分のなんか新しい機能、さっき言ったソーシャルログインを作るとかはいいと思うんですよ。
本当にガチでオリジナルのものを作ろうとすると結構大変だと思うんで、掲示板のやつに少し+αで 1つ例えば画像投稿機能を作るといったものを入れることで、自分なりの作品というものになってくると思うのでそういったところを工夫していただければなと思います。
すぐに駆け出しを卒業しよう
プロダクトの作成まで短ければ短いほどいいと思うんですよね。
それで早くエンジニアになるっていうところがあって、実務を積んだ方がお金をもらいながら自分のプログラミングのスキルも磨けるし、いろんな先輩方からいろいろなアドバイスを受けたりだとな仕事で使えるスキルっていうのが身についてくると思うので、なるべく実務には早く入りたいと思います。
やる気はいつまで続くのか?
それともう一つあって理由があって、やる気がなくなってしまう可能性があるんですよ。
例えば
「もう半年以上プログラミング続けてるけど全然エンジニアになれない」
「休日こんなに削っているのに、 俺何やってるんだろう。。。」
みたいな風になってだんだんモチベーションが下がってくるんですね。
時間がかかってしまう人が飲み込みが遅いかと言うとそうではなくて、 そういう人たちは 完璧主義だったりする場合が多いんですね。
例えば、文法をひとつひとつ覚えようとして取り組んでいるんですけど、実際そこまでやらなくていいんですよね。
使うものをまず覚えていく、作りたいものを作れるだけの知識をまず入れるっていうことがまず優先なんです。
調べることはずっとやっていきます
仕事でやっていくことで自然に覚えてくる部分もありますし、わからない時はパソコンがあるんですからそこでググればいいんです。
わからなければ「どうやってこのSWITCH 文って作るんだろう?」「この配列の書き方で合ってるかな」といろいろ基礎的なところで、もう1回調べなおすっていう機会が出てくると思うんですね。
だから100点を目指すよりも、まずは70点取れればいいかなってどんどん進んでいくっていうのが非常に効率的になってきます。
まとめ
まとめ①プロダクトの企画はシンプルに
シンプルにしてベタなものを作っていきましょう。
まとめ②基本的な機能だけを揃える
掲示板とか To do リストとから辺で使えるようなものを作ってそこ+αで一つぐらい作るんだったら、それは全然オリジナルでいいかなと思います。
あとコピペは NG です。笑
まとめ③70点くらいでいいという気持ちで進む
100%を目指そうとして文法も全部覚えようといったそこまで最初やらなくていいよって言う所はやらずに、まずは実務で使えるっていうところまで持っていきましょうというのが就職とか転職を決める時に必要になってきますので是非覚えといてください。
今回のまとめです。
・プロダクトの企画はシンプルに
・基本的な機能だけを揃える
・70点くらいでいいという気持ちで進む