プログラマーが頼りにするおすすめツール
プログラミングで使用するツールはまさに日進月歩で、1年前に主流だったものが時代遅れになる状況です。今回、話を聞いたエンジニアたちの現場では『PhpStorm』という『IDE(統合開発環境)』と呼ばれる種類のツールを、上級エンジニアは上位版に相当する『IntelliJ IDEA』を使用しています。IDEはソフトウェア開発に必要なツールが一通り揃ったソフトウェアであり、中堅エンジニアいわく「基本的にWebサーバだったらPhpStormが業界標準になっています」と言うだけに、初心者・上級者問わず世界中のエンジニアから高い評価を受けていて、おすすめのツールです。
「基本的にプログラムはメモ帳で書けと言われています。でも、それをやっているとどうしても効率が悪い。とりあえず書いて保存して実行のコマンドを打てば動くんですけど、すごく時間がかかるんです。そこで自分たちはPhpStormに代表されるIDE、出来合いのツールを使って効率を上げるようにしています。関数や変数を定義している場所とか、自分が知りたい場所へボタン一個で飛ぶことができる。今はできるだけ効率を上げるというのが至上命題ですからね」(中堅エンジニア)
ツールは、まずは試してみること
数あるツールを自由自在に使いこなすには、とにかく触れてみること。いろいろな言語に触れるという意味でも大事です。たとえば『PHP』だけではなくフロントエンドの『JavaScript』やAndroidアプリ系の『Java』など、専門分野以外の周辺知識を知っておくというのも将来性を考えれば必要になります。
ノートクラウド上で管理できるツールでは『Evernote』が一世を風靡していましたが、機能面ではやや劣るものの無料の『Google Keep』がシェアを伸ばしています。また、IoT機器『Raspberry Pi』はマイコンがサーバになったもので、USBでSSDやHDとつないでネットワーク共有させることもできます。しかも安価なうえにプログラミング環境としても最適と、敷居の低さが魅力です。若手エンジニアは、ほぼすべての言語に対応し、任意の OS で動作するソースコードエディタ『Visual Studio Code』がおすすめに挙げています。
「全体的に使いやすいし、早い。情報も多いし、使っている人も多いと思います。あと、Webのフロントエンドの場合はツールで言う『Gulp』、『Grunt』、『Parcel』、『webpack』の4つがモジュールバンドラで、単体もしくは組み合わせて使うものです。ただ、フロントエンドはよく変わるります。今はGulpが多いと思うんですけど、流れ的にはwebpackに移っています。でも、それももうすぐ終わりそうですね」(若手エンジニア)
プログラミングのおすすめサービス
ここでは国内外のIT企業から提供されている各種サービスに目を向けてみます。監視サービスを提供している企業に導入が進んでいる『Twilio』はクラウド電話APIサービス。障害発生時に自社のWebサービスAPIを用いて、電話の発着信やテキストメッセージの送受信を実現。社内への導入を提案したベテランインフラエンジニアも結果には満足しているようです。
「障害発生時、夜中にメールを送られてきても起きられないじゃないですか。これだと電話を登録した番号にかけてくれるんですよ。今までは電話をかけるところを監視委託先に依頼して、障害があった時に電話をかけてもらっていたのが、このサービスの場合は簡単なプログラムを連携することにより自動で電話をかけてくれる。人を介さないことで、大幅なコストカットが実現できました」(ベテランインフラエンジニア)
自社サーバを持たないクラウドサービスは飛躍的にシェアを伸ばしており、今や利用企業は過半数を超えています。大手3社のひとつ、Amazonによる『AWS( Amazon Web Services)』は190か国の100万以上、日本国内では10万以上の企業に提供。信頼性と拡張性に優れています。
「サービスのラインナップが強力かつ豊富。サービスの更新頻度もグレードアップの更新頻度もものすごく多いので、物にもよるけど値下げもするし、コストもそれほどかからないし、ものすごく気の利いたサービスがどんどん提供されているんですよ。サーバレスでIoTやAIといった流行りのものもあるし、昔からあるものもどんどん良くなっいてる。その良くなり方がすごい。こんなに良くなることをこんなに安く提供してくれる企業があるんだというくらい感動しています。他にもクラウドサービスを提供している会社はいくつかあるなかで、リードしているのがAWSですね」(ベテランインフラエンジニア)
まとめ
エンジニアが使用するツールはまさに適材適所で、その時点で最適なものを選択することで作業時間は大幅に短縮され、コスト削減にもつながります。各種サービスも同様で、Web業界における業務の効率化は至上命題。まずは触ってみて自分にあったものを取り入れて、仕事の進化を図りましょう。