HTML5プロフェッショナル
認定試験 レベル2 認定者
ヤマトシステム開発株式会社
システム本部 開発技術推進グループ 開発技術推進
木村 直樹さん
“クロネコヤマトの宅急便”でお馴染みのヤマトグループが扱う「宅急便」は、年間約16億個にものぼります。ヤマトシステム開発は、これら膨大な数の宅急便の基幹システムを開発・運用するとともに、この技術ノウハウをベースに、業務プロセス効率化のためのソリューションを製造・流通・金融など12,000社を超えるさまざまな業種のお客様に対してご提供している会社です。
私が所属するシステム本部開発技術推進グループは、新しい技術の調査を行ない、当社の各種システムのインフラを支えるための有用な技術を各技術部門に展開推進する役割を担っています。
その中で、全社的視点からWebアプリケーションセキュリティの標準化を進めながら、セキュリティ強化を図るのが、現在の私の業務目標となっています。
具体的には、Webアプリケーションの形態で提供している各ソリューションでセキュリティの問題が起こることがないよう、当社が提供するサービスやアプリケーションのセキュリティ対策を立案し、それを導入推進するのが主な仕事です。
私がヤマトシステム開発に勤めて今年で15年目になります。入社した1999年は、ちょうど2000年問題を控えて世の中が恐々としていたころで、まだ汎用機も多く残っていた時代でした。当時の私はシステム開発専門の部署ではなく、ロジスティクス効率化のソリューションを提供する部署に所属していました。
宅急便のシステムには、宅急便ネットワークを支える「NEKO(New Economical Kindly Online)」と呼ばれるシステムがあり、すでに安定して稼働・運用されていました。この宅急便システムを始めとしたヤマトグループのサービスと連携した物流業向けシステムのアウトソーシングサービスとして、一般企業のお客様から請け負った商品の在庫管理などを行っており、そのシステムの開発・保守が私の担当する仕事でした。
そこで私がまず感じたのは「開発と現場が非常に近い」ということです。システム開発の仕事では、お客様がシステムを利用する場面がよく見えず、そのために出来上がったシステムがお客様の要望から乖離してしまうことも多いのですが、当社の場合、「倉庫」というリアルな現場があり、長年ロジスティクスを運用してきた当社の現場の声を反映してシステムを自ら開発・保守していくことができます。
システムを直接使う人が目の前にいることで、システムを変えることによって現場がどのように変わるのか、また、現場の要求を実現するためにシステムをどのように変えるべきかなど、実際にシステムの効果を目の当たりにできる環境で開発や保守を行うことができたことは貴重な体験でした。
LPI-Japanの認定試験は、2013年9月の「OSS-DB技術者認定試験 Silver」の取得を皮切りに、2014年に入ってからは、2月に「HTML5プロフェッショナル認定試験 レベル1」、3月に「LPICレベル1」、そして今回、「HTML5プロフェッショナル認定試験レベル2」では、9月の正式なリリースを前に7月に実施されたベータ試験を受験し、合格することができました。
私が「HTML5」を始めとしたLPI-Japanの認定資格を取ろうと思ったのは、OSやDBを含めたWebアプリケーション全体についての一定レベルの知識が現在の業務で必要だったからです。新しい技術に限りませんが、なにかを調査していくためには、その特定分野だけでなく、より広く周辺分野の知識も必要になります。
WebアプリケーションにとってHTMLやJavaScriptは欠かせない技術であり、HTML5によって続々と新たな仕様が加わっていました。今後はそれを踏まえたしっかりとした知識が必要になると思い、その確認の意味で認定試験を受けてみることにしました。改めて勉強してみると、曖昧に理解していた部分があったことに気づき、結果としてHTML5の正しい知識を身につけるよい機会になりました。
「HTML5」だけに限った話ではなく、「LPIC」であればサーバのOSやミドルウェア、「OSS-DB」ではデータベースの知識が問われます。これらの資格を取得することは、自分のスキルを高めるとともに、それが実際に身についているかどうかを確認することにもつながり、私にとっては一石二鳥といえます。
また実は、HTML5プロフェショナル認定試験の取得は会社の業務命令でもありました。当社の人材育成制度には資格取得奨励金制度があり、情報処理技術者試験のようなITの基本となる資格はもちろん、各事業部門にとって必要とされる資格も奨励金の対象としています。
「LPIC」と「OSS-DB」はすでに奨励資格となっていましたが、2014年から新たにスタートした「HTML5」は奨励資格として採用するかどうか検討中です。そこで私が「HTML5」の試験を実際に受けることで、奨励資格とすべき内容かを評価し、上司に報告することになったわけです。
もちろん「HTML5」を奨励資格に推薦したいと考えています(笑)。
HTML5は、一旦最終草案 (Last Call Working Draft) に差し戻されていた仕様が、先日、再び勧告候補 (Candidate Recommendation) として公開され、まもなく正式勧告される予定です。
(※2014年10月28日に正式勧告されました。)
しかし、アプリケーションを開発する上では従来のHTML4.01とHTML5を明確に区別する必要はありません。仕様としては分かれていますが、実際にアプリケーションを動かすWebブラウザのほとんどが、HTML4.01との互換性を保ちつつHTML5に対応してくれているので、段階的にHTML5への移行を進めることができます。
事実、モバイルファーストなどHTML5が活用されるステージは広がってきています。
とくに、適しているのはモバイル系のWebアプリケーションです。スマートフォンなどのWebブラウザは、すでにHTML5にある程度対応していますから、マルチデバイス対応などの流れでパソコンでもHTML5は普及するでしょう。
現状でHTML5の活用がもっとも進んでいると思われるのはゲーム業界で、HTML5のAPIが活用されているというイメージを持っています。アニメーションやさまざま機能が必要とされるゲーム・アプリケーションを多様な機種やOSのスマートフォンに対応させるにはHTML5は最適です。
当社は、事業部門ごとにさまざまなソリューションを展開していますので、それぞれの計画や方針によってHTML5の活用は違ってきます。お客様から既存のアプリケーションをスマホにも対応させられないかというニーズに対して、一部の部門ではレスポンシブデザインを検討しています。
ただし、エンタープライズシステムにおいては安定性がとても重視されますので、HTML5をどのように取り入れていくのかは、個々の案件ごとに検討する必要があります。
たとえば、HTML5をフル活用したアプリケーションの場合、お客様の環境で端末にHTML5に対応していないWebブラウザがあると互換性の問題が生じます。また、デバイスを選ばないという意味でHTML5を活用したいところではありますが、HTML5を採用することでデバイスそのものの性能をフルに発揮できない場合もあります。
したがって、業務アプリケーションに対するHTML5の採用は、どのWebブラウザでも安定して稼働し、かつアプリケーションにとって有用なものを見極めながら、少しずつ取り入れて行きたいと考えています。
アプリケーションに求められている要件によりますが、一般的な業務アプリケーションであれば、それぞれのデバイスごとにネイティブアプリケーションで作り分けるよりHTML5を使っていく方が、将来的には、コストの面でもメンテナンスの面でも効率的ではないかと考えています。
勉強は主に通勤時間を活用しました。
片道約1時間のうち、実際に集中できるのは15分ぐらいでしたが、最近は参考書も電子書籍化されているものが多く、電車で立ちながらスマホで見ることができるので、わずかな時間でも捻出できれば勉強することができます。
問題を解いてみて、できなかったところは書籍を見たりネットで調べたり、それだけでわからない箇所は、家に帰ってから実機で動かして確認しました。
純粋な資格取得のための勉強を始めたのは、試験直前の一週間前ぐらいでした。
「HTML5レベル2」のベータ試験を受けるにあたっては、試験自体がリリース前だったので、出題範囲ぐらいしか情報がなく、情報収集のため参加したセミナーでも出題範囲を超える情報は得られませんでした。そのため、試験対策のカギとなったのは、出題範囲で示された各試験項目の重要度でした。
レベル2は、JavaScriptの文法などの基本部分に関する問題が大半を占め、残りがAPIについてです。私の場合、JavaScriptは実際にプログラミングした経験があり、基本部分は理解していたので、おさらいする程度で済みました。あとは知らないAPIをどの程度覚えられるかでした。
重要度の高いものについては仕様をおさえた上でコードを書いてみるなどして動作を確認して理解を深めました。重要度が低いものについては、詳細な知識がなくても仕様の概要を理解していれば回答できると思いました。
出題範囲にあるAPIの中には、技術調査の仕事で試しに使ったことがあるものもいくつかありました。WebSocket(ウェブソケット)もその中のひとつです。仕事での経験が活かせたという意味では、恵まれていたと思います。
今後、更に上位の「HTML5 レベル3」の試験がリリースされるのであれば、受験してみたいと思います。
Webアプリケーションの開発に携わっている人たちには、まず「HTML5 レベル1」を取得して、正しいマークアップ(構文の記述)ができるようになってもらいたいと思います。
当社の場合、Webの黎明期から多くのASPサービスを提供してきた関係で、動的コンテンツの生成をサーバ側で行う、いわゆる旧来からのWebアプリケーションが数多くあり、クライアントサイドでJavaScriptを使ってコンテンツを動的に変えるものは主流ではありません。
ともあれ、コンテンツを動的に変えるのがサーバ側であれクライアント側であれ、HTMLがWebページの土台となることに違いありません。HTMLを正しくマークアップすることは、相互運用性や保守の面で大事なことです。CSSの記述やJavaScriptでのDOM操作もシンプルにできます。したがって動的なアプリケーションでも、まずは正しくマークアップできるスキルが優先されます。
ただ、どんなWebアプリケーションでもJavaScriptは少なからず開発現場では使っていますので、その意味でもレベル1からステップアップしてレベル2の取得も目指してもらえると、さらに良いのではないでしょうか。
世間ではアプリケーションの形態もサーバサイド偏重から、クライアントサイドでもある程度のことができるようにスクリプトを活用することがだいぶ増えています。
したがって、今後の動向を考えてクライアントサイドで動くアプリケーションが組めるようになるといった意味でも、「HTML5 レベル2試験」はエンジニアがステップアップするための資格として有用だと思っています。
Webの技術を勉強することは、他のLinuxやOSS-DBなどに比べてそれほど敷居が高くありません。HTML5に関して言えば、Webブラウザさえあれば動作確認もできるので、学習をすぐはじめられます。ぜひとも気軽に資格取得を目指して欲しいと思います。
IT分野でWebのシステムは、もはや社会になくてはならないもので、個人的には絶対になくならないと思っています。そういう意味でもベースとなるHTML5は勉強しておくべきですし、とくにWebに関わる方であれば、レベル1だろうと2だろうとHTML5プロフェッショナル認定試験は取っておいて損はない資格です。
HTML5は仕様が公開されていますので、見るのは自由です。どのような仕組みなのか興味が湧いたなら、試験のためだけに勉強するというよりも、日頃から関連のサイトを覗いたり、自分でコードを書いてみたり、勉強会に参加してみたりすると、その蓄積で自然にスキルも上がっていくと思いますよ。
最近では、GitHubなどのおかげで、個人でも自分が作ったソフトウェアのソースコードを公開したり、OSSのプロジェクトに参加したりすることが比較的簡単にできます。私もスキルアップを兼ねてGitHubを利用してソースコードを公開したり、他人のソースコードを読んだりしています。少し前でいえば、MicrosoftがGitHub上で公開しているmodern.IE-static-code-scanというWebサイトの互換性を検証するためのオープンソースソフトウェアを見る機会があって、それに少し手を加えて修正したコードを送ったら、それがそのまま採用されたことがありました。仕事でなくてもソフトウェアの開発に貢献できると、とても楽しいです。
他にも、気になるテーマがあれば、Webプラットフォーム技術のコミュニティである「html5j」の勉強会やセミナーなどにも参加しています。こういった勉強会は、基本的には無料のものが多いですし、デモを見たり、いろいろなこぼれ話を聞けたりします。インターネットで公開されているブログの情報をただ読むだけでなく、楽しみながら実際の技術を目の当たりにできるので、こういった勉強会にも積極的に参加してみてはどうでしょうか。
受験を決めたら、まずメルマガ登録。
学習に役立つ例題解説付きメールマガジンを定期発行