インフラ・DevOps
クラウドインフラやその運用について
職業ソフトウェアエンジニアを目指すにあたっては、段々と専門領域も別れてきます。 ここからは各専門について個別にまとめていきますので、ご自身の目指す専門性に応じて選択してください。 また、ご自身の目指す専門性に対して隣接する領域(例えばバックエンドとフロントエンドなど)は双方学ぶことで、より自身の技術を実際の製品開発に役立てやすくなります。 ぜひ様々な知識に触れてみてください。
ソフトウェアエンジニア共通で学ぶことをおすすめしたい領域。
フロントエンドエンジニア(Frontend Engineer)は、Webアプリケーションやウェブサイトのユーザーインターフェイス(UI)やユーザーエクスペリエンス(UX)を開発するエンジニアです。フロントエンドエンジニアは、HTML、CSS、JavaScript、Typescript、Reactなどのフロントエンド技術を使用して、ウェブページやアプリケーションの外観や機能を実装します。
ネイティブアプリエンジニア(Native App Engineer)は、iOSやAndroidなどのモバイルプラットフォームにおいて、ネイティブアプリケーションの設計・開発・保守を行うエンジニアです。ネイティブアプリとは、各モバイルプラットフォームにおいてネイティブ言語で記述されたアプリケーションのことを指します。
バックエンドエンジニア(Backend Engineer)は、Webアプリケーションやソフトウェアの開発において、サーバーサイドの処理やデータベースの設計・開発など、ユーザーが直接触れることのできない裏側の処理を担当するソフトウェアエンジニアです。フロントエンドエンジニアやネイティブアプリエンジニアと協力してアプリケーションを作成することが多く、チームで協力して開発を進めることが求められます。
インフラエンジニア(Infrastructure Engineer)は、様々なシステムやアプリケーションの基盤となるインフラストラクチャの構築や運用、保守を行うエンジニアのことを指します。クラウド技術を扱う場合、AWSやGCP、Azureといったクラウドプロバイダが提供する様々なサービスを利用して、サーバーの構築やネットワークの設定、データの保管などを行います。また、インフラエンジニアはシステムの監視やトラブルシューティング、セキュリティ対策なども担当することがあります。
プロダクトマネージャ(Product Manager)は、企業や組織において、製品の開発、改善、販売、マーケティング、顧客サポートなどのプロダクト全体に関わる戦略的な役割を担います。 そのため、顧客ニーズの分析や開発チームとの連携を円滑にするプロジェクトマネジメントなど広範な知識が求められます。
データサイエンティスト(Data Scientist)は、データを分析し、ビジネス上の課題を解決するための知見を提供する専門家です。データサイエンティストは、大量のデータを収集し、データベースに格納し、必要な場合にはクレンジング、前処理、変換などの作業を行います。その後、統計的手法や機械学習などの手法を用いて、データを分析し、特定のビジネス上の問題に対する洞察を提供します。
クラウドインフラやその運用について
リレーショナルデータベースを中心に学びます。
安全なWebサービスを作るために必要な知識
iOS/Androidのアプリ開発について
サーバ側で情報を返す。
顧客により良い製品を届ける手法について
ブラウザ上で動くWebページを開発します。
職業エンジニアとして心に留めておくべき考え方を学べるコンテンツ。
チームで開発を進めるための方法論
データ分析および機械学習について
より発展的なコードの書き方や共通する設計論