tips
初心者
備忘録
コミュニケーション
新人プログラマ応援

はじめに

自身の4年間を振り返って。

「認識していない」とはNull(あるいはEmptyやNothing)のようなものをイメージしています。
初心者が知ることによって、その技能Lvが0以上になるようなTIPSを目指して書きました。


※筆者の4年振り返りの3部作
未経験から4年働きながら、読んでよかった読み物
未経験者が認識してなさそうなTIPS(当記事)
新卒後輩の扱いについてのTIPS


労働者として

本を読んで学ぶこと

 やはり本が一番コスパ良い。
 今の時代はAmazonレビューを見ることで、当たり外れも予測しやすい。
  何度も読む or ランダムアクセスに読む or 古本が安い → 紙本が良い。
  上記以外 → 電子書籍でも良い。
「未経験から4年働きながら、読んでよかった読み物」※筆者の別記事。
 https://qiita.com/Nao9syu/items/0bedec7a749ab2d8123a

家計簿をつけること

 食費、外食費、インフラ費、投資学習費、娯楽費などに分ける。(個人差ありなので要調整)
 2年くらいはつけてデータとして持っておけば便利。
 自分の生活水準の上限下限を知り、予測することができるようになる。
 

他人の能力を測ること

 質問をしてみる。
 チャンスが有れば、よく観察して技能を盗むこと。

他人と愉快に働くこと

 話をなるべく遮らずに最後まで聞く。
 基本的な挨拶はする。それさえできないなら家で練習しておく。
 対面時はなるべく目を輝かせ、口角を上げておく。
 有能な人には従い、よく学ぶこと。年齢や立場は関係ない。
 無能な人とは距離を置くこと。ただし、学ぶ気がある人ならば関ってみる。
 いちいち話の言葉尻を捉えたりしないこと。
 人の名前を暗記する。話しかけるときに「○○さん、~~」と名前から呼びかける。
 普段から丁寧語で話すように習慣づけること。咄嗟に出ても大丈夫なように。

嫌な人との付き合いのこと

 私事でゴタゴタしていて八つ当たりされているのかも、と流す。指摘はしない。
 重要なやり取りをする場合は、メールや文書などエビデンスとして残るようにしておく。
 人間は年を取ったって賢くなんかなったりしない。地獄に突っ込んだり避けたりするのが上手くなるだけだ。

質問テンプレートを意識すること

 仕事の目的、期限、急ぎか、今時間をとれるか、難易度、権限の有無と範囲、便利ツールの有無、
 詳しい人の有無、他のタスクとの兼ね合い、情報の集積地点の有無、、、

交渉のこと

 言うべきは言い、争うことを恐れない。
 「交渉の3原則」を意識する。
  1 交渉しないこと(強力な交渉材料で押し切ること)
  2 暴力を持って交渉すること
  2 強力な交渉材料をみせて交渉すること
  3 交渉すること
 下記は交渉材料になりうるので、お互いの所有を把握しておく。
 肩書、規則、貸し借り、エビデンス、能力、法律(労基法)、法テラス、警察、労基署、契約、、、
 ただし、自分から無闇に振り回さないこと。
 労働者は雇われのため、上司や顧客に従うことが基本である。
 しかし、限度や無理もあるため、いざという時に備えて交渉材料をよく知り増やすこと。
 交渉の前に、目的と落とし所を考えておくこと。
 1>2>3が交渉の強さである。通常時は3しか使わないはず。1,2はここぞという時に使う。
 

雑多情報の扱いのこと

 よく見るものは印刷する。
 よく使うものは暗記してしまう。
 付箋やコピー紙に使い捨て前提で書き、不要になればすぐ捨てる。
 txtやxlsファイルに書いていく。ファイル名には「一時」や「temp」を含めて名付ける。

必須情報の扱いのこと

 ノートに記録を取る。ボールペンか万年筆で書く。(数千円~の万年筆はいいぞ。手が楽。)
 Excel/Word/txt/メールなどでしっかり記録する。ファイル名はよく考慮すること。

健康を維持すること

 体力・筋力を生活に困らない程度には維持増進すること。
 自分に必要な睡眠時間を知り、確保すること。季節や体調で変わる。
 自慰は控えること。冬は特に控えるべし。
 一日三食にはこだわらないこと。年齢、個人差、体調、季節、業務などによるため、一概には言えないが。
 (健康については書きたいことは多いが、書ききれない。)

未来予「」は無理だと知ること

 自分も上司も部下も無理。人間、AIには無理。(神とかアカシック・レコードなら知ってるんじゃない?)
 しかし、誤差ありの未来予「」ならできる。
 外しても誰も責めるな。自分自身を含めて。
 予測が上手くなることはできるので、反省はすること。

