よく私との人事面談の際に、
「CircleCIのサービス・製品は専門的で難しい」
「ソフトウェア開発者向けなので理解がしにくい」
「私たちの生活とどう密接に関係があるかわからない」
などのお声を頂くことがありました。
私もIT業界・ソフトウェア業界について理解が不足していた頃、
ソフトウェア開発をはじめとする技術的な知識が乏しかったのですが、
実際に私たちの身の回りの生活と密着していることがわかれば、IT業界・ソフトウェア業界にとても興味を持ち始めることができました。
今回の記事ではソフトウェア開発未経験の私もCircleCIについて学んだことについて皆様にも共有できればと思います!
私たちが使っているアプリはどのように作られているの?
皆様はネットショッピングや検索サイトエンジン、ゲーム、メール、ネットバンキングなど、お持ちのスマートフォンで様々なアプリケーションを日常的に使用していると思います。
またパソコン上でもインターネットを利用してサイトを閲覧したり、WordやExcelなどでドキュメントを作成したりなどしているでしょう。
このようなアプリケーションは、ソフトウェアエンジニアがプログラミング言語を用いてソースコードを作りソフトウェアを開発しております。
ソフトウェアの開発プロセスはよく建築で例えられてきましたが、全体としては、
何を作るか決めて、(要件定義)
どうやって作るか決めて、(設計)
実際に作って、(実装)
きちんと動くか確認する・・・(テスト)
ユーザーが利用できるように公開する・・・(リリース)
のプロセスを経て開発され私たちの手元のスマホできちんとアプリが使えるようになっています。
ソフトウェア開発における課題
これまで、ソフトウェア開発におけるテストはテストエンジニアによって実行されてきたため、
1) そもそもテスト項目が不足していて、誰もが利用する機能が正しく動作しない(ソフトウェア開発の中ではバグと呼んでいます。)が発生していました。
さらに、バグの修正時や新機能の追加時に、
2) 修正箇所や追加箇所と(一見)関係ないように見えるテストを「テスト時間短縮」のために実行しなかった結果、気づかないうちに以前動作していた機能が動作しなくなることがありました。
ソフトウェアの不具合の原因を調査する際に、
「ここはテストしたはずだから、ここが原因ではない」といったん思い込んでしまうと、
実際の原因が「テストしたはず」の箇所にある場合、回り道の結果、原因追及に多くの時間が必要となっていました。
例えば、
🗣ネットショッピングサイトで商品の購入ボタンを押し、決済情報を押したのにも関わらず次に進まず、エラーが出てしまった。
🗣ブラウザ上の次のページを見たら、全て文字化けになってしまった。
🗣オンラインレッスンの会員ページへログインをしたら、キャンセルしたはずのレッスンが表示され続けている。
このような出来事は今までにございませんでしたでしょうか。 これはソフトウェア開発のバグやエラーが原因となっている可能性があります。
このようなバグやエラーを残したままリリース、公開してしまうことを防ぐために、ソフトウェア開発プロセスをより効率よく、またより速く、品質の良いソフトウェアを市場に出すためにどのようにすればいいかを多くのエンジニアやIT部門の方は常に考えております。
CircleCIによって何が改善されるの?
CircleCIはSaaS型のCI/CDサービスです。CIとはテストや静的コード解析、セキュリティ脆弱性の検出などの作業を自動化することで、継続的に実行する手法です。またCDとは各環境へのデプロイやリリース作業を自動化することで、継続的に実行する手法です。
つまり、CircleCIはソフトウェア開発プロセスにおける、品質管理にて重要視されるテスト・ビルド・リリース・デプロイなどプロセスの自動化を行うことができるのです。
プログラミング言語やフレームワークのバージョンアップは日々進化を続けており、またエンジニアは日々、ソフトウェアの更新・修正を続けています。CircleCIを活用することで、これらの変化がどのくらいの頻度で発生しているのか、変化に対して自動的にテストを実行し、テストにどれくらいの時間がかかっており、どういった問題が発生しているのか、問題の修正にはどれくらい時間がかかっているのかを管理し、本番環境へのリリースを管理することが可能となります。
CircleCIユーザーの対象となるのはソフトウェア企業だけ?
よく候補者の方からこのようなご質問もいただきます。
💁♀️「CircleCIのお客様はソフトウェア企業のみですか?」
💁🏻♂️「お客様はインターネット企業のみですか?」
実はその概念が現在変わってきております。
現在ソフトウェア開発がビジネスの成否に大きな影響を与えているのは、インターネット企業とソフトウェア企業のみならず、
自動運転技術やIoTを組み込んだ機械等の開発に取り組んでいる製造業界、
フィンテックやデジタル金融サービスを作り出している金融業界、
Eコマース化を進めている小売・サービス業界など、多岐に渡ります。
これは様々な企業がDX(デジタル・トランスフォーメーション)を促進し、その中で自社の製品やサービスにより近いところでのソフトウェア開発が必要不可欠となってきているためです。多くのエンタープライズ企業様からのお問い合わせや実際にCircleCIを取り入れていただいているお客様も増えております。
その為、対象となるお客様はソフトウェアエンジニアの方のみならず、様々な企業の戦略室、CTO、経営層の方などデジタル戦略を検討している層も私たちの対象となっております。
いかがでしたでしょうか?
私たちが日々使用している身の回りのアプリやソフトウェア、ネット検索などがスムーズに利用できたり、 あらゆるデジタルサービス内で新しい機能追加・更新があるのは、CircleCIのサービスが携わっている可能性があるかもしれません。
私たちのビジネスは実は身近な社会の中で役立っていることが多いのです。
もし弊社のCircleCIビジネスを一緒に作り上げていきたい方、
デジタル化の貢献をより実感してみたい方、
SaaSソフトウェアビジネスについてもっと学んでいかれたい方、
是非CircleCI タレントネットワークへご登録しませんか?
カジュアルミーティングも受け付けております!
今後も多くのポジションを募集する予定ですので是非弊社のキャリアサイトもチェックしてみてください!
また下の会社説明紹介もご参照ください!
CircleCI Japan's job postings