本文へスキップ
BigTree108

CとC++の開発サービス

組込みファームウェアとIoTデバイス、Qtデスクトップアプリケーション、ネットワーク・通信ソフトウェア、低レイテンシで高性能なシステム、セキュリティソフトウェア、産業・医療・自動車向けソフトウェア、長く使われてきたC++コードベースのモダナイゼーションに向けたCとC++の開発サービス。C++開発者を専任チームとして御社に加えることも、C++プロジェクトを企画から納品まで一貫して請け負うことも可能です。

CとC++で開発するもの

  • CとC++による組込みファームウェア

    Zephyr、FreeRTOS、ベアメタルで動くARM Cortex-M、ESP32、Nordic nRFマイコン向けのファームウェアと、Yoctoでビルドする組込みLinux上のC++アプリケーションを、ボードが許す場合はハードウェアインザループのテストとともに開発します。

  • C++によるネットワーク・通信ソフトウェア

    DPDKによるパケット処理、VoIPとメディアサーバー、ルーター、ゲートウェイ、ネットワークアプライアンスを開発し、スループットとレイテンシはリリースのたびに負荷をかけて計測します。

  • Qt、MFC、Win32のデスクトップソフトウェア

    Qt WidgetsまたはQMLを使い、ひとつのコードベースからWindows、macOS、Linuxに対応するQt 6アプリケーションを開発します。古いMFCやWin32のソフトウェアも、稼働を維持したまま新しくします。

  • 高性能・低レイテンシのサービス

    Boost.AsioやgRPCを使ったC++20のネットワークサーバー、マーケットデータハンドラー、取引エンジンを開発し、ロックフリーキューとメモリレイアウトをperfとIntel VTuneでレイテンシ目標に届くまでチューニングします。

  • セキュリティとエンドポイントのソフトウェア

    エンドポイントエージェント、ネットワーク検査、マルウェア対策エンジン、暗号ライブラリを、ハードニングフラグ付きでビルドし、リリースごとにlibFuzzerとAFL++でファジングを行います。

  • 産業・医療・自動車向けソフトウェア

    OPC UAとフィールドバスで接続する機械制御、IEC 62304に従って開発する医療機器ソフトウェア、AUTOSARとMISRA C++の規則(静的解析で確認)に沿った自動車のECUとインフォテインメントのコードを手がけます。

  • コンピュータビジョン、メディア、数値計算ライブラリ

    OpenCVによる画像処理、コーデック、信号処理、SIMDを使うモダンC++の数値計算コード、GPUが効果を出す場面でのCUDAを、最適化ごとにその効果を示すベンチマークとともに提供します。

  • レガシーC++のモダナイゼーション

    C++98とC++03のコードを、段階的にC++20またはC++23へ移行します。手動のメモリ管理に代えてスマートポインタを使い、パイプラインにサニタイザーとclang-tidyを組み込み、各変更に先行してテストを追加します。

  • ビルド、ツールチェーン、言語バインディング

    クリーンなチェックアウトから再現できるConanまたはvcpkgによるCMakeビルド、クロスコンパイルのツールチェーン、pybind11やnanobindでPythonに、また.NETやJavaに公開するCとC++のライブラリを、境界でのオーナーシップのルールを文書化して提供します。

C++開発者を採用する

  • 専任のC++開発者

    御社のチームにフルタイムで参画し、御社のリポジトリ、トラッカー、会議の中で働き、御社のリードに報告するC++開発者です。面接は御社が行い、ウクライナでの雇用契約、給与支払い、請求書発行、休暇管理は当社が担います。

  • CとC++プロジェクトのデリバリー

    CとC++プロジェクトをスコープ策定からリリースまで担うチームです。見積り、開発、テスト、デプロイを行い、当社側のテクニカルリードが計画と品質に責任を持ちます。

  • CとC++の保守運用と引き継ぎ

    他のチームから既存のCとC++システムを引き継ぐ、あるいは稼働を維持します。まず読み取り専用のレビューを行ってリスクを書面にまとめ、その後、影響の大きい順に修正と新機能を進めます。

