現役エンジニアが教える!優秀なWebエンジニアへと引き上げてくれる10のツール
これからエンジニアとして活躍したい人必見の10のツールを紹介。優秀なWebエンジニアになるためには実務の経験やプログラミング言語の知識だけでなく、世の中の便利なツールも知っておきたいものです。作業効率もあがるのでぜひチェックしておきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
本稿は、Codementorのブログ記事を、了解を得て日本語翻訳し掲載した記事になります。また本記事はエンジニアのNatasha Postolovski氏によって投稿されました。
優秀なエンジニアになるには、実践や経験が大切なのはもちろんですが、意外なツールが役に立つこともあります。
今回は優秀なエンジニアへと引き上げてくれる10のツールを紹介します。
1.CodeWars
プログラミングの小さな課題をこなすことは、プログラミングスキルをレベルアップするための優れた方法です。
ちょうどピアノを弾く人が音階練習をしたり、サッカーをする人がリフティングの練習をしたり、絵を描く人がデッサンをするように、これらの課題はエンジニアにとって、プログラミングスキルの基礎力を強化するための基礎練習になります。
それだけではなく、あまり使用したことのないプログラミング言語に慣れるためにも、良い方法です。CodeWarsには、難易度や使用言語別のカテゴリーに分けられた課題が数多くあります。
CodeWarsの良いところは、課題をこなした後に最も高く評価された解答例のコードを見ることができる点です。優れた解答例からは学べることが多いと思います。
2.Evernote
エンジニアの仕事には、膨大な量の情報処理がつきものです。新しいテクノロジーに、キーボードのショートカット、ソフトウェアの要件、ベストプラクティスなど覚えるべきことがたくさんあります。
人が覚えることができる情報量には限界がありますが、こうしたときに「第二の脳」として助けになるのがEvernoteです。
学習したこと、読んだ記事、キーボードのショートカット、コマンドなど、記憶しておきたい情報を何でもEvernoteに保存しておくだけでいいのです。無料利用枠もあります。
Evernoteにはクラウドが使われているので、いつでも情報へアクセスできます。
Evernoteの中に次のようなノートを作成できます。
- たまに必要になるがよく忘れるコマンド集
- プログラミング言語のベストプラクティス
- システムや製品の全体像を示した図解
- ホワイトボードに書かれた図解の写真
- アジャイルソフトウェア開発の反復 (イテレーション)の最後に行うレトロスペクティブ(反省&戦略会議)
- 後で読みたい記事
- 後で視聴したいTech Talk(技術系のトークセッション)などの動画
- 将来学びたいことについてのメモ
3.Sip
Sipは豊富な色を選べるカラーピッカーで、フロントエンドの開発で役に立ちます。RGBや16進数など数多くのカラーコードから指定するだけで、好きな色を見ることができます。
それぞれの色につけられている名前を見るのも楽しいです。ちなみに私のお気に入りは「Tickle Me Pink」という色です。
4.Trello
Trelloは軽くて無料の、プロジェクト管理のツールです。
このアプリの使い方は、Trelloのボードに縦方向にリスト(水泳のレーンに似ているため「swim lane」とも呼ばれています。)を並べ、その上にカードを配置するだけです。
チームで取り組む大規模プロジェクトには、Jiraのような重い管理ツールが使われるかもしれませんが、個人で引き受けるプロジェクトの管理や、学習スケジュールの管理などには、Trelloが適しています。
また、Trelloの活用事例は数多く公開されていて参考にできるでしょう。
5.Atom
AtomはGitHubによって開発されたテキストエディタです。比較的新しく、無料で、オープンソースで、デザインも美しく、使いやすさも抜群です。
仕事の開発では、もっと高機能な総合開発環境(IDE)を使うかもしれませんが、個人で引き受けるプロジェクトや、簡易プログラム(スクリプト)のエディタとしてはAtomはとても優れたツールになるはずです。
Atomの特に優れた機能は、Markdown(マークダウン)のプレビュー機能です。Markdownで書いたメモなどをプレビューからリアルタイムで見ることができます。Readmeファイルや他の文書の作成にとても便利です。
6.Unity
Unityは、無料のゲームエンジンで、マルチプラットフォームに対応したゲームの開発を容易にしてくれます。
エンジニアたちの間でも、ゲーム開発は「素晴らしいけれど、敷居が高い」と思われがちですが、Unityの質の高いチュートリアルや進化し続けるツールを活用することで、その世界に入る壁を感じることもないでしょう。
これまで触れたことのない、ゲームのプログラミングの世界を体験することで、優秀なエンジニアになるための洞察力やアイデアを得られるかもしれません。また、プログラミングを楽しいと感じられる事も多いと思います。
7.Code Climate
Code Climateはコードの自動解析ツールです。2週間の無料お試し期間があります。
あなたの作成したアプリについて、複雑性、コードの重複、セキュリティ、スタイルなど多くの項目ごとに評価を出してくれます。個人やチームのプロジェクトで作ったコードの品質について、多くの気づきを得られるはずです。
コードを改良するときにはエンジニアとしての勘も役に立つかもしれませんが、それでもテストで検出されたエラーなど改良すべきところが多すぎると、どこから始めたらいいのか困るかもしれません。こういうときにはCode Climateを使えば、最適なスタート箇所を教えてくれます。
8.Raspberry Pi と Arduino
Raspberry Pi(ラズベリーパイ)は、クレジットカードサイズの小さなシングルボードコンピュータです。サイズが小さいので拡張性に優れていて、価格も手頃です。
Raspberry Piからはいろいろなものを作ることができます。小型サーバー、セキュリティーシステム、電子楽器、照明のリモコンなど、これまでにも数多くの作品例があります。
Arduinoも同じようなボードですが、汎用のマイクロプロセッサではなく、マイクロコントローラです。いわばプログラミングを物理的な世界に応用できるすごいツールといえます。面白い発明品を作るためには、電子部品の組合わせ、プログラミングの両方を考える必要があります。
9.IFTTT
画像:「IFTTTのレシピであなたの世界はもっと自動化できる」
お気に入りのアプリやデバイスを「If This Then That」でつないでみよう
IFTTTの「If This Then That(もしこれならあれ)」と表現される技術は、通知、電子メール、更新情報などを、面白く連携させることができます。
IFTTTを使えば、アプリやデバイスを「条件」と「結果」でつなぐことができます。
例えば、「メッセージ受信」したら(退屈な会話から逃れるために)「ニセの電話を鳴らし」たり、「一定の温度に達した」ときに「自動でエアコンを入れ」たり、「重要な会議が始まる前」に「SMSのアラートを送信」したりというように使えます。
また、「モノのインターネット」(Internet of Things、IoT)のIoTデバイスをインターネットとつなぐことも可能です。例えば、あなたの好きなサッカーチームが得点を入れたときに、スマートライトを光らせるようにプログラムすることもできます。
IFTTTの「レシピ」はあなた次第でいろいろ作れます!ぜひ楽しんでみてください。
10.CodePen
CodePenは、「フロントエンドのエンジニアのための遊び場」とトップページで紹介されているオンラインエディタです。CodePenの目的は、「コードとその出力結果を公開して、よりシェアしやすくする」というシンプルなものです。
フロントエンドの言語による優れたコードが数多く投稿されていて、複雑なアニメーションから3Dで表現された都市まで見ることができます。
プロトタイプ(試作)のコードを素早く実験するのにも役立ちますが、1番の利点は何といっても、クリエイターによって投稿された優れたコードサンプルから、創造性やインスピレーションを得られることです。
きっと「こんなことも可能なのか!」と、今日のフロントエンドの技術の可能性を見直すことになると思います。新しいことに挑戦する良い刺激になります。
[お知らせ]TechAcademyでは初心者でもエンジニアになれるオンラインブートキャンプを開催しています。これからプログラミングを勉強し始めようと思っている方は、ぜひご覧ください。