Web系エンジニア志望へ 挫折ってなに? プログラミングの挫折

学生時代にC言語の基礎で挫折し
2018年3月プロゲートとTwitterを始めてプログラミングをしています
HTML&CSS→Ruby→Rails→php→JavaScript&jQuery→LaravelとWordPressって感じで勉強しています
Railsはチュートリアルの途中でやりたいのはphpだなと思い変更しました

イメージとしては
職業エンジニアを目指している人が挫折と感じてもそうじゃないんじゃないか?って思ったのを共有したいと思ってます

現在Web系のエンジニアを目指していてプログラミングを挫折してしまいそう
またはプログラミングが向いていないんじゃないかと思った方はすこし目を通していただけたら、なにか心境が前向きに変わったらうれしいです
プログラミングの挫折率90%って本当なのかと

ここからが本題

エンジニアという言葉は特に気にしないでください
WEB=Railsって意識をぶっ壊して

一言でWeb系のエンジニアいっても色々あると思います

・Webデザイナー:視覚でユーザーを呼び込んだりデザインを担当する
・フロントエンドエンジニア:ユーザーがわかりやすい、使いやすいとユーザーの近くを担当する
・サーバーサイドエンジニア:データのやりとりなどのプログラムを担当する
・インフラエンジニア:サーバーの管理やセキュリティ、ネットワーク系統を担当する
・フルスタックエンジニア:上記の全てを一人で行う

            大まかに5つに区分されると思います


            恐らく多くのWeb系のエンジニアを目指す人はHTMLとCSSから練習し始めたんじゃないでしょうか
            ・HTML:Webページの構造をつくる
            ・CSS:HTMLの装飾を行う
             と この2つは必ず必要で見栄え、視覚的要素を担当します
             これだけで簡単なWebページが作れます
            正直この知識があれば後はWordPressの本をしっかり読みこめばWordPress関連のWebページ作成の仕事をできるようになるはずです
            HTMLとCSSの知識でデザインをカスタマイズしたりできます
            ログインや買い物かごなどプラグインという機能を詰め込んだ道具を使えば
            簡単なショッピングサイトや企業の紹介、旅行会社などの予約システムなどを作成できます

            これだけでWebページ作成の仕事ができるといっても良いと思いますフリーランスの案件だとWordPressが多い模様です



            このHTMLとCSSの前に
            どんなWebページの見た目にするかを考えるのがWebデザイナーの役目です


            デザイナーといっても頭で考えてデザインを閃きそれを絵などにするわけではなく
            わかりやすい機能の説明、ユーザーの目を引くデザイン、読みやすいフォントのサイズや書体など細部まで勉強して行います
            参考としてアップル公式ページ

            あなたがHTMLとCSSを学んだならデザインの知識を身に着けることを頑張れば
            デザインの提供するデザイナーよりもアドバンテージがあり自分で作成できるようになることで
            ランディングページ(LP)と呼ばれるユーザーを集客するページを作成することができるようになりクラウドワークスなどで募集されるランディングページ制作の仕事ができるWebデザイナーになれるでしょう
            (Photoshopやイラスト作成などの技術の習得も必要かもしれません)



            デザインからの流れでフロントエンドエンジニアについて説明したいと思います

            上記したユーザーのわかりやすい、使いやすいを担当するプログラマーで
            Twitterの視覚的にわかりやすいツイート入力画面

            大手販売サイトのAmazonなどの商品検索や横にスライドさせて商品を選んでもらえるような作り
            などを担当する場所です
            HTMLとCSSでWebページを作成してjQueryなどで動きを付けたりすることでユーザーにつかいやすい+わかりやすいを提供しています
            HTMLとCSS+jQuery(JavaScript)とプログラミングの要素が入っています
            もしあなたがHTMLとCSS更にjQuery(JavaScript)の技術を身に着ければ
            フロントエンドエンジニアと言っても良いでしょう
            フロントエンドエンジニアとして仕事ができると思います


            フロントエンドエンジニアに続いてサーバーサイドエンジニアについて説明します

            サーバーサイドエンジニアはユーザーが入力したものを処理することを担当としています
            入力したものをデータとして登録や出力を行う担当です
            Amazonで言えばショッピングカート機能
            Twitterで言えばツイートした内容の保存とタイムラインに表示、フォロワーなどの機能などを作成する担当です

            Webエンジニアと呼ばれるのはこのサーバーサイドエンジニアを思い浮かべる方が多いと思います
            Rubyやphpなどプログラミング言語を駆使して多くの機能を作成する担当です
            挫折率が高いのがこのサーバーサイドエンジニアじゃないでしょうか
            RailsやLaravel、Djangoなどをこなして実務を経験することでサーバーサイドエンジニアとなれるでしょう


            続いてインフラエンジニア


            目に見えないところで頑張っている担当で
            セキュリティのチェック、データベースの管理やバックアップ
            ネットワーク障害など裏方的場所を担当します
            大規模なサーバールームのイメージ
            現在はAWS(Amazon Web Service)などを使用しているところや
            XServerなどサーバーを借りて利用している企業もあると思いますが
            自社でサーバーやデータベースを管理している企業ではこのサービスを提供するサーバーが動かなければどうすることもできません
            Twitterでバルスと同じタイミングでツイートするとサーバーが処理できずダウンしてしまう時などの対応が必要な裏方のネットワークなどの担当です
            ここは専門的場所でHTMLなどよりはサーバーサイドのデータベース管理の知識などネットワーク、セキュリティなど専門職の強い担当です


            最後にフルスタックエンジニア


            フルスタックエンジニアは上記の4つのエンジニアが行うことを一人で行うエンジニアのことです
            フリーランス系の人、ポートフォリオを公開している方はこれにあたると思います
            インフラエンジニアの部分サーバーを借りたりAWSを使用したりで恐らくフルスタックエンジニアと言えど管理していないかもしれません
            セキュリティ問題などの対策は必要なのでその辺の知識は必要でしょう


            5つのWebエンジニアの区分を紹介しました
            あなたが目指しているエンジニアはプログラミング挫折じゃなくなるかもしれません
            プログラミングをあきらめようとしている方は今一度考えて見ても良いのではないでしょうか
            好きなものに関わりたいなら諦めるな!

            コメント

            人気の投稿