---
# System prepended metadata

title: エンジニア価値向上のために
tags: [ICD]

---

---
tags: ICD
---

# エンジニア価値向上のために



## 目的

- マーケット視点でのエンジニア価値向上
  - マーケットの定義要
    - 請負型エンプラ開発？
    - 自社ITシステム開発？
  - 希少価値があるもの
    - PM(つまらない)
    - アーキテクト
    - フルスタック
      - せめてインフラに通暁したアプリケーションエンジニア
    - 開発支援スペシャリスト
    - スーパーツール職人



## 目標



## ポイント

- 吉田のマスタベにならないように
- ネットに転がっている短期で役に立つ知識ではなく、長期で効くもの
  - とにかく基礎
  - 思想、フィロソフィ
  - バッドノウハウ

## テーマ

- 設計
  - アーキテクチャ
  - インフラ
  - クラウド
  - 運用設計
  - 非機能設計
    - 可用性
    - 拡張性
    - 性能
  - データベース（概念、論理、物理、DBMS別ソリューション)
  - 方式設計
  - 定石
    - テスト指針
    - レビューポイント
    - DB設計
    - コード付与
    - プロジェクト計画
    - タスク洗い出し
    - リスク管理
- 業務知識（自社の過去ナレッジの集約要）
  - セキュリティ（法務、技術）
  - ML、数学
  - IT関連法務
  - 業務別関連法務
  - ソフトウェライセンス
  - GeoLocation
  - SO
  - EC(小売)
  - 決済
  - 予約
- 実装
  - ネーミング
  - 責務の明確化
  - 密結合/疎結合
  - 言語/フレームワーク選定
  - クラス/メソッドの粒度と構造
- テスト
  - テスト指針
  - テストコード
  - 自動テスト
  - テスト環境
  - テストツール（アリもの、自作）
- 開発支援環境
  - できればソリューション化して売りたい
- プレゼンテーション/ホワイトボーディング/ファシリテーション
- 有用な学習サイト・チュートリアル
- プロトタイピング手法・ツール
- バッドノウハウ・不良事例
- 便利サイト
- 情報収集サイト
- トレンドレポート
- 人柱報告
- ガチ検証
  - 開発してみた
  - 性能測定してみた
  - 耐障害性を検証してみた

## その他思い付き

- 細かいレベルでの学習マップ/スキルマップ



## 若手向け

- 何よりも好奇心や楽しさが大事。それがインストールできれば、それが駆動力になる
- 会社以外でもやれる環境で
- 極力インストールとかが要らないもので
- 理屈よりも手を動かして実践
- でも、基礎はガッチリやる。それも長期で。
  - 全部一式、手を動かしてやってみよう
    - PCを自作してインストール
    - サーバを立てる
    - 有線LANでつなぐ
    - Wifiアクセスポイントを立ててみる
    - スマホでアクセスしてみる
    - サーバソフトをインストールしてみる
      - Apacheを入れて静的サイトを作る
      - 動くサイトを作ってみる
      - メカをWebサイト経由で動かす
  - 基礎知識
    - コンピュータの歴史（なぜ必要なのかの説明含め）
      - まだまだ未成熟な分野
      - 進化が早い
      - とはいえ基礎は重要
      - ホスト→ミニコン→サーバの歴史
      - PCの歴史(+ストレージの歴史)
      - スマホの歴史(ザウルス,Newton,Palm,WindowsCE,iPhone,Andoroid)
    - 二進法・十六進法
      - できるものなら物理的にコンピュータを実例で見せたい
      - トランジスタ→IC→LSI
      - ムーアの法則
    - 単位基礎
      - K,M,G,T,P
    - 文字コード/改行コード
    - 計算機基礎
      - 計算機の構造
      - アセンブラプログラミング
    - 早い時期からLinuxに触れさせる
    - OS、ミドルウェア、ライブラリ、フレームワーク
    - インタプリタ(Bash)
    - コンパイラ(Go,Java)
    - ネットワーキング
      - ISO7階層モデル
      - IPv4
      - TCP
      - HTTP
      - SSL
  - SQL
  - タイピング測定/タイピング練習
  - Bashキーバインド,vi基礎,Sakura基礎
  - 正規表現
  - プログラミング基礎
    - 変数
    - ループ
    - 配列
    - 関数
    - 辞書
    - 入出力
      - ファイル
      - コンソール
      - DB
      - 通信
    - 処理の共通化
    - 部品の再利用
    - 異常系・例外
    - オブジェクト指向
  - IT業界概論
    - 開発方法論
    - IT職種
    - プロパーとBP
    - 請負とSES
    - 開発外部委託と自社開発
  - 開発プロセス概論
    - 開発プロセスいろいろ(WF,Ajile,Scrum)
    - 工程
    - 体制
    - 役割分担(顧客(企画、情報システム)、コンサル、PM、PMO、TL、メンバ、運用、インフラ)
- Happy Engineeringって
- メンタルモデルあるある
  - おれおれスーパーエンジニア
  - 下請け根性丸出し
  - 指示待ち君
  - 意識だけ高い君（形から入る君）
  - 評論家（ケチはつけるが対案無し）
  - 担当ソースコードと自我が一体化
  - 機能をxxさんが、という
  - 安請け合いリーダー
  - 目先優先で全体見えない君
  - 重箱つつきすぎ
  - 長時間労働が尊い君
  - 何がわからないかがわからない君
- エンジニアに言ってはいけないこと
  - バグってる
  - このコードクソ
- 考え方
  - 過重労働する必要はないが、楽しててもスキルは上がらないよ
  - 自分を育てるのは自分。他人に伸ばしてもらうと思ったら大間違い
  - 時間と資金を一定期間自分に投資しないと、リターンは得られない
  - 他人と同じならばリスクと思え

- 行動
    - 結論からいう
    - 「xxで送ったんですどぉ..」を枕詞にするのマジやめろ。主旨から言え。

- 基礎道具の使いこなし
  - タイピング
  - Excel
  - SakuraEditor
  - Teraterm
  - Eclipse
  - VSCode
  - ブラウザ開発者ツール

- 検索力をつける演習

- 有名なIT会社紹介
  - 国内
  - 海外
- 著名なソフトウェア紹介
  - OS
  - ミドルウェア
  - アプリケーション（開発向け）
  - サービス（開発向け）

- IT社会人の常識
  - セキュリティ・漏洩
  - なぜ朝同じ時間に出勤するのか
  - 勝手にライブラリ入れるな
  - ライセンス確認
  - 服装いろいろ
  - 面と向かった方が効率的なこともある
  - 経緯よりも主旨
  - エンジニアは5W1Hと想定なき質問を受けるとイラッとする
  - まずログを見ろ
  - マウント取るやつに注意
  - スマホゲームは家でやれ
  - 昼休み以外の居眠り死刑
  - 健康管理も仕事のうち
  - 出来ない、と、早く言う
  - 紋切り型で聞くな。背景を説明せよ

- 言っちゃいけないのに言われること（負けないように）
    - これ前にも説明したよね？
    - なんで覚えてないの？
    - 何が言いたいのか分からん
    - 何で聞かないの？
    - 調べた？
    - ちゃんと見ろよ

- ITシステムの構成要素
  - ファシリティ
  - サーバー
  - NW

- 話し方
  - xxできてますか？じゃなくて
  - リーダーに向かって「やってもらいますか？」はねーだろ
  - 決めつけるな
  - xxxと、思っていてぇ、は、バカっぽいからやめたほうが良い
  - xxで送ったんですけどぉ、から始めるのはほんと腹立つからやめろ
  - 人が話してる時に割り込むな無礼者