【ITニュース解説】📘 Foundation Phase Completed - Starting Phase 2 of My Journey
2025年09月29日に「Dev.to」が公開したITニュース「📘 Foundation Phase Completed - Starting Phase 2 of My Journey」について初心者にもわかりやすく解説しています。
ITニュース概要
筆者は「Foundation Phase」と名付けた7週間のIT基礎学習を終えた。Linux、クラウド、SQL、ETLパイプライン構築などを習得し、スクリプトやクエリ、環境管理の基礎を固めた。今後はデータ抽出・処理・オーケストレーションといった応用フェーズに進む。
ITニュース解説
ある学習者が、システムエンジニア(SE)として必要な基礎知識とスキルを習得する期間である「Foundation Phase」を完了し、次の学習段階へと進む報告があった。この基礎固め期間は、約7週間にわたり、スクリプト作成、データの問い合わせ、そしてシステム環境の管理といった、SEにとって不可欠な能力を身につけることを目的としていた。この期間中、Linuxの基本操作、クラウドサービスの利用、データベース言語であるSQLの習得、さらにはデータ処理の自動化パイプラインの構築まで、幅広い技術分野にわたる実践的な学習が行われた。学習の過程と成果は、HashnodeやGitHubといったオンラインプラットフォームで詳細に記録され、その進捗が明確に可視化されている。
最初の2週間は、コンピュータの基本的なOS(オペレーティングシステム)であるLinuxの習得と、インターネット経由でコンピューティングサービスを利用するクラウドの基礎理解に充てられた。学習者はLinuxのコマンドを使ってファイルやディレクトリを操作したり、ファイルへのアクセス権限を管理したり、必要なソフトウェアをインストールしたりといった基本的なスキルを習得した。これらのスキルは、サーバーなどのITインフラを直接操作する際に非常に重要となる。同時に、Amazon Web Services(AWS)という主要なクラウドサービスを例に、クラウドのサービスモデルや基本的な仕組みを学び、物理的な機器を持たずにインターネット上で仮想的なコンピューター環境を構築・利用するイメージをつかんだ。
続く3週目には、データの管理と操作に不可欠なデータベースの学習が行われた。リレーショナルデータベースの一種であるPostgreSQLを使い、小さな販売管理システム向けのデータベースを設計する練習をした。そして、データの絞り込み、複数のテーブルの情報を組み合わせる結合、合計値などを計算する集計、さらには高度な分析に用いられるウィンドウ関数といった、SQLの様々な機能を実践的なクエリ(問い合わせ)を通してマスターした。この学習により、大量のデータの中から必要な情報を効率的に抽出し、分析するための基礎能力が培われた。
短い休憩期間を挟んだ4週目には、これまで学んだ知識を応用した実践的なプロジェクトに取り組んだ。Linuxのシェルスクリプト、Pythonというプログラミング言語のデータ処理ライブラリであるpandas、そしてPostgreSQLを組み合わせて、簡易的なETLパイプラインを構築したのだ。ETLとは、「Extract(抽出)」「Transform(変換)」「Load(読み込み)」の頭文字を取ったもので、異なる場所にある生データを取り込み(抽出)、使える形に加工し(変換)、最終的にデータベースなどに保存する(読み込み)一連の処理を指す。このプロジェクトでは、薬剤の製品情報データを抽出し、加工してデータベースに格納するパイプラインを自力で作り上げ、データ処理の自動化を体験した。これは、実際のビジネスにおいて大量のデータを効率的に扱う上で非常に重要な技術である。
5週目には、単に与えられたコマンドを実行するだけでなく、「システムをどのように設計し、構築するか」という、より能動的な思考への転換が図られた。エラーが発生した際にも適切に処理するシェルスクリプトの書き方を学び、Dockerという、アプリケーションとその実行環境を一つのパッケージにまとめる技術の基本にも触れた。Dockerを使うことで、環境の違いによる問題なくアプリケーションを実行できるようになる。さらに、AWSの仮想サーバーであるEC2、イベントに応じてプログラムを実行するLambda、そしてファイルを保存するS3といったクラウドサービスをより深く探求し、クラウド上でのシステム構築における選択肢と、それらの連携方法について理解を深めた。この週の学習は、SEとして問題を解決し、新しいものを作り出す上で欠かせない「ビルダー(構築者)としての思考」を養うことに焦点を当てたものだった。
基礎学習期間の終盤には、インターンシップの一環として、「スマート冷蔵庫の画像アノテーション」という実務にも取り組んだ。これは、スマート冷蔵庫が内部の食品を自動で認識できるように、様々な冷蔵庫の画像を収集し、その中にある品物を一つ一つ識別してラベル付けする作業だ。この経験は、実際のデータがどのように収集され、機械学習などのためにどのように準備されるかという、データ活用の現場を肌で感じる貴重な機会となった。
このFoundation Phaseを通じて、学習者は基礎的な技術スキルだけでなく、「構築者」としての考え方、つまり単なる知識の習得に留まらず、実際に手を動かしてシステムを作り上げる実践的な能力を身につけた。この確固たる基盤ができたことで、次の「Phase 2」へとスムーズに移行できる準備が整った。
Phase 2では、「Core Workflows」と題し、データがどのように流れ、加工され、そして一連の処理がどのようにスケジュール管理されるかという、より高度なデータ処理のワークフローに焦点を当てる計画だ。具体的には、外部のサービスからデータを取得するためのAPI、ウェブサイトから情報を自動収集するウェブスクレイピング、そしてWebブラウザの操作を自動化するSeleniumといった「データ抽出」の技術を学ぶ。さらに、大量のデータを効率的に取り込むためのKafka、大規模なデータ処理を行うSpark、リアルタイムのストリーミングデータ処理に特化したFlinkといった「データ取り込み」の技術を習得する予定である。そして、これらのデータ処理タスクの実行順序や依存関係を管理し、自動化するための「オーケストレーション」ツールとして、Airflowやdbtといった技術に取り組むことになっている。
この一連の学習は、データがビジネスにおいてますます重要となる現代において、複雑なデータ処理システムの設計と実装能力を養うことを目的としている。基礎を固め、具体的な成果を出すことで得られた自信と勢いを活かし、学習者は次のレベルへと着実にステップアップしていくことだろう。このように、段階を踏んで実践的なスキルを習得していくアプローチは、システムエンジニアを目指す上で非常に効果的な学習方法だと言える。