*

未経験者がWEBエンジニアとして就職する前に身につけておいたほうがよいスキル一覧

公開日: : 最終更新日:2015/10/01 WEB全般, 講義 , , ,

夕方、用事から帰ってきてから寝てしまったので寝れなくなっている松本です。

寝れないので今日はもう1本記事を書きます。例によって技術的なことではなくて雑談ネタですが。

WEBエンジニアとして就職する場合、大体求人案件には「実務経験2年」などと書かれていることが一般的です。

とはいっても未経験の方は経験そのものがありませんから実務未経験者はどれくらいのことができればよいのか?といったことがわかりません。もちろん企業によって違いますが、私の経験からこれぐらいのことができれば最低限の仕事はできるだろうという基準を書かせていただきます。

自分はPHPですが、その他の言語でも多少は参考になるのではと思います。

プログラミング言語

配列の基本操作

このブログでも何回もいいましたが超重要です。プログラミングは結局のところどこからかデータをひっぱってきて、加工して、どこかに送るということを延々とやります。

そのデータはほとんどの場合、配列を使いますので配列の操作が自由自在にできることが大前提です。これはおそらく例外はないと思います。

基本的なエラー消去

プログラミングを学習し始めていると、最初のうちはほとんどまともに進みません。エラーがぼこぼこでてきてしまうからです。そういったエラーをすばやく消せないと作業そのものがすすみません。

もちろん何年仕事をしていてもはまってしまうエラーはでてきてしまうのですが、基本的なものであればすぐに潰せることが必須条件でしょう。

ファイルの入出力、データベースへの入出力

外部とのデータ連携ですね。多くのWEBアプリはよほど単純なものでない限り、外部にデータを保存しておきます。

多くの場合はデータベースですが、テキストなこともあります。ファイル(またはデータベース)からデータを取り出して、加工し、逆にこれらに保存するといった操作はスムーズにできるようになっておきましょう。

デバッグ処理

アプリを作るときに疑問に思った部分で適切にデバッグをできるか。PHPだとvar_dumpですね。これができないと調査そのものができませんので、絶対に見につけておくべきスキルです。

基本的なオブジェクト指向の理解、クラス設計

ある程度の規模のWEBアプリになってくるとDB、ログイン、メール送信、セッション管理など様々な機能が必要になってきます。これらをうまく使い分けるにはオブジェクト指向を理解し、クラスを設計することが必須になってきます。

強引に1つのファイルだけで書くこともできますが、非常にソースがみにくくなります。

初心者にとってはオブジェクト指向はかなり鬼門で多くの方がここでつまずきます。しかし、オブジェクト指向を使うと使わないとではできることや保守性(メンテナンスのしやすさ)が大きく変わってきますので必ず使えるようになっておきましょう。

機能とファイルの分割

クラスの設計にも通じますが、複雑なアプリであれば機能ごとにクラスを作り、ファイル自体を分割します。役割ごとにファイルを適切に分けられるか。フレームワークを使っていなくても、役割ごとにざっくりとソースを分割できるようになって起きましょう。

セッション

ログイン情報などPOSTと違って比較的長い期間のデータを取り扱う場合、セッションやクッキーを使うことがあります。POSTとセッションを適切に使い分けられるか。

 

以上、言語のスキルで言うとざっくりいうとこんなところかなという気がします。

データベース

現在のWEBアプリですとほぼデータベースは必須ですね。

MySQLかPostgresSQLが使えれば問題ないと思います。片方の操作に習熟していればもう片方の操作もそれほど問題ないでしょう。

データベースの作成、ユーザーの作成、テーブル作成

これは基本ですね。コンソールからログインして、データベース→ユーザー→テーブルを自在につくれるかどうかです。

int,varcharなど基本的な型の理解

テーブル設計などに通じますが、型を適切に選べるか。とはいっても最初はint,varchar,text,timestamp,datetime,tinyintぐらいでしょう。これぐらいの使い分けが適切にできるかですね。逆に言うと最初はこれぐらいが使えればなんとかなります。

select,insert,update,deleteなどの基本構文操作

特にselectは最頻出なので何もみなくてもできるようになりましょう。またSUMやAVERAGEなど基本的な算術計算もできるようになっておいたほうがよいです。

複数テーブルの使用

リレーションを使って複数テーブルを使ったアプリを作れるか。ざっくりで良いので仕様を把握して1:Nを理解して複数のテーブルに分けられるようにしておきましょう。

バックアップ、リストアができるか

ダンプしてDBファイルを別サーバーに移行できるかどうかですね。ほとんどの場合まずは自分のローカルPCでアプリを作っていると思いますので、これらを別環境にスムーズに移行できるようにしておきましょう。

ネットワーク、サーバー

最初は自分のPCで作業をしていると思いますが、リリースする際は当然サーバーにアプリを配置することになります。それが円滑に行うための基本的な知識と処理になれておきましょう。これらの作業はVPSなどを借りて作業をすることで身につくでしょう。

サーバーサービスの分類

