こんにちは。こんばんは。おはようございます。

今日はエンジニア初心者が畑違いの仕事からIT企業に転職する際に最低限勉強しておくべき言語以外の知識を解説します。
目次
エンジニア初心者は言語以外にも学ぶことがある
エンジニア初心者は、言語を学べばいいと思っている人が多いんですが、これは大きな間違いです。
エンジニアは言語以外にも学ぶことがあります。
世の中のウェブページやシステムは言語を学んだだけでは作ることができないからです。
- アプリやウェブページを作る環境はどうやって用意しますか?
- 普通はいじれないファイルをいじらなきゃいけなくなったとき、どうやっていじりますか?
- データの管理はどうやってやりますか?
大半のスクールでは言語を学ぶことは充実していますが、それ以外は微妙であることが多いです。
だから、プログラミング言語だけ学んでいても本当の実力は身に付きません。
大学受験は数学だけやっててもあなたの志望校には行けないのと同じように、プログラミングを極めるのであれば、プログラミング言語以外にも学ぶことがあります。
ということで、プログラミング言語以外に学ぶものについて書いていきます。
エンジニアになるために、プログラミングスクールに通って言語を学んでIT企業に転職するのが大体の主流ですが、言語以外にも覚えることはあるので、転職する前にそれらを学んでおけば転職してからの成長具合が半端ないです。
エンジニア初心者が仕事をする前に学んでおくこと
OS
OSとは、OSとは、オペレーティングシステム(Operating Sistem)の略であり、パソコンを動かすコンピュータのことです。
ゲームで例えると、OSはWiiやPlaystatison、NINTENDO64やNintendo Switch、PSPや3DSなどのゲーム機本体、すなわちゲームでいうハードウェアです。
もっと分かりやすく言うと、今僕のブログを見ているパソコン・スマホはOSです。
つまり、
- 電話をかける
- 音楽を再生する
- 写真を取る
- インターネットに接続する
- インターネットを見る
- ソーシャルゲームで遊ぶ
- メールを送受信する
- 現在地を確認する
- 録音する
- WordやExcelで資料を作る
- 目覚ましのアラームをセットする
などの、携帯やパソコンを使ってできる動作・行動・処理がまとまったものをOSと言います。
IT業界に転職するなら最低限知っておきたい代表的なOSは
- Windows
- Mac OS
- iOS
- Linux
- Android
の5つです。
最低限この5つは覚えておけば間違いないです。

windowsはMicrosoft社が、AndroidはGoogle社が、Mac OSとiOSはApple社がそれぞれパソコンとスマホ向けに開発したOSです。
多くの人が持っているスマホやパソコンの中に搭載されているOSは基本的にこれらのいずれかになります。
Linuxとは?
Linuxはプログラミングを学習しない限りはあまり聞き慣れない言葉です。
上記のOSは、基本的にパソコン・スマホに搭載されているので、機械を買わないと、使うことができません。
Linuxは、
- 無料で使える
- 自由にカスタマイズできる
- 主にサーバー専用のOSとして使われる
といった特徴があります。
後で説明する仮想環境を作る時に、よくLinuxが使われます。
仮想環境内でサーバーが作られるため、通常の操作ではその仮想環境内のデータをLinuxを使って操作するからです。
また、自由にカスタマイズすることができ、あなたが作るものにあった専用OSにすることができるので、ポケモンで言うところのメタモンみたいなものです。
ちなみに、プレイステーション2の開発環境はLinuxベースでした。
事実、2009年にPS2 LinuxというLinuxディストリビューション(一般の人がLinuxを利用できるようにまとめたもの)が発売されています。
詳しく知りたい方は、「【初心者向け】3分でわかるLinuxでできることまとめ 10選」を見てみて下さい。
開発環境
開発環境は自分が作りたいアプリやウェブサイトを作るための作業環境です。
これだとまだ分かりづらいので、ゲームで例えます。
例えば、あなたが大乱闘スマッシュブラザーズDXというゲームをやりたいとします。
このときに必要なものは
- テレビ
- ゲームキューブ本体
- ACアダプタ(電源コード)
- ステレオAVケーブル(赤白黄の端子がついているもの)
- 大乱闘スマッシュブラザーズDX本体
- コントローラー
- メモリーカード
ですよね?
このように、開発環境とは自分の作りたいウェブサイトやアプリを作るために用意する環境のことです。
では、実際にあるような作業で説明してみましょう。
例えば、あなたが会社が開発・運営しているサイトを作りたいとします。
そのときの開発環境はどうなっているのかというと、
- OS(パソコン、スマホ)
- ACアダプタ(電源コード)
- インターネット回線
- LANケーブル
- インターネットブラウザ
- デスクトップブラウズ
- テキストエディタ(後で説明します)
- バージョン管理ツール(後で説明します)
- その他必要なアプリケーション
と、大体こんな感じになっています。
開発環境は現場によって様々です。
仮想環境(仮想マシン)
仮想環境もプログラミング初心者の方には聞き慣れない言葉であることが多いでしょう。

