髙妻智一プログラミング未経験から最速でエンジニアになる学習方法ツイートシェアはてブLINEPocketどうも、高妻です。私は理系の大学院まで出てますがプログラミングはしたことがなくて、社会人になってからプログラミングを学び始めました。この経験から最速でエンジニアになる方法を紹介したいと思います。先に下記に結論を書いておきます。これについて深掘りします。最速でエンジニアになる方法なんのエンジニアになるか具体的に決める(サーバ、クライアント、AIエンジニアなど)経験者から学ぶオリジナルサービスを作るプログラミング未経験の方へこれからプログラミングを学びたいと思っている人はどうやったら効率的に学べるのだろうと不安になってしまう方がほとんどだと思います。自分もはじめは同じ気持ちで何から始めていいのか全くわかりませんでした。Javaの本を買って読んだり、写経してみたりと雰囲気で学んでいました。自分がちゃんとプログラミングを習得でき始めたのは会社に入った後の新卒研修からです。それまでの独学で勉強していたときよりも研修の方がはるかに効率よく学習することができました。研修では講師の方と同期に質問しまくりながら基礎を学んで、そこからはひたすら自分でサービス作ったりして、独学で学習できるレベルになりました。この経験を経て、私が未経験の方にオススメする最速でプログラミングを学ぶ方法をアドバイスしたいと思います。自分がプログラミング未経験だったらエンジニアとして5年以上バリバリ働いてきた私が、もし未経験から学ぶとしたらどうやったら効率よく学べるのか、これまでの経験を踏まえてアドバイスします。これからプログラミングを学びだいと考えている人が最速でエンジニアとして活躍できる方法を伝授したいと思います。何エンジニアになりたいのか具体的に決めて目標を作るプログラミングを学ぶなら何かやりたいと思った動機があるはずですよね?自分でWEBサービスを作りたい、スマホゲームを作りたい、AIを作りたい、フリーランスエンジニアになって時間と場所に縛られずに働きたい、給料を上げたいなどいろいろあると思います。何をやるにしても目的が大事です。プログラミングを学びたいという人はそもそも長続きしません。それはなぜかというとプログラミングは範囲が広すぎて学ぶべきことが多すぎるからです!私の場合は、みんなが幸せになれる世界一のサービスを作る!という目標をたてました!ちょっと恥ずかしいですがこれが本当に目標でした笑なので、私の場合は一般消費者が触るスマホゲームやアプリ、WEBサービスをメインに作っています。何を目指すかで学ぶべきことが変わるまずはこの目標をしっかり決めることが大事ですね。ここにあげた目標だけでも学ぶべきことが変わってきます。なんとなくエンジニになりたいな〜と思っている人はまずは何を目標にエンジニアになるのかしっかり決めましょう!目標は途中で変わらないほうが最短コースで達成できるのでじっくり考えてみてください。エンジニアになって働きたい人はこの目標を強く持ってくださいね!とりあえず稼ぎまくるでも大丈夫だと思います。ちなみに自分は、エンジニア職は少人数でサービス作りができることが魅力に見えたので、インフラからサーバサイド、フロントエンドまで全てできるエンジニアになることを目指しました。目標別学ぶべきこと目標が決まったらあとは学習するのみです。プログラミングには大きく分けて下記のものがあります。エンジニアの種類WEBエンジニア(サーバ、フロント、インフラ)ネイティブエンジニアゲームエンジニアAIエンジニアより詳しく知りたい人は下の記事も読んでみてください。WEBエンジニアWEBエンジニアは大きく分けてフロントエンドとサーバサイドに分かれますが最初は未経験者にとってはどちらも最低限学ぶべきことがあるので最初はあまり意識しなくてもいいかと思います。HTML、CSS、Javascriptを使った見た目を作ることができる言語を学びましょう!いきなりサーバサイドの言語を学ぶよりも比較的簡単に成果物を作ることができるのでおすすめです。Rubyなど)とデータベースについて学習をするといいです。ネイティブエンジニアネイティブエンジニアはiOSとAndroidのアプリを作るエンジニアです。iOSはObjective-CかSwift、AndroidはJavaかKotlinを覚えることになります。ネイティブエンジニアの場合、HTMLもJavascriptもサーバサイドの知識も必要ないので、一つのことに集中して学習を進めることができます。iOSとAndroidで学ぶ言語が違うので最初はどちらか一つをしっかりマスターすることになります。どちらも作りが全く違うので両方できるエンジニアは非常に重宝されます。Engineという開発フレームワークを使ってゲームを作ることがほとんどです。Unityは非常に使われており、ゲームだけでなく、VRのアプリを作るときにも使われているので今後大きく伸びる可能性があります。実装することになります。スマホゲーム開発ではプログラミング言語だけでなく、3Dに関する知識も必要になりますね。ゲームが好きでこれからゲーム開発に携わりたい人は開発フレームワークの使い方、プログラミング言語、3Dについて学習する必要があります。AIエンジニアAIは今もっとも注目されている分野ですね。多くの分野があります。人材が不足しているといった状況のため非常に高収入な職種となっています。言語はPythonを使うことがほとんどです。目標が決まったらどう学ぶか上記を踏まえて目標に対して自分がどのエンジニアになりたいか決めることができたでしょうか?目標を決めてどのエンジニアになるか決めることが一番最初の重要なポイントです。ここを間違うと、目標と関係ないものを学習してしまったり、学習していてもモチベーションが維持できずに挫折してしまいます。目標が決まった人は後は実行に移すだけですが、未経験からプログラミングの学習を始めるときの最大の挫折ポイントにどうやって学習したらいいのか分からないということがあります。経験者に学べまずはこれですね。何事も経験者に教わるのが一番です。未経験者が一人で学んでもかなりの確率で失敗するか、もしくはものすごく時間がかかってしまいモチベーションの維持が難しくなります。私は会社の研修で3ヶ月ほどじっくり時間をかけることで基礎を学びましたね。研修は講義形式で受講生100人に対して講師が4、5人と少なめでしたが、研修に参加している同期にはプログラミング経験者がほとんどで、分からないことがあればすぐ聞ける環境でした。この環境こそがプログラミングを効率的に修得できるポイントです。初めの頃は分からないことをググって検索してもなかなか答えを見つけることができなかったり、そもそも何が問題なのか分からないので調べようがない状況になったりします。いう時に近くにプログラミングを理解していてすぐに聞ける環境で学んでいると効率がグッと上がって、密度の高い学習することができます。未経験者が最速で学ぶには会社にどうにかして潜り込むか、ちゃんとしたプログラミングスクールに通った方がいいです。独学でプログラミングをマスターしてしまう人もいますがほとんどの人はできないのと、できてもかなり時間がかかってしまいます。習うより慣れろ学び始める中でなかなか理解できないことがたくさん出てきていると思います。クラス、インスタンス、型、オブジェクト指向、データベース、サーバなどなど。プログラミングを学び始めた初期は知らない単語だらけで何のことを言ってるのか分からないと不安になってモチベーションは下がってしまいますよね。分からないことだらけだからと言ってプログラミングができないわけじゃないので安心してください。今現在エンジニアとしてバリバリ働いている人でも自分が普段携わらない分野の言葉は知らない単語ばかりなのです。学び始めたばかりの人が理解できないのは当たり前だし、全く気にする必要は全くありません。最初から全てを理解する必要はありませんし、分からないことはそういうものなのねという感じで飛ばしてしまって問題ないです。学習を続ける中でそういうことか!と理解できるタイミングが段階的に訪れます。プログラミングに没頭しろ最後は圧倒的に没頭するのみです。学び始めた初期にどれだけ没頭して成長できるかがプログラミングの習得スピードに影響します。プログラミングスクールに通ったり、会社の研修だけでなくそれ以外の時間もプログラミングの勉強に没頭しましょう!私ももれなくこれを実践してました。起きている時間のほとんどをプログラミングに費やしましょう。プログラミングに特別な才能は何も必要ないですが、唯一あるとすれば熱中できるのが一番の才能です!けど、プログラミングを学び始めて1年経ったとしても一人前かと言われると全くそんなことはありませんし、やればやるだけ奥が深いなと思う仕事です。オリジナルサービスを作れ最後に圧倒的成長する方法としてオリジナルのサービスを作ることを強くお勧めします。プログラミングを勉強してるだけだといつまで経ってもエンジニアにはなれません。学んだことを実践してこそ自分の知識がしっかりとスキルとして身につきます。勉強していればプログラミングを学び始めて2ヶ月目くらいからサービスが作れるようになります。1つサービスが作れればあとは同じ仕組みでいろんなサービスが作れるようになるので自信に繋がるし、採用にも強力なアピールポイントになります。採用する側からしても、プログラミング歴が短くてもオリジナルサービスの開発経験がある人を採用するというのはよくあることです。チーム開発も経験できるとなおいいですね。チームメンバーで得意不得意なことを補いながらサービスを開発するのは非常に楽しいですし、自分のスキルが他の人と比べてどのくらいなのか客観的に見ることもできます。まとめもし自分が未経験からプログラミングを学ぶなら下記のことを実践します!まずは明確な目標を決める経験者に学ぶ習うより慣れろプログラミングに没頭するオリジナルサービスを作るこれをしっかり実践することで確実にエンジニアとしてキャリアを進めることができます。あとは実行あるのみです!質問がある場合はTwitterかこの記事へコメントしていただければすぐに返します!最後まで読んでいただきありがとうございました。仮想通貨、ブロックチェーンは技術的に非常に面白く、今後の大きなトレンドになる可能性を秘めています。ブロックチェーンに理解のあるエンジニアが足りていないのが現状です。今後この分野への需要が高くなってくるので今のうちから学んでおくと重宝される人材になれると思います。ブロックチェーンエンジニアになりたいと思っている方は下の記事も読んでみてください。スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。Incにブロックチェーンエンジニアとして入社。コメントをキャンセルメールアドレスが公開されることはありません。'ServiceWorkerRegistration'"が出た場合の対処方法RECOMMENDこちらの記事も人気です。