IDとパスワードはメモしておくこと

 電子媒体ではなく、物理媒体(ノート、メモ帳など)に書く。
 その物理媒体は、家の鍵や財布と同じように扱い、紛失盗難しないように心がける。
 IDは全部書いてしまう。
 パスワードは全部は書かずに自分にだけわかる記号を混ぜる。
 「パスワード 工夫」などで検索して、Webページを幾つか見て参考にする。そのままは使わないこと。
 「紛失盗難する確率 * 解読される確率 = 悪用される確率」である。0%にはならないが、なるべく下げよう。
 [一例] 紛失盗難する確率(1%) * 解読される確率(5%) = 悪用される確率(0.05%)

週1で部屋の掃除はすること

 土曜の午前中とか固定して習慣にしてしまう。
 汚部屋ではSAN値が下がっていく。
 ただし、完璧主義にはならないこと。
 ロボット掃除機はいいぞ。

生活を規格化していくこと

 趣味だったり、探求する価値(期待値)があるうちは、たくさん試行すればいい。
  同じ服や下着を複数買う。(ジョブズは毎日同じ服でしたね)
  食料や消耗品も決めてしまう。などなど。

私有のリソース(時間、お金など)を注いで学習鍛錬すること

 周りの平均以上の能力技術がないうちは必須。
 数ヶ月~数年で平均以上にはなれるはず。
 もし無理だったなら、向いていないから他の仕事をしたほうがよいかもしれない。

職場近くに引っ越すこと

 通勤そのものを趣味や気晴らしにできる人以外には、疲労コストでしか無い。
 一人暮らしをすれば、意思決定の毎日となるため仕事能力も間接的に上がる。

お金の扱いも技能であると知ること

 それ系の本を1冊くらい読んどきたい。山崎元さんの本は無難で良かった。
 リボ払いはやめとけ。
 締めるべきは締め、使うべきは使うこと。
 これも技能であるため、練習すれば上手くなる。

家電にはお金をかけること

 家電によって奴隷が不要になったんだよ。
 つまり家電=奴隷であり、1労働者が奴隷を持てる良い時代だ。
 餌は電力、寿命は短い。

30分調べてもわからないことは上司や同僚に聞くこと

 聞くは一時の恥。たいがいは聞いたほうが早い。
 もし誰もわからないなら、自分がそれに詳しくなるために時間をかけることも仕事かもしれない。

息抜きになるタスクをストックしておくこと

 職場にもよるが、周りから怠けているとはみなされると危うい。
 息抜きになるが、仕事の一環だと(一応)主張できるようなタスク一覧を作っておく。
 エッセイ系ブログ読む、書類整理する、ファイル整理する、コーヒー入れる、新技術の調査、、、

情報の扱いのこと

 「情に報じる」と書いて「情報」である。
 セキュリティ問題や、プライバシー問題を考えて、
 暗号を混ぜたり物理媒体のみに保存したりするなど、何らかの工夫をする。
 下記3レイヤーに分けて考える。
  Public:Web上に公開しても流出しても良い。
  Protected:組織内のみ共有や流出しても良い。組織外に流出してはならない。
  Private:自分一人(あるいは数人)が知っておくべきであり、流出してはならない。

法律を学ぶこと

労働者であるならば、労基法はざっと一度は目を通すこと。
「ナニワ金融道」や「カバチタレ」を読むと法律の使い方の勉強になる。
しかし、法律で決まっているからといっても、やたらと振り回すのも危ない。
「交渉のこと」もよく読んで検討すること。

ハロワークなどで労基法パンフレット冊子を配っていたりもする。
以下は厚生労働省の労基法パンフレットPDFを公開しているリンク。
パンフレット「労働基準法のあらまし」
パンフレット「しっかりマスター」

IT技術者なら請負とか派遣とか、ソース著作権とか知っておきたいが、
法律分野も沼なので、必要に応じて学んだり調べたりするのが良いかと思います。
「IT 判例」などで検索すると、いろいろ出てきます。

義務教育で労基法を教えろよと思う。
政府の本音としては知ってほしくないんだろうな、と勘ぐってしまいます。
例えば、アルバイトでも条件満たせば有給取得していることを、どれだけの人が知ってるのやら。
有給は請求されたら消化させる義務がある。しかし請求されなければ消化させる義務はない。。。
法律は無知には厳しい。

契約のこと

契約すると履行する義務が生じる。
そのためサインや押印する前によく読むこと。
まっとうな契約相手ならば、持ち帰って後日の契約でも可能としてくれる。
即締結しか許さないという相手は、詐欺師か無能である。
急かすくらいなら、相手のテクニックかも知れない。

また、契約は更新や破棄の余地もあるものである。
日本は近代国家であるため、設定では「憲法>>>法律>>>その他の規則」となっている。
基本的に上位ルールに反する契約は無効である。
お前、日本が近代国家だと思っていたのか!

ここに記述したのはおおよその原理であるため、
細かいことは調べるなり、法テラスなどに相談してください。
裁判ニュースが流れるのは、専門家同士でもよく揉めるからでしょう。

IT技術者として

資格を取ること

