1. 余談ですが.fm
  2. 81. ソフトウェアエンジニアの..
2020-11-07 15:58

81. ソフトウェアエンジニアの種類

spotify apple_podcasts
はい、第81回は我々ソフトウェアエンジニアにも様々な職種の人がいるよー、というお話しになります❗️

一言でエンジニアと言っても、扱うもの、専門とすることは全く異なりますし、各ポジションがとても大事で、相互に支え合ってシステムやアプリケーションというものは作られ、動作しています😊

それらを知っていただければ嬉しいなーと思い、収録しました❗️

ではでは(=゚ω゚)ノ


#トーク #雑談 #ソフトウェアエンジニア #ハードウェアエンジニア #フロントエンドエンジニア #サーバーサイドエンジニア #UXエンジニア #スマホアプリエンジニア #インフラエンジニア #SRE
---
stand.fmでは、この放送にいいね・コメント・レター送信ができます。
https://stand.fm/channels/5e70dd5881d4e84e1ff1cab4
00:05
はい、みなさんこんにちは。株式会社ゆめみでチャレンジ取締役をしております。 キースこと桑原です。
Web 業界のなんでも雑談室へようこそ。この番組ではWeb 業界に関することや関係ない雑談など様々な情報を発信していきたいと思います。
第81回ですね。第81回はソフトウェアエンジニアの種類というタイトルでお話をしていきたいなと思っております。
エンジニアって世の中にたくさん言葉が出回っているんですけども、一言でエンジニアと言っても様々な種類のエンジニアさんがいらっしゃいますね。
今日はその話をしたいなと思っていて、大きく分けると、ざっくり大きく分けるならば、ハードウェアとソフトウェアのどちらを専門にするかという2つに分けられると思っております。
私の大学の友人はハードウェアのエンジニアの方が多くて、たまに彼らと久しぶりに会って飲むときはハードウェアの話が結構多いんですけど、僕は残念ながらソフトウェアのエンジニアなのでついていけないんですけど、面白いなという話を知見として聞いている感じですね。
ちなみにハードウェアのエンジニアさんというのは何をやっているかというと、いわゆる電子機器類であったりとか、僕らがよく使っている冷蔵庫やスマートフォンやいろんなものを作っていますけど、機械であったりとかその機械そのものに組み込まれるいろんな部品、もしくはその機械の外側の筐体とかを専門に作っていられる方ですね。
パソコンで言いますとパソコン本体だったりとか基板とか回路であったりとかキーボードであったりとか、僕らがすぐ目にして触るものを作っているのがハードウェアの方ですね。
ハードウェアには奥が深くて領域も広くて、知人にはFPGAと呼ばれるものを作っている人がいるんですけど、僕は全然FPGAというのはよくわかっていないんですけど、マニアックだよみたいなことは本人から聞きました。
結構奥が深くて楽しそうな世界だなとは思っておりますね。
僕はそこよりもFPGAに興味があったって感じですけどね。
ちなみにソフトウェアの方は何をするかというと、いろんなもののアプリケーションであったりとか、スマートアプリとか業務アプリも含めてアプリケーションであったり、ウェブもそうですしウェブサイトとか、あとはOSとかもそうですしね。
いろんなサーバーで動くものを作っているって感じですね。
わかりやすく言うと直接目にすることはないと思いますね。
例えばブラウザーはたくさん目にしますけど、でもパソコンが立ち上がっていなければ直接はブラウザーで見ませんしね、OSも直接見ることはほぼないですし、アプリケーションもスマートフォンの中で初めて動くもの、現実の世界ではソフトウェアというのは直接は目にしないんですよね。
パソコンの例を出すと同じで、パソコンそのものを動かすためのもの、OSもそうですしブラウザーもそうですし、各種アプリケーション、先ほど言った通りですね。
03:01
他の例で言うとピアノの例が面白かったんですけど、ピアノそのものはハードウェアで、ピアノの弾き方とかはソフトウェアですという感じの例があって、僕はこれはしっくりいったなって感じですけどね。
近年ではIoTという言葉を皆さん聞いたことがあるかもしれないですけど、そういう言葉が出始めて、言葉というか技術ですね、という領域ができ始めてソフトウェアエンジニアもハードウェアの領域に手を出す方も増えたなと思いますね。
有名なところで言うとラズベリーパイとかアルディーノと言われる小型のコンピューターがあるんですけど、これを用いてIoTの開発をするというのがよく聞く話だなと思います。
もし興味があったら皆さんも調べていただければと思います。割と面白いですよね。
なんですけど、本題に戻してきて、私はソフトウェアエンジニアで、今回はタイトルの総理、ソフトウェアエンジニアの種類というのを話していくんですけども、ソフトウェアエンジニアの中でもただのエンジニアといってもいろいろ種類があるのでその話をしていきたいなって感じですね。
一つ目はですね、私が専門としているフロントエンドエンジニアと言われるものですね。
ソフトウェアの中でもユーザーが目にするものを作る人たちだと思っていただければいいですね。
簡単に言うとウェブアプリケーションとかウェブシステム、ウェブサイトとかの画面を担当するエンジニアだというふうに思っていただければいいです。
皆さんがブラウザからどっかのアプリケーション、ウェブサイトにアクセスすると思うんですけど、その際に表示されるものを全般的に扱っていると思っていただければよいです。
もちろんデザインそのものもやる人もいらっしゃいますし、デザインも普通にデザイナーさんに専門にお任せして起こされたデザインごとに画面を作っていくみたいな人もいますけどもね。
皆さんがストレスなくアクセスしたアプリケーションとかウェブサイトでそれなりに快適に操作できるように、見た目そのものもそうですし、いろんなコンテンツの配置の仕方とか、デザインもそうですし、パフォーマンスもそうですし、
ウェブサイト、ページ遷移した時とかの画面描画のタイミングであったりとか、そのスピードとかもそうですし、あとアクセシビリティとか、
はい、そんないろんなことをしっかり考慮して快適に皆さんが使っていただけるように
頑張っているっていうのがソフトウェア、フロントエンドのエンジニアですね。
ちなみに私も多少はデザインしないことはないんですけども、頑張ってもUIデザインというか、特にそのコンポーネントですね、ボタンであったりとか、
そのヘッダー部分であったりとか、パーツのデザインまでがちょっと私は限界で、
そういうことができるフロントエンドエンジニアさんはすごいなといつも思っております。
で、あと次ですね。次はですね、UXエンジニアと言われるものですね。
こちらはですね、デザイン領域にも長けたフロントエンドのエンジニアさんですね。
個人的にはそのフロントエンジニアの上位互換なんだろうなというふうに勝手に思っていますが、
あくまで私自身の感覚ですので、正確なのかはちょっとわからないです。
06:01
はい。一応Googleの定義をここで述べて終わりにしたいんですけど、
Googleさんが定義しているUXエンジニアというものは、
優れたデザイン感覚と技術的な農家を生かして次世代のプロダクトを開発するポジションですと、
まだリサーチャーとかデザイナーと協力して新しい機能の定義、実現、新しいコンセプトのテスト、最終的な実装の支援を行いますと
いうところで、もう正直何でも屋さんだなというか、
とてもなんかスペックの高いエンジニアさんだなというふうに僕は思いましたし、
そうなっていきたいなという思いもありますけど、
UXエンジニアというのも今は出てき始めたという感じですね。
続いてですね、サーバーサイドエンジニアと言われるものですね。
名前の通りサーバーサイドで動くものを作る人たちですけど、
アプリケーションとかシステム開発をやる上で、どうしても欠かせない領域を専門とするエンジニアさんと思っていただければ良いですね。
人の目に本当に触れないもので、
ここに楽しみを覚えるのって、なかなか好みとか人の愛称によるかもしれないですけどね。
ちなみに私も元々はサーバーサイドのエンジニアでした。
本当サーバーの中でしか動かないので、人の目になかなか映らないし、作っていく中でもなかなか
目にパッと見えないので、どうやって楽しみを覚えるんだろうみたいなところも
謎であったりするかもしれないですけど、意外とまあこれはこれで面白いんですよね。
やってみるしかないですけど、こういうものは。
例えばですけど、どういうことを作っているかというと、
皆さんがあるウェブサイトに新規に会員登録をしようとするときに、フォームに値入力して
最後送信ボタンを押すと思うんですね。
その送信したときに、送信先、受信したサーバーで送られてきた値のチェックをしたりとかするんですね。
そのチェックをしてNG項目があったりしたら、ブラウザーにエラーメッセージを返したりもしますし、
全部OKですねっていうチェックがあったら、じゃあデータベースに登録しましょうみたいな処理をするんですけど、
その処理そのものを書く人たちがサーバーサイドエンジニアと言われる方ですね。
本当に裏方のお仕事をする人たちなんですけども、
データそのものを扱うところもありますし、
サイトとかによってはクレジットカードとかを扱ったりする可能性もありますので、
セキュリティーの責任を受け持つことが本当に多いんですけど、
ただこの人たちがいないとやっぱりウェブアプリケーションとかシステムとしては成り立たないんですよね。
ですので本当に大事なポジションで、
人の目に見えない裏方なんですけど、裏ではそういう人たちが頑張っているんだよってのも知っておいていただくとなんか
嬉しいなと思います。
次はちょっと呼び方が最近たくさんあってよく分かってないんですけど、いわゆる
スマートフォンアプリですね。スマホアプリを
専門にしているエンジニアさんたちですね。
そのままスマホアプリエンジニアと言ったりとかアプリエンジニアと言ったりするかと思いますし、
ネイティブアプリエンジニアと言ったりも、よく分からないですね。言葉が結構散らかっててあれなんですけど、
分かりやすく言えばiOSとAndroidっていうOSがあるじゃないですか。
大きく二つ分けて。それらの名前を取ってiOSエンジニアとか
09:02
Androidエンジニアというふうに言われることが主流ですね。
もちろん開発しているものはそれぞれのOSで端末で動くアプリケーション開発のエンジニアさんです。
やっぱりそれぞれの領域で専門のエンジニアさんももちろんいらっしゃるんですけど、
両方できる都合でのエンジニアさんもやっぱり世の中には多くてですね、
もう頭が上がらないなと常に思っております。
余談なんですけど、一応両方の技術をですね、iOSとAndroidの技術を覚えなくても、
実は両方のアプリケーションを作ることができるっていうような夢のようなツールもなくはないんですね。
ですのでスマートフォンのアプリケーションを作ってみたいという方がいらっしゃいましたらですね、
その中でiOSとAndroidも実は両方同時に作りたいという方がいらっしゃいましたら、
クロスプラットフォーム開発とかでググっていただくといろんなフレームワークが出てくるので、
それを見ていただければと思います。
ただどんだけ便利で素晴らしいものがあるならみんなそれでいいじゃんと思うかもしれないですけど、
もちろんそれにはやっぱりちょっと落とし穴があったりとか、なかなか複雑であったりするものもあるので、
やっぱりそうなんでしょうね、専門領域は専門領域の技術で作るのが本当はベストだよってことだけ一応伏せておきます。
ただでもやっぱりリソースの問題であるとか、そんなに複雑なものではないのであったら
クロスプラットフォームのアプリケーション開発もありじゃないかなと思っていますので。
ここは取捨選択をしていただければなと思います。
続いてですね、インフラエンジニアさんですね。
こちらは名前の通りインフラトラクチャーを専門とするエンジニアさんですね。
先ほどサーバーさんエンジニアの方もすごく重要だって言ったんですけど、
インフラエンジニアさんがいないと正直話にならないと言っても過言ではないポジション、すごい重要なポジションの人ですね。
アプリケーションを動かすためのサーバーであったりとか、裏でデータを保持するデータベースもそうですし、
それらをそもそも通信するためのネットワークもそうですし、アクセスするときの名前解決するドメインとか、
あとセキュリティーなどとか、そういうこといろんなものを設計また構築をしてくださる方がインフラエンジニアさんですね。
なのでこの方たちがいないと本当アプリケーションとかシステムっていうのは動くことも動かないですし、これらがないとどうしようもならないんですね。
逆に言うとインフラエンジニアさんはシステム開発とかに携わらない方が圧倒的に多いですね、本当に。
一部やられている方もいらっしゃいますけどそれはこの後言及します。
ですので自分たちが日々当たり前にサービスとかアプリケーションを使っていると思いますけど、
その裏側ではそういうものをちゃんと正しく動かすようにサポートしてあるとかメンテナンス監視をしているという方がいるんですよってことを知っておいていただけると嬉しいと思いますね。
最近は物理的なものではなくてクラウド技術っていうのが本当にデファクトスタンダードになってきましてですね。
会社内でサーバーを一台も持たなくても一応サーバーを用意できるみたいな文化が出てきてるんですけども、
12:03
完全にそういうのがなくなったわけではもちろんないですね。
いわゆるオンプレって言われるように物理的にサーバーを社内に置いておいてそれを管理するっていうやり方ももちろんありますね。
インフラエンジニアさんではない方でもそのクラウド技術を使えばインフラ領域をある程度担当できるようになったっていうのはこの時代の素晴らしいところではありますね。
ただそのある程度といったのはやはり専門家には勝てないんですね、インフラエンジニアさんには。
それをずっとやり続けている方なので、細かいところか痒いところに手を出すとか、
いろんな障害が起きた時にこうなんじゃないみたいなところのサポートとか復旧するのはやっぱりそこはインフラエンジニアさんには勝てないので、
しっかりお願いしていくのが本当は言うのかなと思いますけどね。
次ですね、先ほどのインフラエンジニアさんの上位互換みたいなふうに勝手に私は思っているんですけど、SREと言われる方がいらっしゃいます。
サイトリライアビリティエンジニアの略ですね。頭文字をとってSREと言ったりします。
リライアビリティという単語が意味するようにですね、ウェブサイトとかサービスの信頼性向上に重きを置いたポジションの方々ですね。
やることとしてはインフラエンジニアさんなんですけど、そのアプリケーションとかシステム開発にも関与する。
人によってはもうがっつりその開発にまで足踏み込んでいる方もいらっしゃいますね。どんどんすごいなと思います。
なのでインフラの中でもアプリケーションもできてしまうというのはなんか、
都合でというかもうエンジニアの神様ですかみたいなような方だと僕勝手に思ってるんですけど。
なかなかここを名乗ることって結構僕の中で勇気がいるので、今世間に名乗られて活躍されている方って本当にすごいし尊敬しか出てこないですね。
最後はですね、これ本当なんか言葉が散らかってるんですけど、昔からあるのはフルスタックエンジニアという言葉ですね。
あとは最近だとなんかそれじゃなくてマルチスタックエンジニアと言ったりとかまたフルサイクルエンジニアという言葉まで始めてて、
結構なんでしょうね、重複するものもあるし一応言葉として定義ではなんか差別化図られているものも一応あるんですけど、
個人的には感覚一緒だと思っているので今これはまとめさせていただきました。
もちろん厳密な話をすると違いますよっていうのはあるんですけど、今回はざっくりの話でいいなと思っていますので。
いわゆる複数の職種ですね。今まで名前を挙げてきた職種を複数個担当できる人、もしくは全部担当できるエンジニアさんという感じですね。
いわゆる何でも屋さんって思っていただくとわかりやすいですね。
こう言うとちょっと聞こえが悪いかもしれないですけど、各専門領域のスキルを保持していて、どこのポジションに行ってもすごく活躍できるという超すごくエンジニアさんというイメージで思っていただければいいですね。
個人的にはエンジニアの理想系はまさにここに行くべきだろうなというふうに思っていますが、それは人のそれぞれの考え方だし、
私はもうこの領域だけを専門に特化して強くなっていくっていう人ももちろんいらっしゃいますので、
15:00
それは人それぞれですけど、私の中ではフルスタックとかフルサイクルとかを目指すのがいいんじゃないかなと思っております。
バーッとしゃべりました。他にもまだ細かいエンジニアの種類とかたくさんあるんですけど、一旦ざっくり分けるとこの辺が全てかなと思っております。
こんな感じで一言でエンジニアと言ってもいろんな種類の方がいらっしゃいますよということを知っていただければなと思います。
今日は話さないで、すごく長くなってしまいましたけど、明日役に立つかどうかは正直わからないんですけどもね。
もしでも身近にエンジニアさんがいらっしゃるのであれば、軽く聞いてみると話が弾んでするかもしれないですねっていう感じで、知識として提供した感じになります。
こんなところで今回の収録は以上となります。
また何か聞きたいことであり、話してほしいことなどございましたらいつでもレターをお待ちしておりますので、お気軽に投げていただければなと思います。
ではまた次回の収録でお会いしましょう。バイバイ。
15:58

コメント

スクロール