背景
システムエンジニアとし派遣されいろいろな会社に行くことが多いですが、久しぶりにwindows環境の派遣先にいって環境構築からつまづいてとても大変な思いをしました。 なので、備忘録的に初期設定まわりについてまとめておこうと思います。
課題
会社員の至上命題である給料の上昇を理想として、理想と現実のギャップが課題であるという流れでまとめていきます。
理想(エンジニアが給料を上げるために目指す先)
- 1人あたりの作業効率/領域 の 向上/拡大
- 効率(対象者:全員)
- ロスがない
- 自動化の促進
- 業務の流れ
- 初期設定 <---------------今回のターゲット!!!
- PJのキャッチアップ
- PJ進行
- PJ完了・引き継ぎ
- 次のPJへ <---------------今回のターゲット!!!
- 業務の流れ
- 自動化の促進
- ロスがない
- 領域(対象者:個人の目標次第)
- 上位職のクラスチェンジ
- 環境構築〜サービスローンチまでのフルスクラッチ
- 専門分野の深化(新技術のキャッチアップ)
- 異分野への転職
- 効率(対象者:全員)
今回は"効率"の向上を対象としたものです。 "領域"の拡大は転職などの話になるのでスコープ外へ。
さらに、その中の業務の流れにある"初期設定"と"次のPJヘ"に対して"ロスがない"というのが今回設定した理想です。
現実("ロスがない"を実現できてない部分)
理想がある一方で現実問題、たくさん面倒なことがありました
- "初期設定"と"次のPJへ"にて発生する不便さ
- キーボードが変わり慣れるまでストレスフル
- 従来の対策: がんばる
- ロス:ぼたんの打ち間違えによる時間ロス
- ロス:ストレスによる集中力減少
- 従来の対策: がんばる
- VPNの接続先のキーボードボタンの配置がおかしい
- 従来の対策: がんばる
- ロス:ぼたんの打ち間違えによる時間ロス
- ロス:ストレスによる集中力減少
- 従来の対策: がんばる
- そもそも初期設定なんて数ヶ月に1度しかやらないため覚えていない
- 従来の対策: がんばる
- ロス:web検索時間
- ロス:新しく設定時のtutorialの作成というタスクが発生
- 従来の対策: がんばる
- OSが異なり既存のinstall方法が適用不可のため新規作成
- 従来の対策: がんばる
- ロス:派遣先ごと、OSごとにtutorialの作成というタスクが発生
- 従来の対策: がんばる
- インターネットに接続できず既存のinstall方法が適用不可
- 従来の対策: がんばる
- ロス:クローズド環境専用に、install方法の作成というタスクが発生
- 従来の対策: がんばる
- 管理者権限がないためいちいち上司に確認をとる必要がある
- 従来の対策: がんばる
- ロス:申請している時間
- ロス:申請まで行動できない
- 従来の対策: がんばる
- フリーソフトは申請しないと利用できない
- 従来の対策: がんばる
- ロス:申請している時間
- ロス:申請まで行動できない
- ロス:業務に必須でないものは申請却下され、ツール使えず。 紙でがんばる
- 従来の対策: がんばる
- モニターが届かず、いつもの作業スタイルを作れない
- 従来の対策: がんばる
- ロス:windowが乱立し探す時間ロス
- ロス:ストレスによる集中力減少
- ロス:画面切り替えによる必要記憶力の上昇(その結果、集中力が減少)
- 従来の対策: がんばる
- PJが変わるたびに初期設定が必要になって大変
- 従来の対策: がんばる
- ロス:上記の事項がたくさん
- 従来の対策: がんばる
- キーボードが変わり慣れるまでストレスフル
というようにいろいろな問題が発生し、ロスも同時に発生しています。
適当にカテゴリを作ってまとめてみます。(まったくMECEに表現できなかった)
- カテゴリ
- 行動様式
- キーボードが変わり慣れるまでストレスフル
- VPNの接続先のキーボードボタンの配置がおかしい
- そもそも初期設定なんて数ヶ月に1度しかやらないため覚えていない
- 管理者権限がないためいちいち上司に確認をとる必要がある
- フリーソフトは申請しないと利用できない
- モニターが届かず、いつもの作業スタイルを作れない
- PJが変わるたびに初期設定が必要になって大変
- 組織のルール
- フリーソフトは申請しないと利用できない
- 電子情報(ソースコード、webサイト)
- VPNの接続先のキーボードボタンの配置がおかしい
- OSが異なり既存のinstall方法が適用不可のため新規作成
- インターネットに接続できず既存のinstall方法が適用不可
- 管理者権限がないためいちいち上司に確認をとる必要がある
- フリーソフトは申請しないと利用できない
- PJが変わるたびに初期設定が必要になって大変
- 物理媒体(モニター、キーボード、マウス)
- キーボードが変わり慣れるまでストレスフル
- モニターが届かず、いつもの作業スタイルを作れない
- PJが変わるたびに初期設定が必要になって大変
- 行動様式
ギャップ(理想と現実のギャップ)
- 課題: 以下の変化する要素の 減少/柔軟な対応 ができていない
- 行動様式(指が覚えているタッチタイピングの仕方、ディスプレイ内に配置するソフトウェアの位置)
- 電子情報(ソースコード、webサイト)
- 物理媒体(モニター、キーボード、マウス)
- 組織のルール(申請方法)
となるわけで、現状はすべての変化のしわよせがおしよせてきて本来やらなくてよいタスクになっている(ロスになっている)わけです。
---------------------ここより下の章は未編集のため、流れがおかしいです。------------------------
方法
課題が明確になったので、解決方法を考えていきます。
"環境が変わる" とは何か? 以下に思いつきであげてみた。
- 利用しているキーボードが変わる ← 1プレイヤーでもコントロール可能
- パソコンのOSが変わる
- 上司が変わる ← 1プレイヤーではコントロール不可能
- アクセス権限が変わる
- 会社の立地が変わる
- 給料が変わる
上司が誰になるかなんて博打ですからね、社内弱者である派遣の1プレイヤーにそんな権限はありません。
コントロール可能なものをまず抽出していきます。
そのときに情報伝達の流れを可視化すると (文字だけど)
人(運動) ーー> 物理媒体 ーー> 電子情報
となります。 できるだけ物理媒体と、電子情報で変化を吸収できると、人のタスクがへっていくので理想的といえそうです。
- ”6. 次のPJへ” → 節 "共通して使えるものを抜き出す"
- ”1. 初期設定” → 章 "方法"
順番逆になってますが、それぞれの章または節でまとめていきます。
本記事のスコープ
備考: 組織、PJチームの作業効率の最大化 は上位職のクラスチェンジに該当していて、今回の記事からはスコープ外とする. 組織、リーダーとメンバーのトレードオフ問題が多いので。
共通して使えるものを抜き出す
-
インターフェース
- GUI(グラフィカルユーザーインターフェース) ←----------今回のターゲット!!!
- input: 手からの動作
- with: キーボード or マウス
- output: 視覚へのグラフィカルな出力
- with: ディスプレイ
- input: 手からの動作
- CUI(キャラクタユーザーインターフェース)
- input: 手からの動作
- with: キーボード
- output: 視覚へ文字列の照射
- with: ディスプレイ
- input: 手からの動作
- マンマシンインタフェース(withの部分)
- ディスプレイ ←----------今回のターゲット!!!
- キーボード ←----------今回のターゲット!!!
- マウス ←----------今回のターゲット!!!
- 音声認識(siri etc...)
- モーションキャプチャ(VRなどのゲーム)
- GUI(グラフィカルユーザーインターフェース) ←----------今回のターゲット!!!
-
プロジェクト推進にあたり必要な業務
- 主業務(Java, Python, C++, HTML, JavaScript) ←----------今回のターゲット!!!
- タスク消化
- 技術的負債の消化
- 改善
- 情報共有
- 口頭ベースの会議
- コミュニケーション管理(mail, チャットツール)
- 会議管理(会社ごとのfullスクラッチ, cybozu)
- 管理業務(マネジメント)
- タスク管理・納期管理(backlog, redmine, asena, wrike)
- リスク管理
- 品質管理
- backoffice
- 経費
- 確定申告
- 主業務(Java, Python, C++, HTML, JavaScript) ←----------今回のターゲット!!!
プロジェクトの生産性向上をめざすためにはたくさんやらないといけないことがあるけれど、
派遣先がころころ変わってしまうことが多いので、個人の力で共通化しやすいものをピックアップした。
- ディスプレイ
- キーボード
- マウス・トラックパッド
- 主業務(Java, Python, C++, HTML, JavaScript)
------------以下はまだ執筆中------------------
- OS windows, mac
- モニター: デュアルモニター、シングルモニター、notepcのモニター
- マウス: マウス、トラックパッド
- クリック操作
- タップ
- ダブルタップ
- キーボード: jis配列 US配列 vs for mac for windows
- フリーソフトウェア: python, R , Java
- フリーソフトウェアの配布元:anaconda, Python公式
- proxy設定
- editor: sublime, 桜エディタ, vim, jupyter
- DFD可視化tool: mermaid.js
- todo list: 紙、手帳、文具
- タスク・納期 管理: redmine, backlog, wrike, asena
- 会議スケジュール管理: cybozu, outlook, web
- チャットツール:slack, line, skype,
方法(アプローチ)
共通
主業務
データ整備環境(オプション)
Homebrewの install (https://brew.sh/index_ja)
shell-session
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
gccのinstall
shell-session
brew update
brew install gcc
データ整備環境:python本体のinstall(with miniconda)
既存condaのuninstall
conda install anaconda-clean
yes | anaconda-clean
conda info -e # 確認後 conda projectfileの削除
rm -rf xxx # ↑で確認したfolderごと削除
conda fileのdownload
cd ~/Downloads
mkdir 2020xxxx_miniconda_down
cd 2020xxxx_miniconda_down
# あらかじめ最新版を次のlinkから選択 https://repo.continuum.io/miniconda/
#wgetのパターン
#wget https://repo.continuum.io/miniconda/Miniconda3-py37_4.8.2-MacOSX-x86_64.sh
#curlのパターン
curl https://repo.continuum.io/miniconda/Miniconda3-py37_4.8.2-MacOSX-x86_64.sh
installの実行
bash ./Miniconda3*.sh -b -p $HOME/miniconda # 参考https://docs.anaconda.com/anaconda/install/silent-mode/
pathの追加
echo 'export PATH=$HOME/miniconda/bin:$PATH' >> ~/.bash_profile
データ整備環境:jupyter notebook
conda remove -n py37 --all
conda create -n py37 python=3.7 # 一度 CLIを再起動
conda activate py37
pip install jupyter
pip install jupyter-contrib-nbextensions
pip install jupyterthemes
jt -t gruvboxd -T -Njt -t gruvboxd -T -N -fs 13 -ofs 13 -f meslo -cellw 95%
pip install pandas
- 物理媒体
- キーボード
- [REALFORCE] 東プレ R2TLSA-JP3M-BK REALFORCE TKL SA R2 for Mac
- PC
- 不定
- キーボード
mac(macOS Mojave 10.14.6)
キーボード
- macキーボードへの切り替え: fn + end (REALFORCEのキーボードの特殊コマンド)
- capslock: commandへ割り当て
- カーソル速度変更
- sleepを外付けkeybordからできるようにする
マウス・トラックパッド
windows
キーボード
- winキーボードへの切り替え: fn + end (REALFORCEのキーボードの特殊コマンド)
- capslock: controlへの割り当て
- 英数とかな: 英数、かなへ割り当て
- comming soon ### マウス・トラックパッド
- comming soon