【ITニュース解説】The first technical test
2025年10月01日に「Dev.to」が公開したITニュース「The first technical test」について初心者にもわかりやすく解説しています。
ITニュース概要
Web開発初心者が初の技術テストで、未経験のデータベースやAPI開発に直面し苦戦した。自身の知識不足を痛感し、スキルと求人のギャップに悩む。この経験から、焦って就職するよりも基礎を固めること、そして失敗から学びを得ることの重要性を学んだ。
ITニュース解説
システムエンジニアを目指す上で、初めての技術テストは大きな壁となることがある。今回の記事は、Web開発を独学で続けてきた筆者が、初めての技術テストで直面した困難と、そこから得た貴重な教訓について語っている。彼の経験は、これからIT業界を目指す多くの人にとって、現実的な指針となるだろう。
筆者は、本業の傍らで約15ヶ月間、Web開発の学習を続けてきた。彼が主に学んだのは、Webページの見た目を作るHTML、デザインを整えるCSS、そして動きを付けるための基本的なJavaScriptだった。これらは、ウェブサイトの「フロントエンド」と呼ばれる、ユーザーが直接目にする部分を構築するための基本的な技術である。ある程度の知識が身についたと感じた筆者は、「そろそろ実際に仕事に応募してみよう」と決意し、地元の会社に求職の申し込みをした。最初の面談は順調に進み、その後に彼へ送られてきたのが、今回の中心となる「技術テスト」だった。
与えられた課題は、彼の予想をはるかに超えるものだった。テスト内容は大きく分けて四つある。一つ目は、ライブラリの貸出システムのために「SQLデータベース」を構築すること。SQL(Structured Query Language)は、データベースに情報を保存したり、取り出したり、管理したりするための特別なプログラミング言語だ。図書館システムで言えば、書籍のタイトルや著者、貸出状況、利用者の情報などを整理して効率的に管理するために必要となる。二つ目は、そのデータベースの「構成を説明するドキュメント」を作成すること。これは、データベースがどのように設計され、どのような情報がどのように保存されるのかを、他の開発者や関係者が理解できるように文書化する作業だ。システムの設計思想や運用方法を共有するために非常に重要な工程である。
三つ目は、「Laravelを使ってデータベースにアクセスするAPIを開発すること」。API(Application Programming Interface)は、異なるソフトウェアやシステム同士が情報をやり取りするための「窓口」のようなものだ。例えば、スマートフォンアプリから図書館のデータベースにアクセスして、本の情報を検索したり、貸出を予約したりする際に、このAPIが仲介役となる。Laravelは、PHPというプログラミング言語を基盤とした「フレームワーク」の一つで、Webアプリケーション開発を効率的かつ堅牢に行うためのさまざまな機能やツールを提供する「開発の土台」のような存在だ。これを使うことで、データベースとの連携や、情報の受け渡しをスムーズに行うシステムを構築できる。そして四つ目は、そのデータベースと連携して情報を表示したり、ユーザーが操作したりするための「インターフェース」を作成すること。これは、私たちが普段ウェブサイトやアプリケーションで目にする画面や操作ボタン全般を指す。
この課題を読んだときの筆者の驚きは計り知れないものだっただろう。彼はそれまで、Webサイトの「見た目」を作る技術に集中しており、データの保存や管理、システム間の連携といった「裏側」の仕組みについては全く知識がなかった。具体的には、リレーショナルデータベースの概念が理解できておらず、Laravelの基盤となるPHPという言語も知らなかった。さらに、フレームワークやAPIといった重要な概念についても、漠然とした理解しか持っていなかったという。
しかし、彼は諦めなかった。本業の合間の時間、つまり本来なら休憩やリラックスに充てるべき時間を削って、必死に学習し、課題に取り組んだ。その結果は深刻な睡眠不足を招くほどだったが、それでも彼の知識不足は明白で、課題を完全にこなすことはできなかった。
会社側は彼の努力を認め、非常に親切な対応を見せた。提出期限をさらに一週間延長してくれただけでなく、後日、よりフロントエンド開発に特化した別の機会も提案してくれたという。しかし、筆者はその提案を辞退した。彼は、当時の自分の限られた知識では、実際の開発現場でチームの一員として「本当に役立つ」レベルには達していないと冷静に判断したのだ。この判断は、自分のスキルレベルを客観的に見極めるプロフェッショナルな姿勢を示している。
筆者はこの経験を通して、いくつかの重要な教訓を得た。世間では「IT業界ならすぐに仕事が見つかる」といった話を聞くことも多いが、彼の経験は、それが必ずしも現実的ではないことを示している。全く新しい分野を一から学ぶのは決して簡単ではなく、特に本業と並行しながら学習を進めることは、多大な時間と努力、そして精神的な負担を伴う。
彼の最も大きな学びは、「焦って準備不足のまま物事を進めるよりも、確かな理解を持つことの重要性」だろう。表面的な知識だけでは実際の現場で通用しないことを彼は身をもって経験した。そして、たとえ今回の技術テストが失敗に終わったとしても、その過程で得られた学びや気づきは、今後の成長にとってかけがえのない財産となる。
システムエンジニアを目指す初心者にとって、この筆者の経験談は、単なる失敗談ではなく、将来のキャリアパスを考える上での貴重な道標となるはずだ。堅実な学習を積み重ね、確かな基礎知識を身につけることこそが、成功への最も確実な道である。そして、自分のスキルレベルを客観的に評価し、必要であれば一度立ち止まって学習し直す勇気もまた、プロフェッショナルとして成長するために不可欠だ。