エンジニアがつい「みんな知ってる体」で使ってしまう技術用語をふんわり解説[初級編]
![エンジニアがつい「みんな知ってる体」で使ってしまう技術用語をふんわり解説[初級編]](https://btm-hp-wp-bucket.s3.ap-northeast-1.amazonaws.com/wp-content/images/9.png)
まえがき
書いた人について
はじめまして & おひさしぶりです🤗
「わからない」の気持ちがわかるエンジニア、のえぞうと申します。
北海道で育ち、大学で本州に出た後、また北海道に戻って参りました!
未経験で辛かったこと、理解するのが難しかったこと、たくさんありました。
この記事を読んでくださる皆様のお幸せとご活躍を願い、ほんの少しでもお役に立てれば、なまら(北海道弁で「とても」の意)嬉しいです。
経緯
今回の記事を書くことになったきっかけは、ある日、社内の業務改善のために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