物事には必ず「間」が存在する②
-Linuxを通してどんな技術にも強いエンジニアになる-

2023/02/21
執筆者:岡田賢治
物事には必ず「間」が存在する②-Linuxを通してどんな技術にも強いエンジニアになる-

こんにちは。岡田と申します。普段、LPIの資格試験の普及をお手伝いしている者です。ここではIT技術全体的な観点から、Linuxの有用性を説明していきたいと思います。

前回は、スキルシート・スキルマップの観点からLinuxを考えると、知識の階層化の観点から、非常に敷居が高いという話をしました。今回は、その敷居が高いゆえの、良い方の副作用を考えてみます。

算数のお話

少し話がそれますが、小学生の時に、算数で様々な「**算(ざん)」を習いました。覚えていらっしゃいますでしょうか?当方を含め、多くの方は、あまりいい思い出はなかったと思います。

有名なのは、「つるかめ算」というのがありました。「つるとかめ、合わせて*匹いて、足の数の合計は*本です。つるとかめ、それぞれ何匹ずついるでしょう?」というのが問題の代表的な形式です。解の計算方法としては、仮に全部かめとしたとき、足の数は(匹数)*4となります。1匹をかめからつるに変更した時、足の数は-2本になるので、何回変更したか?変更した回数がつるの数になる、というものでした。

ちょっと難しい話をしましたので、少しクールダウンしましょう。こういうのもありました。「10mの道に2m間隔で木を植えます。全部で木は何本必要ですか?」つるかめ算に比べると、いくらか簡単な問題です。10/2=5で「5本」としてしまいそうですが、木はスタートとゴールの両方に植えることになるため、さらに1本増えて6本が正解になります。これにも名前がついていて、植木算といいます。植木算のポイントは、2mという間隔が「間」であり、カウントの対象である「植えた木」がその両脇にあることです。

ここで覚えておいていただきたいのは、対象が2つ以上あったら、必ず「間(あいだ)」が生まれるということです。

Linuxのスキルにおいても、スキルとスキルの間が存在します。Linuxを学習すると身につくスキルはどういったものでしょうか?次で確認してみたいと思います。

Linuxのスキルマップ

前回、スキルマップを考えるときに、以下の図1のどちらかのようなものだと説明しました。

図1
図2

ところが、Linuxは知識の階層化が難しく、複雑に入り組んでいるため、図2のようなスキルマップだと説明しました。

具体的に、要素を説明していきたいと思います。例えば、LinuxはOSという概念で見ると、非常に強力なマルチタスク機能が備わっています。

Windowsがまだ95, 98が主流だった頃、MacOSがまだ7,8が主流だった頃、システムエラーに悩まされて、簡単なアプリケーションの暴走ですぐにOSが停まっていました。その頃からでも、UNIX/Linuxは強力なプロセス管理機構を備えていましたので、ちょっとやそっとのプログラム暴走ではシステムは止まりませんでした。

UNIX/Linuxは、ネットワークに強いOSという側面もあります。UNIXの創世記にTCP/IPの実装が行われた影響で、UNIX/LinuxはTCP/IPの通信が標準でできる、さらにその通信が今日のインターネットを作り上げたと言っても、過言ではありません。

ネットワークに強いということは、ネットワークにサービスを提供することから、サーバ機能を提供することにもなります。サーバの管理者という仕事も、その管理を行うことから来ています。

また、UNIX/Linuxはプログラムの実行環境でもあります。UNIXの開発時にC言語というプログラミング言語が生まれました。その他、C++, Perl, Java, Python, Ruby, Go, Rust・・・Linuxで扱えるプログラミング言語は非常に多くあります。

さらに、その実行環境ということは、それらを動作させ結果を確認することができます。PythonでAI(機械学習・深層学習)をするために、初めてLinuxを触るという方が増えているようですが、Pythonとの親和性でLinuxを選ぶ人が多いようです。

今、UNIX/Linuxにおけるいくつかの機能を上げました。これらはどのように関係するでしょうか?ネットワークの機能の検証に、プログラミングの知識が必要なことがあります。プロセスの話と、ネットワークの機能も結びついています。これらをたどると・・・最初がありません。お互いに、お互いを参照しているので、始めが見つけられないわけです。ちょうど図2のような形です。

皆さんのスキルマップ

色々なスキルマップ

今、UNIX/Linuxのスキルマップを例に出しましたが、視点をもう少し広げてみましょう。コンピュータのスキルマップはどうでしょうか?

Webのシステムであれば、Webのバックエンドのプログラム、連動するDBやそのインフラ、フロントエンドなどに話が進むでしょう。バックエンドのプログラムも、言語の種類や利用するフレームワークで多岐にわたります。

ルータやスイッチの設定を行う、インフラのエンジニアではどうでしょうか?運用するネットワーク機器のメーカーだけで何種類もあります。また、ネットワークの構成からも身につけることがあるでしょう。

C10Kという言葉が流行った時期がありました。Client 10K(Kは1000の意味なので、クライアントが1万人いる=大量アクセスにも耐えうる環境)というのは、インフラ側・プログラム側、両方のアプローチにより解決が必要になりました。

スキルとスキルの"間"

1つ1つのスキルもそうですが、それらを複数身につけると、それらに「間」が生まれます。「Aという言語でXというフレームワークを使った開発経験がある」「Bの言語で構築したシステムを、YというSaasのDB/クラウドで運用したことがある」といった形です。

