未経験からWebエンジニアへプログラミングからサーバーまで一括まとめ

2017年3月28日

おはようございます!!Yuuichi(@WestHillWorker)です。

今日は、プログラミング未経験でWebエンジニアになってみたいと思う方へ向けのポイントをご紹介します。

僕は元々派遣社員としていくつかの会社に業務系のツールを作成したり、社内のSEのようなことを4年半ほどやっておりました。

上流工程(設計・企画)が多くて、もっと物を作りたいという思いからWebエンジニアに5年前に転身しました。

その時入社前に実施したポイントを未経験からの視点も踏まえてまとめました。

スポンサーリンク

Webエンジニアに求められるスキル

Windows上で動く業務系アプリケーションエンジニア(言語例:VB/C/C++/C#等)に比べて、覚えることが多いです。

プログラミング

主なWebの言語

バックグランド言語:PHP/Ruby/Python

フロントエンド言語:HTML/CSS/Javascript

バックグラウンドは、以前PHPが人気でしたが、現在は下火傾向で、その他の言語が注目されてきています。

ただ、WordPressや経歴のある企業さんでは、PHPも断然使われていますので、自分の就職先・やってみたい言語をまずは1つ選んでみましょう。

DB(データーベース)

主なデータベース

MySQL/MongoDB

その他にもDBありますが、自分がやってみたいもの就職先で必要となるものを確認して学習してみましょう。

最初は、MySQLが多くの企業で使われているので、おすすめです。

↓こちらにDBの人気順が掲載されています。
参考今後ますます勢いを増す「開発技術&ツール」を調べてみた

サーバー

主なサーバー

Linux

未経験の方・サーバー上で動くプログラミングをやってないよーって方は、Windows以外のOSは、あまりやられてないかと思います。

この機会に黒い画面をどんどん使って、コマンドを覚えましょう!!

目指せ、コマンド使い!!

入社前にやったこと

プログラミング〜サーバーまで一連を学びました。

今回はバックグラウンド言語は、PHPをベースに説明していきます。

プログラミング学習

ドットインストールで触り部分を学習。

さらに未経験の方ですとCodeCampというオンラインで好きな時間に学習ができるスクールもあり、無料体験もあります。
時間もありきっちり学びたい方は、おすすめです。

また、PHP・MySQL・HTMLで簡単なWebアプリケーションを作成しました。

例えば、サンプルコード付きの書籍を購入して、コードを理解しながらひたすら書く練習。

この時にコードを書くだけではなくて、1行単位で理解しながらやらないとコピペになって理解できてないので、全然勉強になりません。

ある程度、コードを書いて制御文・変数・クラス定義等を覚えてきたら、簡単な掲示板等を自分でアルゴリズムを考えて作りました。

勉強ですので、自分の作ってみたいなと思う機能を時間の許す限り、ガンガン書いて身に付けていくことで「スピード」感が付き楽しくなってくると思います。

データーベース学習

ローカル環境にMySQL等の環境を構築しましょう。

もし、ローカルはやったことあるよー!という方は、レンタルサーバー等を借りて、そこにDBを構築するのも勉強になります。

ローカル環境構築

DBを使うために、ローカルに環境を構築します。

Windows環境の人

XAMPP(ザンプ)を使う

ローカルでWEB開発するために必要な、下記を含んだアプリケーションです。

X・・・クロスプラットフォーム(Windows、Mac OX、Linux)
A・・・Apache(Webサーバー)
M・・・MySQL(データベース)
P・・・PHP(プログラミング言語)
P・・・Perl(プログラミング言語)

インストール・設定は、下記サイトが参考になりますので、ご参照ください。

構築参考XAMPPの使い方と設定

Mac環境の人

MAMP(マンプ)を使う

ローカルでWEB開発するために必要な、下記を含んだアプリケーションです。

M・・・プラットフォーム(Mac)
A・・・Apache(Webサーバー)
M・・・MySQL(データベース)
P・・・PHP(プログラミング言語)

インストール・設定は、下記サイトが参考になりますので、ご参照ください。

構築参考MAMPの使い方と設定

SQLの学習

ローカル環境が構築できったら、MySQLでデータ等を記録したり、取得するためのDBを作成しましょう。

まったくデータベースに関して、よくわからないよーという方、基礎を下記サイトで勉強しましょう。

参考データーベース基礎

最低限覚えておきたいSQL文

・SHOW   ・・・テーブル一覧等を見る
・CREATE ・・・テーブル作成
・DROP   ・・・テーブル削除
・TRUNCATE ・・・テーブル再作成
・DELETE ・・・テーブル内データ削除
・SELECT ・・・テーブルからデータ取得
・INSERT ・・・テーブルにデータ登録
・UPDATE ・・・テーブルのデータ更新
・COMMIT ・・・更新を確定して反映
・ROLLBACK ・・・更新をキャンセル

その他、特にWHERE/GROUP BY/ORDER BYあたりの条件・グループ・ソート文も覚えれたら、データの扱いも慣れてくると思います。

サーバー学習

WEBアプリケーション・サイト等を制作・運営すると必ずといっていいほど、サーバーを触る機会が増えてきます。

業務で使いそうなコマンドを覚えておきましょう。

最低限覚えておきたいコマンド
コマンド 説明
cat ファイル結合・表示して出力
cd ディレクトリを移動
cp ファイルをコピー
exit シェルを終了(ログアウト)
grep 文字列を検索
ls ディレクトリの内容を表示
mkdir ディレクトリを作成
mv ファイルの移動およびファイル名の変更
rm フォルダ・ファイルを削除
vi テキストエディタを起動
ps 実行中のプロセスを表示
su(sudo) ユーザーを変更してシェルを起動
kill プロセスの終了

その他、diff(ファイル差分)・chmod(権限変更)・chown(オーナー変更)等たくさんコマンドはあるのですが、ひとまず上記を覚えて、必要がでてきたら、Google先生に聞きながら知識を広げていきましょう。

コマンドは、使っていくうちに自然と身についてくるのと良く使うコマンドは、どこか資料でまとめておくと作業効率アップにもつながります。

仕事ではファイル消したり(rm)等は、注意しないと大事なファイルを消して、障害につながってしまうので、実行前に先輩・上司等に伺ってから、慣れていないうちは慎重に作業しましょう。

他になにしたら?

就職まで時間がある場合、以下も学習しておきましょう。

1.ソース(プロジェクトバージョン管理)ツール

Git
Subversion

複数人で作業したり、あるタイミングに作っていたプログラミングファイルを戻したり、バックアップとしてサーバーに保存しておくことで、ファイルのデグレ(衝突)・ファイル消失等の問題から開発者を守ってくれますので、個人開発からでも取り入れていきましょう!!

SourceTree/Bitbucketを使えば、無料でプライベート(他の人に公開されない)リポジトリを使うこともできます。

※リポジトリとは、ファイルやディレクトリの状態を記録する場所。

2.Apacheの設定

機能改修等の一部サービス運用業務でしたら、もともとApache設定すみで、そこまで急いで必要ではないですが、スタートアップの場合、サーバー設定が必須になってきます。

早いうちに、サーバー構築時の設定も覚えておきましょう。

参考Apache入門

現在だとApache以外にもngix利用度も上がってきています。

※Apache:Webサーバーのソフトウェアの1つ。

3.フロント言語ライブラリ習得

業務レベルになるとオープンソースなライブラリを使っての開発も増えてきます。
まずは、HTML/CSS/Javascriptの基礎を抑えて、時間がある方は、ライブラリについても学習していただければと思います。

・Jquery

・AngularJS

・React

・Node等

下記に2015年度版の人気ライブラリが掲載されています。

参考人気上昇中のJavaScriptライブラリを調べてみた

ライブラリを使うことで、ソースコード量が減らせたり、コードの書き方もある程度統一できますので、積極的に取り入れましょう。

4.MVCフレームワーク

PHP等の言語では、全部一から作成大変orデザイナーさんと分業しやすいように、フレームワークが多数存在しています。

MVCとは、Model・View・Controllerの略で、処理を3つの役割に分割して実装する手法です。

・Modelは処理のメインロジックやデータアクセスを記述。

・Viewは処理結果として画面表示(HTML出力)を記述。

・Controllerはクライアントよりのリクエストを直接受け取って処理等を記述。

分割してコードの見通し(途中参加でも把握しやすい)を良くしたり、処理を分けて、Viewはデザイナーさんやコーダーさんにお願いして、作業の分担をするのに適しております。

PHP代表的なMVC

・CakePHP

・FuelPHP

・Laravel

・zend framework

・Symfony

・codeigniter

CakePHP/Laravelあたりが、人気もあるのでオススメです。

下記にフレームワーク特集がありましたので、ご参考までに。

参考PHPフレームワーク人気比較してみました!

ここまできたら、時間の許す限り、自分でプログラミングをたくさん書いて、gitにソースを公開したり、どこからでも見えるようにシステムをサーバー上にアップロードしておくと、後々に自分がやった実績として、会社に提示できますので、おすすめです。

人それぞれやり方があると思いますが、ざっとプログラム・データーベース・サーバーの一連を覚えて、Webエンジニアとして活動できると思います。

覚えることも多くて大変ですが、やれることも多いので、頑張ってください。

Webエンジニアになってみて

現在Webエンジニアになって5年が経ちました。

もともと業務アプリ作ったり、がっつり設計して物をゆったりと正確につくるというスタイルでやっていましたが、Webに移ってからは、開発速度も早くて、クライアント・自社が求めているサービスをどれだけスピーディーに的を得て開発できるかというスタイルに変わりました。

他業種からきたエンジニアさんは、最初のうちは、スピード感に慣れるのに時間がかかるかもしれませんが、作りたいものを形にできる能力・作ったものの日々改善する運用能力が身につき、今まで以上に業務レンジが拡大し、自分の成長にもつながると思います。

Web技術促進は早いため、新しいことをどんどん覚えていきたいという人には、とても向いている環境だと思います。

まとめ

今回は、僕のように違う畑からWebエンジニアになりたいという方向けに、僕が実践した内容を記述しました。

入社してから、少しでも自信を持って業務にあたれるように下準備をしっかりしていけたら、仕事も楽しくやっていけると思います。

PHPもさることながらRubyもやってみたいし、これからやったことない言語にも色々積極的に挑戦していきたいと思います。

同じ境遇・これからWebエンジニアを目指す方のお力になれたらと思います。


スポンサーリンク
PAGE TOP