スペシャリストが御社のチームに参画する方法は専任チームのページで、プロジェクトのデリバリー、引き継ぎ、料金の考え方はアウトソーシングのページで説明しています。

御社のCとC++プロジェクトを担当するメンバー

  • C++開発者

    サービス、デスクトップソフトウェア、ライブラリ向けのモダンC++

  • 組込みエンジニア

    CとC++によるファームウェア、マイコン、組込みLinux

  • ネットワーク・システムエンジニア

    Linuxネットワーキング、DPDK、プロトコルスタック

  • ビルド・DevOpsエンジニア

    CMake、クロスコンパイル、サニタイザーを実行するパイプライン

  • QAエンジニア

    テスト計画、自動化、ハードウェアインザループの環境

CとC++開発の進め方

新規コードには現行のC++標準を使い、手動のメモリ管理ではなくRAIIとスマートポインタを使い、コンパイラの警告はエラーとして扱い、継続的インテグレーションでAddressSanitizerとUndefinedBehaviorSanitizerを動かします。そうすることで、メモリエラーを顧客ではなくビルドが見つけます。

既存のコードベースでは、その標準、コンパイラ、コーディング規約(MISRA C++や御社独自のスタイルガイドなど)に従い、静的解析、サニタイザー、ファジングが欠けていれば追加します。開発者は御社のリポジトリ、トラッカー、プロセスの中で作業し、書いたものはすべて御社に帰属します。

その他の対応言語

プログラミング言語の概要

CとC++開発に関するご質問

CとC++の開発者はどの業界で働いていますか?

組込みとIoT(デバイスのファームウェア、ゲートウェイ、家電)、デスクトップソフトウェア、サイバーセキュリティ(エンドポイントエージェント、ネットワーク検査、暗号)、産業オートメーションとエネルギー(機械制御と監視)、ヘルスケア(医療機器と画像診断)、フィンテック(低レイテンシ取引とマーケットデータ)、自動車(ECU、インフォテインメント、運転支援)です。

組込み開発も行いますか?

はい。Zephyr、FreeRTOS、ベアメタルで動くマイコン向けと組込みLinux向けのCとC++によるファームウェアを、ボードが許す場合はハードウェアインザループのテストとともに、クリーンなチェックアウトから再現できるビルドで開発します。

古いC++のコードベースをモダナイズできますか?

はい。段階的に進めます。ビルドを再現可能にし、サニタイザーと静的解析を有効にし、変更しようとするコードにテストを追加し、標準は1リリースずつ進めます。

C++開発者は、どのくらいで開始できますか。

適任のC++開発者がすぐに対応可能な場合、開始までの条件は、御社の面接と、NDAおよび知的財産権の譲渡契約の締結のみです。そうでない場合は人材を探索し、通常は2〜3週間以内に候補者のプロフィールをお出しします。御社が承諾するまで、誰も業務を始めません。

BigTree108を通じてC++開発者を採用するには、どうすればよいですか。

必要な業務内容、シニアリティ、稼働時間をお知らせください。1〜2名の候補者をプロフィールとともにご提案し、御社が自社で採用する場合と同じ形で面接を行います。契約はBIG TREE 108 LLCとの1本、請求書は月1通です。

成果物の権利は、誰に帰属しますか。

御社です。すべてのスペシャリストはBigTree108と署名済みの契約を結び、成果物のすべてを会社に帰属させています。さらに、御社との契約により、その権利は御社に引き継がれます。コード、デザイン、ドキュメントは、当社だけが変更できる場所ではなく、御社のリポジトリとツールに納品します。

C、C++、組込みの開発者をお探しですか?

プラットフォーム、ツールチェーン、作業内容をお知らせください。1営業日以内に、候補者のプロフィールまたはコードベースの計画をお返しします。