# Chapter 1 : toggle holdings engineer 101

- [バリューとポリシー](/chapter-1-toggle-holdings-engineer-101/barytoporish.md): toggle holdingsで働くすべてのエンジニアが発揮するべきバリューと、遵守するべきポリシーです。働きやすく成果を挙げやすい環境を維持発展させるために、エンジニアが具体的にどのように振舞うべきかということを記載しています。
- [勤務体制と福利厚生](/chapter-1-toggle-holdings-engineer-101/to.md): 働く上での基本となる勤務体制や、福利厚生に関する情報を記載します
- [開発環境](/chapter-1-toggle-holdings-engineer-101/enjiniano.md): 基礎的な開発に関する環境情報
- [基礎研修](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu.md): ここでの内容はエンジニア組織全員の知識・スキルベースをそろえるための基礎的な情報を取りまとめています。これらの内容は、社内において知っている前提として扱われる知識ですので、適宜振り返り自習し、定着させてください。
- [我々は何者か・何を目指すのか](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/hakawosunoka.md): この研修資料の目的は、自分の位置を知り成長するためのものです。研修を通じて、自分のスキルや知識を客観的に把握し、強みや改善点を明確にしましょう。研修は成長の道筋を示し、キャリアの次のステップに進む基盤を築く重要な機会です。専門知識や実践的なスキルを身につけ、自信を持って仕事に取り組めるようになりましょう。
- [エンジニアの道徳](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/enjiniano.md): エンジニアとしての道徳的な意識は、信頼性の高いソフトウェア開発と利用者の信頼のみならず、社内外の人々との信頼を築くために不可欠です。自分の行動が周囲に与える影響を考えることで、より意義のあるエンジニアリングを実践できます。ここではtoggle holdingsのエンジニアが持つべき道徳について記載します。
- [エンジニアの自己理解](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/enjiniano-1.md): 自己理解とは、自分の価値観、能力、好み、弱点等を理解することで、これは自己認識の形であり、自己意識と自己評価の基礎となります。自分らしさは個々の特性やパーソナリティを引き立て、個性を活かすことでエンジニアリングでも高いパフォーマンスが出せます。
- [意思決定と認知負荷](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/to.md): エンジニアの成長においては「意思決定に関わり、その決定を遂行する機会をどれだけ得られたか」も重要なファクターになります。認知負荷の理解と軽減策の学習を通じて、効果的な意思決定とリスク管理のスキルを磨きましょう。
- [効果的なコミュニケーションスキル](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/nakomyunikshonsukiru.md): 効果的なコミュニケーションスキルは、メンバーやチームの成功に不可欠な要素です。明確なメッセージ伝達やアクティブリスニングの向上により、チームの協力性や成果を高めることができます。また、コンフリクト解決やリーダーシップの発展にも寄与します。ここで効果的なコミュニケーションスキルを身に着けるための知識を得てください。
- [クリティカルシンキングとロジカルシンキング](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/kuritikarushinkingutorojikarushinkingu.md): クリティカルシンキングとロジカルシンキングは、エンジニアにとって不可欠なスキルです。問題解決や意思決定において論理的思考と批判的思考を駆使することで、優れた解決策を導き、品質と効率を向上させることができます。自己成長とキャリアの発展のため、是非このスキルを身につけましょう。
- [依頼の受け方、依頼の出し方](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/nokenoshi.md): 仕事はひとりでに発生するものではなく、何かの要求に基づいて発生します。あなたも仕事を進めるため誰かに依頼を出すことがあるでしょう。依頼の種類や文脈に応じた依頼を受ける際のスキルを磨きます。更に目的や内容の明確化、相手のニーズや制約の考慮、優先度の設定など、依頼を出す際のスキルも身につけることで、より仕事の成果を出せるようになりましょう。
- [効果的な質問の仕方](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/nano.md): 仕事のコミュニケーションにおいて、質問の仕方は非常に重要です。正しい質問をすることで、必要な情報を得ることはもちろん、相手との関係構築や問題解決にも大きく寄与します。
- [ミスの要因と対策](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/misunoto.md): 「ミスの要因と対策」の知識は、私たち全員にとって重要です。なぜなら、ミスは誰にでも起こり得るからです。どんなに注意深く仕事をしていても、ミスは起こりうるものです。ミスがなぜ起こるのか、どのように対策を取るべきかを学ぶことで、ミスを最小限に抑え、より優れた仕事をすることができるようになります。
- [成長マインドセット](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/maindosetto.md): 成長マインドセットは、固定的な思考パターンから柔軟な思考への転換を促し、個人と組織の成長を促進します。自己成長と学習の重要性を理解し、挑戦や失敗を成長の機会と捉えるスキルを身に付けることで、あなたの成長可能性を広げましょう。
- [文書作成の基本](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/no.md): 読みやすく伝わりやすい文書作成は、会社の生産性向上に寄与するだけでなく、残された文書の資産価値も左右する重要なことですので、是非良い文章作成のスキルを身に着けてください。
- [技術ドキュメントの書き方](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/dokyumentonoki.md): 技術ドキュメントは、単なるテキスト以上のもの。それはエンジニアの考え、解決策、そして情熱の表現です。しかし、どれだけ優れたアイディアであっても、適切に伝えられなければその価値は半減してしまいます。この研修では、読者の心に響く技術ドキュメントの書き方を体系的に学びます。
- [会社の収益構造](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/no-1.md): エンジニアとして、私たちの主な任務は優れた製品やソフトウェアを開発し、企業の成長を支えることです。しかし、単に技術的なスキルだけでなく、企業がどのように収益を得ているか、そしてその収益が企業の存続と成長にどのように影響するかを理解することで、より戦略的な視点からプロジェクトに取り組み、企業全体の目標に対する貢献を最大化することが可能となります。
- [Webアプリケーションの基本概念](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/webapurikshonno.md): 開発メンバーとして知っているべきWebアプリケーションの基礎の基礎をまとめます
- [HTTPとDNS](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/httptodns.md): Webアプリケーションの基本概念とセットで、その基礎となるHTTPとDNSについて深堀して解説します
- [コンピューターネットワーク](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/konpytnettowku.md): Webアプリケーションはコンピューターネットワークなくして成立しません。ここでは、開発者なら知っておくべきコンピューターネットワークについて記載します。
- [メールの基本概念](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/mruno.md): メールはインターネットを利用する上でWebと並んで基本となる技術です。ここではメールそのものと、メールサーバのことを知るための情報をまとめます
- [VSCode](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/vscode.md): この先の研修を進めていくにあたり、効率的な開発環境の構築は必須です。ここではVSCodeの基本的な機能から活用方法について記載します。
- [Typing](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/typing.md): タイピングスキルは、効率的で正確なコミュニケーションを可能にし、仕事の生産性向上に貢献します。正確な入力はミスや誤解を減らし、時間を節約します。また、スムーズなタイピングはストレスを軽減し、業務の品質と効率を向上させます。効果的な情報伝達やタスクの迅速な処理を実現し、個人のスキル向上と組織全体の成果につなげましょう。
- [Linuxとシェル](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/linuxtosheru.md): LinuxはあらゆるWebサービスの背後で動いており、開発にも運用にも必須のOSです。その上で動作するシェルスクリプトを作成することはエンジニアの基礎と言えます。Linux環境での作業能力を向上させるため、ここではLinuxとシェル操作の基本を知るための情報をまとめます。
- [Makefile](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/makefile.md): Makefileはtoggle holdingsのプロダクトの多くで開発環境のセットアップやビルド、クリーンアップに利用されています。効率的なビルドとタスクの自動化を実現するためのMakefileの基本と応用を学ぶための情報をまとめます。
- [GitおよびGitHub概要](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/gitoyobigithub.md): バージョン管理システムGitと、Gitを活用するためのサービスであるGitHubについて記載します
- [Git](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/git.md): バージョン管理システムであるGitを使えることは基礎中の基礎です。バージョン管理の効率化やチーム開発の円滑化に役立つブランチ戦略やコードのマージ方法など、実践的な知識を身につけましょう。
- [GitHub](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/github.md): GitHubはプロダクト開発の基盤となるサービスです。ソースコードの共有と協力的な開発を実現するためのGitHubの活用方法を知るための情報をまとめます。
- [要件定義](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/yao-jian-ding-yi.md): ソフトウェア開発において、成功の鍵は「要件定義」にあります。多くのプロジェクトの失敗は、明確な要件の欠如に起因します。正確な要件定義は、無駄な手戻りやミスを減少させ、ステークホルダーとの信頼を築く土台となります。
- [ソフトウェア設計とテスト](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/sofutoweatotesuto.md): ソフトウェア開発と一口に言っても、単にコードを言われたままに書くだけでは価値の高い仕事はできません。よい仕事をするために必要となるソフトウェア設計とテストに関する知見をまとめます
- [データベース](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/dtabsu.md): 特定のデータベース製品の話ではなく、業務上必要となる一般的なデータベースの知識をまとめます
- [SQL](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/sql.md): 現代のビジネスの中核をなすデータ。そのデータを効果的に操作・分析するための鍵が「SQL」です。この研修では、データベースの基礎からSQLの基本的な書き方、実践的なクエリの作成方法、そしてデータ操作時の注意点までを網羅的に学びます。データを駆使して新しい価値を創出する力を身につけましょう。
- [コンテナ技術](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/kontena.md): アプリケーションのデプロイとしてもはやデファクトとなっているコンテナ技術について知るための情報を取りまとめます
- [フロントエンド開発](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/furontoendo.md): モダンなWebアプリケーションにおいては、フロントエンドとバックエンドが分かれた構成をとることが一般的です。ここではフロントエンド開発について取りまとめます
- [バックエンド開発](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/bakkuendo.md): モダンなWebアプリケーションにおいては、フロントエンドとバックエンドが分かれた構成をとることが一般的です。ここではフロントエンド開発について取りまとめます
- [Webアプリケーションのセキュリティと認証・認可](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/webapurikshonnosekyuritito.md): Webアプリケーションのセキュリティは絶対に無視できない課題です。我々と顧客の信頼は、適切な認証と認可、そしてセキュリティ対策に依存しています。その基礎を理解し、仕事の中で活かしていきましょう。
- [エラーメッセージの読み方](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/ermessjinomi.md): エンジニアの日常において、エラーメッセージとの遭遇は避けられません。しかし、これを正しく読み解くスキルは、効率的なデバッグや問題解決のカギとなります。エラーに対する不安を乗り越え、自身のスキルセットを高める一歩を踏み出しましょう。
- [IaCツール](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/iactsru.md): IaC（Infrastructure as Code）は、インフラストラクチャのプロビジョニングと管理をコードとして扱う手法です。どんな役割のエンジニアであれ、このツールへの習熟が求められるので、ここでしっかり学びましょう
- [TypeScript](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/typescript.md): toggle holdingsのプロダクトはTypeScriptをメインに使用しています。ここではTypeScirptについて学ぶための情報を提供します。
- [Python](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/python.md): toggle holdingsのラボではPythonが利用されています。ここではPythonについて学ぶための情報を提供します。
- [MySQL](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/mysql.md): toggle holdingsはサービスのデータベースにMySQLを利用しています。ここではMySQLについて学ぶための情報を提供します。
- [PostgreSQL](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/postgresql.md): toggle holdingsはラボでPostgreSQLを利用しています。ここではPostgreSQLについて学ぶための情報を提供します。
- [Redis](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/redis.md): 一部のプロダクトではRedisを活用してシステムが構築されています。高速で効率的なデータ処理を実現するオープンソースのインメモリデータベースであるRedisのデータ操作など、基礎的なスキルを身につけるための情報をまとめます。
- [Docker](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/docker.md): 現代のソフトウェア開発における重要なツールであるDockerはもはや必須知識と言えます。ここではコンテナ仮想化の基礎から始まり、イメージの作成と管理、ネットワーキング、デプロイ、セキュリティなどのトピックを学ぶための情報をまとめます。
- [Pulumi](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/pulumi.md): 現代の開発における効率的なインフラ管理は不可欠であり、ポリシーでもIaCを用いることを必須としています。toggle holdingsではPulumiを推奨しており、本稿ではその情報をまとめます。
- [Google Apps Script](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/google-apps-script.md): toggle holdingsはラボを始め業務効率化においてGoogle Apps Scriptを利用しています。ここではGoogle Apps Scriptについて学ぶための情報を提供します。
- [推奨書籍・Webサイト](/chapter-1-toggle-holdings-engineer-101/ji-chu-yan-xiu/websaito.md): 研修を経て、更に実力を高めていくために読むと良い書籍やWebサイトを紹介します。
- [テックリード研修](/chapter-1-toggle-holdings-engineer-101/tekkurdo.md): 技術者がリーダーとして成長することはキャリア形成の観点からも重要です。テクニカルスキルだけでなく、コミュニケーション、プロジェクトマネジメント、チームビルディングなどのスキルを磨き、成功に導くためのリーダーシップ力を身につけることで、自身のキャリアパスを見据えることができます。
- [技術者がリーダーになることの重要性](/chapter-1-toggle-holdings-engineer-101/tekkurdo/gardninarukotono.md): 技術者がリーダーになることは、プロジェクトの成功に不可欠です。例えば、ソフトウェア開発プロジェクトでは、テックリードが技術的な専門知識を持ちながらチームを指導することで、優れたアーキテクチャやベストプラクティスの導入が可能となります。これにより、プロジェクトの品質と効率性が向上し、期待された成果物を提供することができます。
- [テックリードの適格性と要件](/chapter-1-toggle-holdings-engineer-101/tekkurdo/tekkurdonoto.md): テックリードへの昇格要件は、高い技術スキル、リーダーシップとコミュニケーション能力、プロジェクト管理スキル、チーム貢献が求められます。実績やプロジェクトへの貢献、フィードバックの評価が重要です。自身の技術スキルと専門知識の向上、リーダーシップの発揮、プロジェクトの進行状況や目標達成の管理、チームメンバーへのサポートなど、これらの要素を磨いていくことが昇格に向けた道です。
- [テックリードのスキルセット](/chapter-1-toggle-holdings-engineer-101/tekkurdo/tekkurdonosukirusetto.md): テックリードには技術スキルとソフトスキルの両方が求められます。プロジェクトの設計からチームの指導、効果的なコミュニケーションまで、あなたの成長と成功に向けて一歩踏み出し、テックリードとしてのキャリアパスを拓きましょう。
- [リーダーとしての自己成長](/chapter-1-toggle-holdings-engineer-101/tekkurdo/rdtoshiteno.md): テックリードとしての自己成長は、技術的なスキルだけでなく、リーダーシップや組織的なスキルも含みます。新しい技術やツールの学習、オープンソースへの貢献、コミュニケーションやプロジェクト管理のスキルの向上は、プロジェクトの成功やチームの効率を高めるだけでなく、自身のキャリアの成長や将来の機会を広げます。さらに、ドメイン知識の拡充や倫理的な成長は、より価値ある仕事につながります。
- [マネージメント研修](/chapter-1-toggle-holdings-engineer-101/manjimento.md): マネージメントの役割は、技術リーダーシップ、プロジェクトマネジメント、チームビルディングなどのスキルを発揮し、事業を成功へ導くことです。マネージメントの役割を担う人に、必要となる知識を提供します。
- [エンジニアリングマネージャーの役割と責任](/chapter-1-toggle-holdings-engineer-101/manjimento/enjiniaringumanjnoto.md): ここでは、エンジニアリングマネージャーの役割と責任、そして現代のエンジニアリングマネージャーに求められるスキルと特徴について具体的な事例を通じて理解を深めます。
- [エンジニアリングマネージャーの適格性と要件](/chapter-1-toggle-holdings-engineer-101/manjimento/enjiniaringumanjnoto-1.md): エンジニアリングマネージャーになるためには、技術スキルだけでなく、リーダーシップとプロジェクトマネジメント能力が求められます。過去の成果や貢献度、リーダーシップの発揮、プロジェクトの成功が評価されます。チームを導きビジネス目標達成に貢献するポジションで、更なる成長と挑戦を追求する道を拓きましょう。
- [リーダーシップとコミュニケーション](/chapter-1-toggle-holdings-engineer-101/manjimento/rdshipputokomyunikshon.md): リーダーシップは、エンジニアリングマネージャーにとって重要な資質です。リーダーシップは、チームを統率し、目標の達成に向けて方向を示し、メンバーの成長とモチベーションを促進する役割を果たします。
- [プロジェクトマネジメント](/chapter-1-toggle-holdings-engineer-101/manjimento/purojekutomanejimento.md): プロジェクトマネジメントは、プロジェクトの計画と推進を効果的に行うためのスキルや戦略を学ぶ重要な要素です。プロジェクトの計画と推進に関する具体的な事例を挙げながら説明します。
- [技術リーダーシップとイノベーション](/chapter-1-toggle-holdings-engineer-101/manjimento/rdshipputoinobshon.md): 最新の技術トレンドや市場動向を理解し、それを活用してビジネスの成長や競争力を向上させる能力を身につけることはマネージメントにとって重要です。能力を身につけるために必要となる情報を学びましょう。
- [パフォーマンス管理と成果の追跡](/chapter-1-toggle-holdings-engineer-101/manjimento/pafmansutono.md): 目標設定とパフォーマンス評価はマネージメントの重要な仕事ですが、その手法や運用はあまり体系だって学ぶ機会は少ないものです。この機会に、それらを学ぶための手掛かりを得て、マネージメントとしてのキャリア機会を開くきっかけにしていきましょう。
- [変化管理と組織文化の推進](/chapter-1-toggle-holdings-engineer-101/manjimento/tono.md): これから組織として成長していくフェーズにある会社において、変化は避けられないものです。マネージャーは変化管理の重要性と戦略、エンジニアリングチームの文化の形成と促進、新しいプロセスやツールの導入、チームの持続的な改善と学習の文化の確立について理解し、組織の成果を最大化する能力を向上させることが期待されます。
- [エンジニアリングマネージャーとしての倫理と責任](/chapter-1-toggle-holdings-engineer-101/manjimento/enjiniaringumanjtoshitenoto.md): エンジニアリングマネージャーにとって、倫理と責任の研修は必要不可欠です。プライバシーや技術的な決定の倫理、多様性尊重の理解は、信頼性の向上とチームの成果に直結します。
- [マネージャーとしての自己成長](/chapter-1-toggle-holdings-engineer-101/manjimento/manjtoshiteno.md): エンジニアリングマネージャも当然ながら、自己成長が不可欠です。自己評価やフィードバックの受け入れ、継続的な学習とスキルの向上、メンタリングとコーチング、キャリアの戦略と自己啓発の計画などを学ぶことで成長機会を獲得し、キャリアの向上に繋げていきましょう。
- [エンジニア採用](/chapter-1-toggle-holdings-engineer-101/enjiniano-1.md): 弊社は通年で新卒・中途採用を行っており、その求人に関する情報を記載します。
- [中途採用](/chapter-1-toggle-holdings-engineer-101/enjiniano-1/zhong-tu-cai-yong.md): 通年で実施しており、プロダクト開発でキャリアを作っていきたいとお考えの方に、弊社はどのような考えで採用に臨んでいるかの考え方を共有します。
- [新卒採用](/chapter-1-toggle-holdings-engineer-101/enjiniano-1/xin-zu-cai-yong.md): 新卒採用の運用や採用観点、求めることについて記載します。
- [オンボーディング](/chapter-1-toggle-holdings-engineer-101/onbdingu.md): チームに入ってから、お仕事に取り組んで成果を挙げていただけるようになるまでどのように進めるかをまとめます
- [人事制度](/chapter-1-toggle-holdings-engineer-101/ren-shi-zhi-du.md): toggle holdingsで働くにあたり、知っているべき人事制度
