ブログ

Blog

エンジニアがつい「みんな知ってる体」で使ってしまう技術用語をふんわり解説[初級編]

エンジニアがつい「みんな知ってる体」で使ってしまう技術用語をふんわり解説[初級編]

まえがき

書いた人について

はじめまして & おひさしぶりです🤗

「わからない」の気持ちがわかるエンジニア、のえぞうと申します。
北海道で育ち、大学で本州に出た後、また北海道に戻って参りました!

未経験で辛かったこと、理解するのが難しかったこと、たくさんありました。

この記事を読んでくださる皆様のお幸せとご活躍を願い、ほんの少しでもお役に立てれば、なまら(北海道弁で「とても」の意)嬉しいです。

経緯

今回の記事を書くことになったきっかけは、ある日、社内の業務改善のためにGASアプリケーションの制作メンバーが募集されたことでした。

1番乗りで立候補していたのは、なんとエンジニアではなく営業担当の方。

日頃から営業さんとエンジニアが、互いにもっと理解を深める必要があると感じていた私は、共同制作を提案しました!

エンジニアと営業さんが一緒にアプリを作ることは、相互の業務の理解を深める絶好のチャンス!だと思ったためです。

会話をしていく中で、「営業さんはこういうワードが理解しづらいんだなぁ」と感じる場面がいくつかありました。

今回はその中でも特に
認識齟齬が起こりそうなキーワードをピックアップして紹介・解説したいと思います!

対象読者

  • 開発業務未経験の営業さん
  • クライアントや営業さんと会話するとき、わかりやすく伝えられないと悩むエンジニアさん

概要

エンジニアとエンジニア以外の方、両者が知っておくとより円滑なコミュニケーションが可能となる技術的なキーワードを10個選定し、エンジニア以外の方向けに解説します。

エンジニア以外の方に向け、正確性より言葉のイメージを掴んでいただくことを目的として記載いたしました。
有識者の方々にはところどころに違和感があるかも知れませんが、「こういう説明のしかたもあるんだな」くらいでお読みいただければと思います。

キーワード10選

キーワードをクリックすることで、プチ解説が表示されます。

1. 環境

ハードウェアとソフトウェアの両面で使用される言葉です。広い意味を持ちますので、混同しないよう注意しましょう。

2. プログラミング言語

言語によって様々な特徴があります。

  • 実行速度
  • ドキュメント(説明書)量
  • 言語を扱えるエンジニア数
3. 変数と定数

変数も定数も「データの入れ物」ですが、変数は何度でも値を格納できるのに対し、定数は一度のみです。

4. 関数(function)

関数とは処理のまとまりのことで、データを受け取り、処理を行い、データを返却します。

5. インデント

可読性において重要な役割を果たします。

6. my○○, Hoge, Foo, Bar

サンプルコードにおいて、特に意味のない名前文字列に使用されます。

7. コード中のコメントの必要性

処理の実行には影響しませんが、開発時のメモや他者の理解を助けるために記載します。

8. 命名規則

変数や定数、関数などの命名は開発者が行い、ルールを守る必要があります。

9. フレームワーク

アプリ開発に必要な機能や枠組みが用意されたものです。

10. ライブラリ

言語をより開発しやすくするカスタマイズされたプログラムです。


解説

以下にキーワードの解説を記載します。プチ解説より少しだけ詳しく説明していますので、必要に応じてご活用ください。

1. 環境

環境といっても広い意味がありますが、本記事では3つの意味を解説します。

広い意味を持つため注意しましょう。

  • ハードウェア環境
  • ソフトウェア環境
  • 開発環境と本番環境

1.1 サーバの種類(ハードウェア)

エンジニアが開発したプログラムを配置し、ユーザからの要求に応えるマシンをサーバと呼びます。社内に配置することをオンプレミス、他社サーバを使うことをクラウドといいます。代表的なクラウドにAWSがあります。

1.2 開発するための環境(ソフトウェア)

OSや仮想環境、使用マシンのスペック、プログラミング言語などを指します。関連キーワードとして「アーキテクチャ(構造、構成)」があります。

1.3 開発環境と本番環境

  • 開発環境:壊れても問題ないテスト用環境
  • 本番環境:実際にユーザが使用する環境

テスト合格後に本番環境へ反映することをデプロイリリースといいます。

2. プログラム言語

数多くの言語が存在し、それぞれに特徴があります。適切な言語を選定して使用します。

実行速度、ドキュメント量、扱えるエンジニア数などを踏まえて選びます。

3. 変数と定数

変数:何度も代入可能な入れ物
定数:一度だけしか代入できない入れ物

入れ物は宣言時に開発者が選び、言語ごとにルールがあります。

4. 関数(Function)

処理のまとまりのことで、データを受け取り、何らかの処理を行い、データを返却します。

関数化のメリット:可読性向上、影響範囲の限定
引数や戻り値のない関数もあります。

5. インデント

コードの文頭スペースはインデントと呼び、可読性を高めます。言語によっては実行に必要な場合があります(Pythonなど)。

6. コード中のコメントの必要性

コード中に文章を残すことで、他者の理解を助けたり、自分のメモとして使われます。実行には影響しませんが、環境によっては注意が必要です。


// これはコメントです
function example() {
    // 処理をここに書きます
}

7. my○○, Hoge, Foo, Bar

サンプルコードで意味のない名前や文字列の例:


myFunction() {
    // 何らかの処理
}

int hoge;
string foo;

8. 命名規則

言語やチームでルールが定められています。キャメルケース、スネークケースなどの種類があります。


// キャメルケース
function getValue() {}

// スネークケース
let array_of_example = [];

9. フレームワーク

開発に必要な機能や枠組みが用意されており、開発コストを抑えられる場合があります。選定基準に経験、情報充実度、価格、環境などがあります。

10. ライブラリ

言語をより開発しやすくするためのプログラムです。既存の機能を借りるイメージで使用します。

あとがき

本記事では、会話で挙がった技術的なキーワードを中心にご紹介しました。ここまでお読みいただき、ありがとうございました!

以上、のえぞうでした。したっけね~!(北海道弁で「それじゃあ、また」の意)

BTMに少しでもご興味を持っていただけましたら、ぜひBTM採用ページを覗いてみてください。

  • SNS
  • 投稿日
  • カテゴリー

    BTM Useful