*

未経験者が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つ覚えるというのはあまり効率がよくありません。

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

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

 

関連記事

CMSとは?

先週オフィスにきた新規の受講生の方に「CMSを使いたいので、使い方を教えていただきたいのですが・・・

記事を読む

初心者でもできる!作れる!WEBサービスの開発 その4 総まとめ編

前3回の記事でWEBサービスを作ったお話をさせていただきました。 (前回までのお話し)

記事を読む

あなたのPHPレベルを判定してみよう!未経験者限定スキル判定表

プログラムを勉強していると自分のレベルみたいなものが気になる方は多いでしょう。 私の場合も独学

記事を読む

よく使う処理をまとめよう その2 (関数)

こんにちは。松本です。 最近の私の使命はダイエットです(爆)。 ダイエットはいろいろな方

記事を読む

ドキドキ本番リリース時に大切な心構え

今回はエンジニアにとって大切な本番リリースについて。 本番リリースというのはいままで開発環境(

記事を読む

就活生必見! Webエンジニアになるなら知っておきたい超基本業界用語

本日はWEB業界でよくつかわれる専門用語について私の知っている範囲で書いていこうと思います。

記事を読む

オブジェクト指向

オブジェクト指向 その1 コードを1行も書かずに理解してみる

今回はオブジェクト指向について書きます。 プログラミングを少しでもやった(orやろうと思った)

記事を読む

挫折必至!初心者がやってはいけないプログラミングの学習法 ワースト4

多くの方はプログラミングをどのように身につけたらいいのか・・・ということに関心があると思います。

記事を読む

PHPで掲示板を作ろう!(データベース編) その1 データベースとは

以前、掲示板を作成するブログ記事を書きました。 その1 PHPで掲示板を作ろう! 掲示板の作成

記事を読む

PHP 掲示板

PHPで掲示板を作ろう! 掲示板の作成方法 その3(エラーチェックとファイル書き込み)

今回はPHPのコードの説明です。 掲示板の作成方法についてやります。 えー、前回の掲示板

記事を読む

Message

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

転職エージェントについて

さて、エンジニアとして転職を考えている人であれば転職エージェントを使っ

エンジニアが転職して年収を上げる方法を考えてみました。

えー前回の記事でも書きましたが、2020年2月現在転職活動中です。

2020年のご挨拶

今更ですが、明けましておめでとうございます。 2019年も2本し

自社開発>客先常駐である本当の理由

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

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

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

→もっと見る

  • follow us in feedly
PAGE TOP ↑