コンテンツの作りやすさを大幅に改善
――小西さんはリードエンジニアとして、今回のリニューアルではどのような役割を果たされたのですか?
小西:僕が主にやっているのは、システムの下回りの開発。先ほど池田が述べた「プラットフォーム」と呼ばれる部分で、コンテンツを登録・更新するための機能や、出題・解答・評価を行う機能などを実装しています。実はcodecheckの時代から、僕としては作りたかったものをずっと作り続けている感覚なんですよね。誰にどう使ってもらうか、どんなコンテンツをのせるかといった“上物”の話は私の管轄外。いつかは多くの人に使ってほしいという思いはありますが、そこに至るまでの手段はそんなに気にしていないんです。
ただ、池田が来てくれたことで、ビジネス的なところがすごく強くなった。今後はさらにどんどん広がっていくことを期待しています。
――池田さんがおっしゃるには、プラットフォームはtrackへのリニューアルですべて作り直したとのことですが、具体的には?
小西:codecheckでは、ユーザー(スキルチェックの出題者と解答者)が書いたプログラムコードを、サーバー側で実行する必要があるのですが、その数が多くなってきて管理しきれなくなってきていたんです。品質や安全性が不明なそれらのプログラムコードを実行するには、従来のシステムでは不安があったため、実行環境であるプラットフォームを作り直したのです。新しいプラットフォームでは、ユーザーの書いたコードはすべてDockerコンテナ上で動かすようにしました[3]。
――trackになって、エンジニアの評価と育成を長期的に支えるシステムになると思いますが、この辺りについて小西さんはどうお考えですか?
小西:そうですね。その辺りをどうするかというのは上物の話になると思うので、ユーザーの反応を見ながら開発していければいいのかなと。現時点で最終形のイメージは持っていないです。僕はコンテンツを作ったり、動かしたり、管理したりする仕組みのほうに意識が向いていて、“いかに簡単に書けるようにするか”が僕のタスクだと考えています。そのために、「Markdown形式[4]で書いたコンテンツの見た目や動作をWebブラウザでそのまま確認できる」といった機能を開発しました。
Markdownなので、いくつかのルールを覚えて書いてもらえばGitHub上で読めますし[5]、trackに載せれば、それが学習コンテンツとして見られるようになっているんですよね。Ruby on Railsのように規約に沿って記述する経験があれば、教材や試験を独自で作成してみようというユーザーに、すぐに使いやすさを実感してもらえると思います。
## 標準出力に"Hello World"を出力する 標準出力に文字列"Hello World"を出力してみましょう。 標準出力への出力には`System.out.println`というメソッドを使用します。 ### main(Main.java) ``` public class Main { public static void main(String[] args) { ${System}.${out}.${println}("Hello World"); } } ``` ### hint 標準出力に文字列を出力するメソッドは`System.out.println`です。 (SystemのSは大文字です。) また、Javaでは文字列は`""`で括ります。 ``` public class Main { public static void main(String[] args) { System.out.println("Hello World"); } } ``` 厳密にはこれは「Systemが持っているstatic変数outのメソッドprintln」を実行している、という意味なのですが、今はこれも丸暗記しておけば良いでしょう。 ### tips javaコマンドの実行結果として"Hello World"が出力されるようになりました。 mainの処理として、"標準出力にHello Worldを出力する"という処理が記述されたので、javaコマンドがその処理を実行したのです。 ### remote - build: javac Main.java - command: java Main
注
[3]: マークアップ言語の1つで、見出しや箇条書き、ハイパーリンクなどを読みやすく簡単に記述できる。ルールが少ないので覚えるのが比較的簡単なほか、人にとっても読みやすいのが特徴。
[4]: GitHubは、インターネットを介してソフトウェアを共同開発するためのソースコード共有サービス。Markdown形式で記述した文書をGitHubにアップロードすると、Webページとしてレイアウトされて見やすく表示される。
[5]: Dockerは、OS上に仮想的なアプリケーション実行空間(コンテナ)を作り出すソフトウェア。プログラムコードをコンテナ内で実行すると、システムを破壊するような動作を封じることができる。
ITエンジニアの選考時の能力把握・社内でのスキル評価・人材配置に悩む
リーダー・マネージャー・人事様へ
スキルチェックのデモにうかがいます!
ギブリーでは「」によるスキルチェックのデモにうかがっております。「採用におけるスキルのミスマッチをなくしたい」「自社のITエンジニア、ならびにエンジニアチームのスキルがよくわからない」「エンジニアを適材適所で活かし、生産性を高めたい」といった悩みを解決する糸口を、trackのデモからつかんでみませんか?
下記のWebページにtrackのサービス詳細がございます。そちらをご確認いただいた上で、デモをご希望される方は、同ページの「体験版デモ」よりご相談・お問い合わせください。
>>> track「サービス」ページ