ロリポップなどのいわゆる通常のレンタルサーバー業者、VPSサーバー、クラウドサーバー、各種サービスがどのように違いどのような用途でつかわれるのかを理解しておきましょう。

IPとドメイン、DNSの知識

WEB上の住所というのはどうなっているのか。なぜWEB上でhttp://www.xxxx.jpなどとうつとWEBサイトを見ることができるのか。

基本的なLinuxコマンド

就職する前にファイルの操作がCUIで問題なくできるようになっておきましょう。特にls,cd,mv,cpといったコマンドは最頻出であり、数学をやるときの九九のようなものです。Windows(GUI)での操作が不便に感じられるぐらいCUIになれればOKです。

ユーザー権限とパーミッション

Windowsと違いマルチユーザーですので、権限とパーミッションの理解は最重要です。初心者がサーバーにあげたのにうごかない・・ときは大抵ここがネックになっています。適切に設定を行い、動かせるようになっておきましょう。

基本的なサービスのインストール

yumでいいので、WEBサービスをリリースする際に必要なソフトウェアをインストールできるようにしておきましょう。最低限,Apache,PHP,MySQLがインストールできて操作できればなんとかなります。

ソフト操作

エンジニアとして仕事をしていると業務に必要な様々なソフトウェアが必要になってきます。それらを使って日常的な操作が不自由ないかどうかは作業が円滑にすすむかに大きくかかわってきます。

エディタ

特にエディタは毎日ずっと使うものですので、作業が円滑にできるかどうかは時間に大きくかかわってきます。下記操作はできるようになっておきましょう。エディタによってはないものもあります。

特に置換系はできると作業スピードがかなり変わりますのでしっかりと覚えておきましょう。

  • 矩形選択
  • 入力補完処理
  • 特殊文字表記(全角、タブ、改行など)
  • 文字置換(正規表現を含むもの)
  • 複数ファイルにまたがった置換
  • 基本的なプラグインの導入
  • マクロ操作
  • 各種設定変更

FTP(SFTP)ソフト

有名どころでいうとFileZilaやWinSCPでしょうか。ホスト情報をもらってすぐにログインして操作ができるか。

SSHソフト

TeraTermやPuttyが有名でしょう。私はPoderosaというソフトを使っています。こちらもホスト情報をもらってログイン操作ができるか。

下記セキュリティ設定ができると望ましいです。

  • rootログイン禁止
  • パスワードログイン禁止
  • 鍵認証

上記のスキルを身につけるために

このようなスキルですが、教材を読んで1つ1つ覚えるというのはあまり効率がよくありません。

お勧めするのは掲示板などのアプリを作成し、自分なりにどんどんカスタマイズを加えていくことです。どんなアプリでも拡張していくうちにかならず上記の機能を全て実装しきります。

それが最速でスキルを身につける方法です。初心者のかたはぜひ参考に!

 

関連記事

気を付けよう!個人事業主として働くときのトラブル

最近は開発のほうが忙しく、更新頻度が落ちているのですが、既存の記事を読んでる読者さんが多く、アクセス

記事を読む

プログラミングを独学で身につけるための4ステップ(実践編)

前回の記事ではプログラミングを独学で身につけるための心構え的なお話をしました。 今回は、実際に

記事を読む

作業が遅くてイライラしている方必見!作業スピードを改善するネタ・ツールなど

エンジニアとして仕事をしていますと、「ある機能を実装する最適な方法(設計やプログラムの組み方全般)を

記事を読む

なぜPHPなのか

はじめまして、プログラミングの講師を担当させていただきます、松本と申します。 このたび、株式会

記事を読む

データを扱ってみよう その1(変数)

こんにちわ、松本です。 前回の記事は読んでいただけたでしょうか。私よりPHPに関して知識のある

記事を読む

「初心者が勉強するのに良いプログラミング言語は何ですか?」を真面目に考えてみる

プログラミングをそもそもやったことがない方であれば、タイトルのように「どのプログラミング言語をやった

記事を読む

XAMPPインストール

さて、XAMPPの初歩的な説明とエディタについて説明をしたところで実際にXAMPPをインストールして

記事を読む

PHPで掲示板を作ろう! 掲示板の作成方法 その2

前回の学習 PHPで掲示板を作ろう! 掲示板の作成方法 その1 それでは掲示板の作成方法その

記事を読む

プログラミングを独学で身につけるときに大切な6つのポイント

さきほど「プログラミング」で検索キーワードをかけたら入力補完で「プログラミング 入門」や「プログラミ

記事を読む

条件によって処理を分けよう (if)

おはようございます。松本です。 昨日はひさびさにサイクリングを長時間楽しみました。往復で50キ

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

無料PHPスクール
自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

エンジニアを採用する上で大事なこと

本日はエンジニアの採用について書きたいと思います。最近少し採用に絡んだ

エンジニアが給料を上げる方法を真面目に考えて見ました。

本日はエンジニアと給料の話題について触れて行こうと思います。 エ

エンジニアの「スキル」とはなんぞや

給与が低いことに悩んでるエンジニアへのアドバイスをツイートで見たところ

→もっと見る

  • follow us in feedly
PAGE TOP ↑