サーバーを用意するのは無料ではないので、独自のアプリやウェブサイトを運営している会社はサーバー代を払って運営しています。
しかし、ウェブアプリやアプリを作っているときも極力本番を想定して作ったほうがいいですよね?
そこで、役に立つのが仮想環境(仮想マシン)です。
仮想環境とは、OSの中に作る、ウェブサイト・アプリケーションを本番と同じような環境で作業できるように作る環境のことです。
仮想環境を構築することで、普段OSでやっている作業や処理に加え、サーバーまで作ることができ、世界中に公表しているような状態で開発をすることができます。
また、仮想環境も開発環境の一部に含まれます。
仮想環境は基本的にサーバーとそのサーバーの中のデータをいじるためのプログラムで作ることが多いです。
その、仮想環境で有名なのが以下の2つです。
○VirtualBox(サーバー)とVagrant(サーバーのデータを管理するプログラム)
○Docker
この2つは最近現場でもよく使われていますので、転職前に学んでおいて損はありません。
コマンドライン
コマンドラインとはコマンドプロンプトと呼ばれる黒い画面で入力される文字のことを指します。
コマンドラインとはキーボードだけを使って、OSの中のデータを編集したりする場合に用いる処理の命令方法のことです。
コマンドラインはどういう時に使うのかというと、
- 普段は触ることのできないファイルやデータを扱う時
- 仮想環境を構築する時
- バージョン管理ツールの作業をする時(バージョン管理ツールについては後で説明します)
などに使われることが多いです。
上記の状況の時にコマンドラインが使われることが多いですが、もちろん普段のOS上で行っている動作や処理もコマンドラインで操作が可能です。
例えば、あるフォルダに入っているjpgの写真のデータを削除する場合、普段だったら、右クリックで削除で削除できますが、これもコマンドラインで削除することができます。
なので、基本的にOS上で処理される動作は全てコマンドラインが具現化したものだと考えると分かりやすいです。
実はOSにはこのコマンドラインを使わないと見れないファイルが沢山あります。
なぜ普段は見れないファイルになっているかというと、間違って削除したりしてしまったらOSが動かなくなってしまったり、日本語入力ができなくなってしまったり、OSが壊れてしまうからです。
この危険なファイルを1つ削除してしまうだけで、OSが動かなくなってしまったりします。
そのため、普段はその危険なファイルやフォルダを壊されないように隠しているんです。
こういう理由で普段は見れないようにしてあります。
しかし、現場では、コマンドラインを使用しての作業がかなりあります。
コマンドラインは現場でかなり使うので、プログラミング言語と同時に学んでいきましょう。
エディタ
エディタはHTML/CSSやPHPなどのプログラミング言語を書くためのアプリです。
人気のエディタだと、
- Atom
- Visual Studio Code
- Sublime Text
などです。
なぜエディタが必要かと言うと、エディタに書いたプログラミング言語をコンパイルという、コンピュータ言語に変換して、コンピュータが読み込んでくれる処理が必要だからです。
つまり、エディタとはドラえもんのひみつ道具でいうところの「ほんやくコンニャク」です。
ほんやくコンニャク
コンピュータも人間のようにコンピュータ同士でコミュニケーションを取るための言葉を持っているんです。
そのため、プログラミングを作る人とコンピュータがコミュニケーションを取るためにエディタが存在します。
データベース
データベースもプログラミングを学ぶ前でも何らかの理由で聞いたことがあることでしょう。
これをTwitterで説明すると、

など、沢山のアカウントが持っている情報を管理するものです。
つまり、データベースとはゲームキューブでいうところのメモリーカード内のデータです。
メモリーカードは様々なゲームのデータを保管できます。
そして、今度は以下の2つのゲームを考えます。
○大乱闘スマッシュブラザーズ
○マリオカートダブルダッシュ!!
この2つのゲームはそれぞれ情報を持ってます。
スマブラなら、

などのデータを持っています。
マリオカートなら

などのデータを持っています。
このように、様々なウェブサイトやアプリケーションでは、様々なデータを管理する必要があるので、データベースを使う必要があるんです。
データベースはSQLでいじる
そのデータベースをいじるための言語というのが、SQLです。
有名なところだと、
○MySQL
○PostgreSQL
○SQLite
などが有名です。
上記に書いたように種類があるので、それぞれの特徴がもちろんあります。
バージョン管理システム
バージョン管理システムは作ったプログラムの編集履歴を管理するものです。
このバージョン管理システムを使うことで、自分がいつどのタイミングでどのプログラムのどの部分を編集したかを把握することができます。
例えば、一度変えた編集が後で変更になったとしても、履歴が残っているので、簡単に編集を元に戻すことができます。
Gitがこれにあたります。
今の時代、バージョン管理システムを採用している現場が殆どです。
なので、今の時代バージョン管理システムの使い方を覚えることは必要不可欠です。
バージョン管理システムは現場で学ぶことでスキルも身についていきますので、現場に入ったらしっかりと学びましょう。
エンジニア初心者は転職前の独学がかなり大切
以上がプログラミング初心者が絶対知っておきたい基礎知識です。
エンジニア初心者は転職をして仕事をする前の言語以外の独学が大切です。
仕事をし始めてからの理解力がしないのとするので天と地ほどに差があります。
最低でもこの7つは身につけておきたいところです。
フリーランスを目指していようが、そうでなかろうが、今回紹介した7つの知識はエンジニアの必須スキルです。
最高のエンジニアライフをスタートするために、万全の準備を整えてIT企業に転職しましょう。
コメントを残す