【初心者】プログラミング基礎用語を紹介

プログラミング未経験者からするとIT企業は未知の世界に感じるかもしれないので、今回はIT業界でよく利用される業界用語について紹介していきます。

 

【プログラミング】転職に関する8個の疑問

システムエンジニアとプログラマーの違いなど

システムエンジニア プログラマー インフラエンジニア
要件定義⇒設計まで
※要件定義⇒設計⇒製造⇒試験まで
やることもある
製造⇒試験まで サーバーやセキュリティの運用、保守を行い、
ネット環境を提供する仕事もあります。

システムエンジニアとは?基本的には大きく分けて三つですが、インフラエンジニアの中にも「サーバーエンジニア」「ネットワークエンジニア」「セキュリティエンジニア」に分かれています。

僕も以前システムエンジニアとして働いていましたが、設計⇒製造⇒試験まで担当していました。

システムエンジニアとプログラマーの違いで検索すると、システムエンジニアが作った設計書を元にプログラマーがシステムを構築するように記載されています。
ですが、現場によってはシステムエンジニアが要件定義⇒設計⇒製造⇒試験まで担当する事もあります。

新人システムエンジニアが最初から要件定義する事は難しく、プログラムを組める状態でないと「要件定義⇒設計」が難しいです。

システムエンジニアとプログラマーでは業務内容が異なることは事実ですが、システムの現場によっても業務が異なるのも事実です。

プログラマーとは?

プログラマーはシステムエンジニアが作成した設計書を実現するため、プログラミングを行います。

設計書を元にプログラミングし、作成したものにバグがないかを確認するまでが業務内容です。

僕はプログラマーになったことはありませんが、製造⇒試験まで行いました。

インフラエンジニアとは?

インフラエンジニアとは、システムエンジニアやプログラマーとは業務内容が異なります。
各エンジニアがどのような業務を行っているかをまとめました。

サーバーエンジニア

サーバーの構築や運用、保守を行います。サーバーは24時間稼働してる事が多く、ネットワークエラーが発生した際に迅速に対応しなくてはいけません。

ネットワークエンジニア

電子機器をネットワークに接続し、設計・構築・運用します。
設計書を元に機器を接続させてネットワーク環境を構築します。

セキュリティエンジニア

大企業のWebサービスは24時間利用できますが、その分セキュリティ面でも24時間攻撃可能な状態を意味してます。

セキュリティ機器を導入し、顧客のデータを安全に守る大切な業務です。

システムエンジニアもプログラミングスキルが必要

システムエンジニアの定義は「要件定義⇒設計」ですが、プログラミングの知識は必須です。

プログラミングより設計書の方が難しい

僕個人の感想も入ってますが、プログラミングより設計書の方がかなり難しく感じました。

設計書の作成は、現場のシステムを理解しながらどのようにプログラムを組むかを考えなくてはいけません。

料理でいうと、料理は全くできないけど、栄養価の高い定食の献立を考えるようなイメージ

未経験からプログラミングスキルを上げる方法

未経験からでもシステムエンジニアやプログラマーを募集している企業もあります。

僕は文系の大学生で、プログラミングの存在を知っているくらいでしたが、システムエンジニアとして働いていました。

実際に僕が先輩社員から聞いた話で、「前職は営業だけど転職でシステムエンジニアになれた」方もいました。

IT企業は人材の入れ替わりが比較的激しいので、求人サイトを見るといろんな会社が掲載しています。

僕は求人サイトを複数登録していましたが、未経験でもOKな企業は特定の求人サイトしか掲載してないこともあったので、複数登録しておきましょう。

プログラミングに関する用語

IT業界にも専門用語があるので、各用語を簡単に紹介します。

データベース(SQL)

データベースとは、顧客のデータや企業のデータを格納している場所のことを指し、SQL文を利用することで取得したいデータを命令できます。

私たちが普段利用しているスマホやネットショッピングサービスなども、企業のデータベース上で管理されています。

デバッグ

プログラムは1秒間の間に数千行のソースコードを実行できますが、デバッグを利用すると途中で実行を止める事もできます。

実行を途中で止めることでプログラムのバグをより簡単に探せます。

プログラムテストする際は必須の確認方法です。

コンパイル

人間が記述したプログラミング言語を、コンピューターが分かる言語に変換する作業です。

例えば「if num = 5;」を「01110101010」のような感じに変換します。

JavaやC言語はコンパイルが必要ですが、Pythonのようにコンパイル不要なものもあります。

ビルド

人間が書いたプログラミング言語を実行可能ファイルやパッケージにすることを指します。

実際のシステムは複数のファイルから一つのシステムとして成り立っています。

一つだけコンパイルしてもシステムは正常に動きません。

複数のファイルをコンパイルし、一つのパッケージにまとめることで機能が正常に動くシステムもあります。

ロールバック

プログラムエラーによりデータに間違いがあった際、エラーの前の状態にデータを戻すことを指します。

データベースはUpdateしても最終的にコミットしなければデータは保存されません。

コミットする前にロールバックを行えば、データを実行前に戻せます。

その他

プログラミング以外にも開発環境や、知っておいたほうが良い用語を紹介します。

IDE(統合開発環境)

アプリケーション構築のためのソフトウェアの事で、ソフトウェアを作るためのソフトウェアだと認識してくれれば問題ありません。

IDEを利用することで、間違った構文をコンパイル前に教えてくれたり、変数や関数の色分けをしてくれるので、複雑なプログラムでも見やすいです。

昔の人たちはメモ帳でプログラミングをしていました。とてもすごいですよ…僕だったら挫折してますね…

SES

システムエンジニアリングサービスの略で、客先の現場でソフトウェアやシステムの開発・保守・運用を行います。

僕も文系大学卒業後SESとして働いてました。

AWS

Amazon Web Servicesの略で、Amazonが提供してるクラウドコンピューティングサービスです。

簡単に説明すると、個人でもAWSを利用すれば様々なシステムを世に公開できます。

開発環境

Javaなどは購入して起動しただけではコンパイルもできなければ、実行もできません。

ネットから専用のインストーラーをダウンロードして実行することで、Javaを実行できる環境を作れます。

©Copyright2022 FICH-LABO.All Rights Reserved.