この「AとXから生まれた"間"」「BとYから生まれた"間"」のスキルは、さらに持ち合わせている人が少なくなります。さらに、「『AとXから生まれた"間"』と『BとYから生まれた"間"』から生まれた"間"(間と間の"間"です)」を持ち合わせている人は、もっと少なくなることでしょう。

技術以外のスキル

さらに、技術の外に目を向けてみます。自分の持っていて、役に立ったスキルを3つほど。自分の説明になるので、幾分、手前味噌になるのはご了承ください。

英語の資格ですとTOEICや英検などがありますが、それとはまた違った英語です。英語圏の相手に「StackOverflow(=英語のコンピュータQAサイト、2,3年前に日本語版も生まれた)は不自由なく読める」は、鉄板の自己紹介ですし、日本語化されていない技術トピックも知ることができます。

次に、人前で話すというスキルです。プレゼンテーションを作成し、主に技術トピックを説明するということですが、以前、専門学校で非常勤講師をしていたことが役に立っています。元は「コンピュータの[楽しさ|便利さ|面白さ]を[話したい|伝えたい|教えたい]」ということから来たのですが、セミナーの依頼などで重宝されます。よろしければ、私の名前でYoutubeを検索してみてください。

そして、書くというスキルです。最初は20才の時にインターネットブームとMacユーザだったことから、書籍を執筆したことが最初で、現在もこのように執筆の依頼をいただいています。非常勤講師時代の、知らない相手に順序立てて教えていく、というスキルも相まって、技術説明の執筆は可能と説明します。ただ、業務での設計書などは経験が少ないので、そちらに生かせないのが残念です。

逆に、持っていないスキルとしては、対人スキルです。どうしても技術的に込み入ってくると、外界を遮断してしまうことが多く、こういうことは人とのやりとりやマネジメントに向いていません。その方面で得意な人を見ると、羨ましく思います。

エンジニアの市場価値

以上のことから、スキルマップを考えていくと、

「自分は**ができる」(**はプログラミング言語かもしれませんし、インフラ技術かもしれません)

という単発のスキルよりも、

「**と**のことを理解している、そして必要とあれば簡単な[紹介|社内]文章も書ける」

「**と**のことに経験がある。なんなら概要を人前でプレゼンテーションできる」

という、"間"を売り込めるようになった方が、エンジニアとしても会社員としても市場価値は高まります。特に「他にいない」という差別化は、市場価値を高める上で非常に重要な要素です。ぜひ、みなさんも"間"を売り込めるようにスキルアップをしていってみては、いかがでしょうか?

まとめ

今回は、技術スキルの"間"について説明してきました。もし、プログラミングの複数条件が全て真の時に真とする、AND(論理積)をご存知の方がいらっしゃいましたら、さまざまな技術スキルのANDをとる、という言い換えもできるかもしれません。とにかく、スキル単発よりも、多くを見渡せる複数のスキルと、その合わせ技が役に立ちます。

UNIX/Linuxの素晴らしい点は、それらが全て含まれているということです。前にも説明した通り、OS・ネットワーク・サービス・プログラミングのさまざまな側面を持ちます。それらの理解を行なったら、広いスキルが身に付きます。それらのスキルから、立派な"間"が生まれるでしょう。

Linuxを統計的に学習するには、LPIの資格試験LPICに沿って勉強することをお勧めします。また最近では、初学者向けにLinux Essentialsという資格試験も存在します。LPIC-2では、さまざまなサービスを、LPIC-3では各分野に特化したスキルが学習できます。

プログラミング方面の方は、LPIにはDevOps Tools Engineerという試験が存在しますので、それらを学習してもスキルアップが図れます。また、2022/12にWeb Development Essentialsという資格試験もリリースされ、Web開発全般に向けてのスキルアップができるようになりました。

執筆者

岡田 賢治

SESでエンジニア業務に従事する傍ら、LPIの資格試験の普及・コミュニティ活動にも関わる。
LPIでの講演実績、IT技術書の執筆多数。8年間の専門学校非常勤講師としての実績をもつ。

Linuxの知識やLPICの試験範囲を学ぶ

インターネット・アカデミーはLPICを提供している「LPI」の日本初のトレーニングパートナーのひとつとして認定されています。

インターネット・アカデミーでは、Linuxの基礎から演習を交えながら知識を身につける研修をご用意しています。エンジニア部門に配属される新人のスキルアップはもちろん、非IT職の方向けのサーバー基礎研修、LPIC等の試験対策の研修も承っています。

貴社の受講者の知識レベルや学習の目的など、ご要望に合わせてカリキュラムのカスタマイズもできますので、Linuxの学習を検討している方はお気軽にお問い合わせください。

Linuxの人材育成について相談する

デジタル人材育成・助成金のお役立ち資料をダウンロード

デジタル人材育成や助成金活用のお役立ち資料などをまとめてダウンロードしていただけます。コンサルタントへの無料相談をご希望の方はこちらからお問い合わせください。

たとえばこんな相談ができます
  • DX人材の育成&事例紹介 リスキリングのロードマップ付き
  • デジタル人材育成に使える助成金制度
  • デジタルスキル標準 役割別おすすめ講座
資料ダウンロードはこちら
会社名必須
部署名必須
お名前必須
電話番号必須
メールアドレス必須

個人情報の利用目的についてご同意いただいた場合のみ、「同意して進む」を押してください。

このページの上へ