・ITパスポート
・基本情報技術者
 これらは合格することも大切だが、広く浅く知ることがもっと大事。
 30代半ばくらいまでなら、基本情報技術者をとれば食いっぱぐれる事はないと思う。
 (良い仕事に就けるとは言ってない。)
 試験内容が「テクノロジ」「マネジメント」「ストラテジ」の3分野となっているのも感慨深い。

ソフトウェアやツールを知ること

 マニュアルにざっと目を通す。
 ショートカットキーを調べる。よく使うと想定されるものが登録されている。
 メニューバーや右クリックメニューに一通り目を通しておく。

フィルターを意識すること

 メール仕分け、ディレクトリ検索、検索エンジン、ヘルプ検索、、、

自動化と省力化を意識すること

 マクロ、バッチ、PowerShell、bookmarklet、アドオン、辞書ツール登録、ショートカットキー登録、
 ショートカット作成、スタートアップ、タスクスケジューラー、タブピン留め、タスクバーピン留め、
 メニューレイアウトのカスタマイズ、別ソフトウェア導入、MarkDown、正規表現、外部モニター、
 設備新調、ジャンクション、Selenium、grep、diffツール
 (追記)マウスジェスチャ、エクスプローラのタブ化、Google検索オプション、、、

 他にも何かあればぜひ教えていただきたい。
(追記)コメント欄にも様々書いていただいてるため、そちらもご参考ください。

とりあえず検索すること

 知っているつもりで知っていないことは多い。
 カタカナ語は英単語で調べる。

連番命名は2桁以上で始めること

 「1ほげ.txt」ではなく「01ほげ.txt」で命名していく。
 必要に応じて3桁以上で始める。

ピタリとした命名をすること

 ファイル名、変数名、関数名などなど、独りよがりな命名はしないこと。
 辞書検索で言葉の意味を調べる。

ダイクストラ三原則を理解すること

 順次、分岐、反復。プログラム(プロセス)の基本はたったそれだけである。
(21世紀にgoto文はもういない...よね?)

再帰とは何かを知ること

 「自らを呼び出す」という概念は独特すぎる。日常には無い。
 これの理解がプログラマーとしての1つの壁。実装できたら「再帰ッカー」と名乗っていいぞ。

実装と本テストの間にリファクタリングの時間を挟むこと

 リリース後はリファクタリングすることはほぼ無理。
 保守での苦しみを避けるために、サビ残してでもやることも検討する。
 リファクタリングの重要性を理解している職場だといいですね。

自分が不便に思う程度のことは、既に誰かが解決してるということ

 万が一どこにも無いならば、それはブルーオーシャンかも知れない。

Svn、Gitを知ること

 ソース管理が楽になるんだよ。管理がITの大部分の問題だ。
 動く状態でのみコミットするべし。コメントを最大限活かすべし。
 コミットする直前にdiff(差分)をよく読み直す。
 他者のコミットをよく読めば、いろいろ勉強になる。

IT技術史の流れもいくらか知っておくこと

 チューリング賞の名前にもなっているチューリングぐらいは知っておく。
 映画「イミテーションゲーム」を観よう。嫌な人間に描写されてるのは腹立つが。
 チューリング賞受賞者一覧も見ておく。

欲しい情報の集積点を探すこと

 上司の頭の中か、埋もれた仕様書か、Google先生か、一般書籍か。すでにロストしてるかもしれないが。
 知らないことで数時間~数年をムダにすることもある。

ミクロ経済学を勉強すること

 コスト概念はITに必須。
 ITは基本的にコストを下げているだけ。その節約コストの桁が10のx乗になりうるから面白い。
 Joelも「ミクロ経済学だけは役立つ、マクロ経済学は糞」って書いてたね。筆者は行動経済学も好きですが。

電子情報をサルベージしやすいように記録すること

 人間の記憶力を信頼するな、自分のも他人のも。1ヶ月後にはほとんど忘れている。
 調べるのに時間がかかったことや、複雑なこと、忘れたら困ること、、、はテキストファイルに記録しておく。
 ファイル冒頭にこれが何のファイルなのかを三行以内(目安)でまとめる。5W1Hで必要なものを書く。
 このファイルの目的や使い方、年月日、関連ファイル、ヒント、タグ、検索ワード、作者名、詳しい人、、、
 ソースファイルであるなら、コメントアウトを利用する。
 のちのち大量データになってもディレクトリ検索、grep検索などでサルベージしやすくなる。
 ディレクトリ分けも工夫してみること。分野別や、年・年月別など。


18/01/26更新
 「交渉のこと」を加筆修正。
 レイアウト修正。

18/01/29更新
 「情報の扱いのこと」を追加。
 「電子情報をサルベージしやすいように記録すること」を追加。

18/01/30更新
 「IDとパスワードはメモしておくこと」を加筆修正。
 冒頭文を追加。
 「Svn、Gitを知ること」を加筆修正。

18/01/31更新
 「交渉のこと」を加筆修正。
 「資格を取ること」を加筆。
 「法律を学ぶこと」を追加。
 「契約のこと」を追加。
 「自動化と省力化を意識すること」を加筆。