【ITニュース解説】My Brief Intro and New Journey
2025年09月26日に「Dev.to」が公開したITニュース「My Brief Intro and New Journey」について初心者にもわかりやすく解説しています。
ITニュース概要
UET Lahoreの学生Husnainは、FANG企業入社を目指し多忙な学習に励む。Web開発やAI技術を習得済み。奨学金維持のため高GPAを保ちつつ、大学で不足するDSAをUdemyで本格的に学ぶ。今週はC/C++の基礎を復習し、夢への一歩を踏み出す。
ITニュース解説
ムハンマド・フスナインという学生が、ある壮大な目標に向かって新たな一歩を踏み出した。彼の目標は、いつの日か「FANG」と呼ばれる世界トップクラスの巨大IT企業群の一員となることだ。FANGとは、具体的にはFacebook(現在のMeta)、Amazon、Apple、Netflix、Googleといった、IT業界を牽引する企業群の頭文字を取った略称で、世界中のIT技術者にとって憧れの的となっている。
フスナイン氏はパキスタンのUET Lahoreという大学でコンピューターサイエンスを専攻している3年生である。彼は現在、CGPA(Cumulative Grade Point Average:大学の成績評価で使われる平均点)が3.65という優秀な成績を収めているが、これをさらに3.8以上に引き上げることを目指している。この高い目標の背景には、彼が成績優秀者として100%の奨学金を受けており、その維持のためにも学業を疎かにできないという事情がある。また、彼は中流家庭の出身であり、自身の将来だけでなく、経済的な安定を築くという大きな夢も抱いている。彼の通学は毎日30kmの道のりを要し、学業以外にもやるべきことが山積みの、平均的な学生よりも多忙な日々を送っている。
そんな彼がFANGへの明確な目標を抱いたきっかけは、Googleのワルシャワオフィスで働くシャフィカ・イクバル氏の動画を目にしたことだった。その動画で語られていたGoogleの歴史や、そこで働くことの魅力に触発され、彼は自身のキャリアパスを定め、そこへ向かうための具体的な行動を開始することを決意した。
これまでにフスナイン氏は、非常に幅広い技術分野で実践的な学習を進めてきた。特にWeb開発においては、MERNスタックと呼ばれる技術セットを習得している。MERNスタックとは、Webアプリケーションの構築に用いられる主要な技術であるMongoDB(データベース)、Express.js(サーバーサイドのフレームワーク)、React.js(ユーザーインターフェースを構築するライブラリ)、Node.js(サーバーサイドでJavaScriptを実行する環境)の頭文字を取ったものだ。これに加えて、React.jsベースのより高機能なWebアプリケーションフレームワークであるNext.jsも習得しており、彼はWebサイトの見た目を作るフロントエンドと、データ処理やサーバーとの連携を行うバックエンドの両方を開発できる「フルスタックWeb開発者」としてのスキルを身につけている。
Web開発にとどまらず、AI(人工知能)分野にも深く踏み込んでいる。まず、Webサイトから情報を自動的に収集するWebスクレイピングの技術から学び始め、PythonのライブラリであるBeautiful SoupやSelenium、大規模スクレイピングに適したScrapyといったツールを使いこなす。その後、機械学習の基本的なアルゴリズムへと学習を進めた。例えば、線形回帰やロジスティック回帰はデータから予測を行う手法であり、K-Meansクラスタリングはデータを似たもの同士のグループに分類する手法である。また、決定木やランダムフォレストは、一連の質問を通じて結論を導き出すような形で分類や予測を行うアルゴリズムだ。さらに、試行錯誤を通じて最適な行動を学習する強化学習の一種であるQ学習にも触れている。
さらに学習を深め、AIの最先端分野である深層学習(ディープラーニング)にも挑戦した。時系列データの処理に強いRNN(Recurrent Neural Networks)や、画像認識などで高い性能を発揮するCNN(Convolutional Neural Networks)といったニューラルネットワークのモデルを学んだ。そして、最近特に注目されているLLM(Large Language Models:大規模言語モデル)の領域にも進出し、RAG(Retrieval-Augmented Generation)という、外部の知識源を参照しながら応答を生成する技術や、AIがテキストを処理する際の最小単位であるトークン、単語や文章を数値のベクトルで表現する埋め込み、それらを効率的に保存・検索するベクトルストアやベクトルデータベースといった専門的な概念を習得した。さらには、OLLAMA CLIというツールを使って、Meta社が開発したLlama 3のようなLLMを自身のコンピューター上で動かす経験もしている。しかし、学期が始まって2週間が経過したところで、大学の授業と健康管理に時間を割くため、一時的にこれらの学習を中断せざるを得なかったという。
このように幅広い技術を既に習得しているフスナイン氏だが、FANGのようなトップ企業を目指す上で、最も重要だと彼が認識しているのが「DSA(Data Structures and Algorithms:データ構造とアルゴリズム)」の知識だ。データ構造とは、コンピューター上でデータを効率的に保存・管理する方法であり、アルゴリズムとは、コンピューターが問題を解決するための具体的な手順や計算方法を指す。これらの知識は、プログラムの性能や効率に直結するため、高度なITシステムを開発する上で不可欠な基礎スキルとなる。彼の大学でもDSAのコースはあるものの、それは基礎的な部分にしか触れていないと感じており、自己学習でさらに深く掘り下げることを決意した。具体的には、Udemyで提供されているアブドゥル・バリ氏のDSAコースを受講し、この分野を徹底的に学ぶ計画だ。そして、その学習の第一歩として、今週はCとC++というプログラミング言語の基本的な概念を復習することから始める。これらの言語は、システム開発や高速な処理が求められる場面で広く使われ、DSAを学ぶ上での基盤となることが多いからだ。
ムハンマド・フスナイン氏のこの挑戦は、システムエンジニアを目指す初心者にとって、多くの示唆に富んでいる。彼の姿は、明確な目標設定の重要性、そしてその目標達成のために自ら計画を立て、地道な努力を続けることの大切さを教えてくれる。また、単に多くの技術を学ぶだけでなく、その技術がなぜ重要なのか、どのように役立つのかを理解し、基礎となるデータ構造とアルゴリズムの学習に力を入れる姿勢は、将来のキャリア形成において非常に有効なアプローチだと言えるだろう。彼のこれまでの幅広い学習経験と、目標に向かって進む強い意志は、IT業界で成功を収めるためのロールモデルとなるに違いない。