インターンで得た知見


大学時代インターンをやってて気付いたことや、仕事をする上で意識していること、やっていることをただ書き連ねているだけの記事です。

## 業務への姿勢

- 仕事では優先順位を明確に付ける。
- よって断る力も非常に大切。自分の能力を過信せず、あれもこれも引き受けない。
- 一緒にプロジェクトを組んでいる人、特に上長には逐一報告(報連相)
- 喋りやすい人にも敬語を使うのを徹底する。
- 常に設計工学の考えを徹底する。

勤務先の方とどんなに仲が良くなっても敬語を意識するようにしています。目上、年下関係なく、敬意を持って接するよう心がけています。文面でも同様です。特に残るものなので。

## MTG
- 毎回のmtgでは必ずアジェンダを用意する。
- 不必要に参加人数を増やさない。最小限の人数で行う。

## slackでのコミュニケーション

- なるはやで返信する。

早く返信しないと相手に迷惑なのでせめてスタンプだけは返しています。15分以内の返信を心がけています。

- 不要なチャンネルを抜ける。
メッセージを確認していたらコーディングの集中を削ぎます。



## GitHub上でのコミュニケーション

- 変数名にこだわりを持つ。
- プルリクを送る時はどの記事を参考にいて書いたかなども記載する。
```
#### backlogなどのチケットリンク
#### Why　なぜこのPRが必要なのか、背景や目的
### What　このPRでなにをするのか、どう変わるのか。見た目の変更の場合はスクショを貼り付ける。また、動作確認時の注意点やアドバイスも書く。
#### 参考リンク
#### レビュー可能チェック
```
- 再度レビューしてもらう際は前回いただいたコメントのリンクも載せる。
- プルリクを送る際はデバッグ時に必要なconsole.logやprintにはコメントアウトで　「// TODO 後ほど削除」　と忘れないように記入する。
- テストで入れたコードについては後で消す予定のものがあれば、「// FIXME: 検証後削除する」などと追記する。
- 頻繁に git pull origin develop を行う。
- gitのコミットメッセージは詳細に書くことを意識する。また、なぜ変更を加えたのか、なぜそのロジックにしたのかも明記する。

- sshに関するエラーが出たら以下の記事を参照ればだいたいなんとかなる。

https://qiita.com/ucan-lab/items/e02f2d3a35f266631f24







## 調べ物
- 見栄を張らずにまずは自分にとって分かりやすい記事を探す。公式ドキュメントは絶対に目を通す。
- 作成された記事の年月日と環境を必ずチェックする。
- 検索する時は型を検索ワードに含める。


例えば、今あなたはScript系の言語を扱っており、配列の中身のみを全て抽出したいと仮定する。

```js
const values = ["hoge", "foo", "piyo"]
```
　　　　　　　　　　　　　　　　↓

```js
const newValues = "hoge", "foo", "piyo"
```
この時、そのまま「js 配列 要素のみ抽出」と検索すると、定義された配列に対し、新たな配列を特定の要素のみが抽出された新しい配列を生成する内容の記事が多くヒットする。これは配列ではない要素のみを取るという本来の目的とはズレた内容となる。このような場合、処理後にどんな型になるかを以下のように明記して検索すると良い。
「配列　文字列　変換」
すると自分が得たい記事にヒットする可能性が高くなる。ちなみにこの例で言うと以下のメソッドを用いて解決できる。

```js
const values = ["hoge", "foo", "piyo"]
const newValues = values.toString();

>>> "hoge foo piyo"
```

- エラーが出た時は固有名詞を含まない状態で検索する。

例えば今あなたはPostgreSQLの環境構築をしており、以下のエラーに遭遇したと仮定する。

```
error: role hoge does not exist postgres
```

上のhogeはあなたが設定したデータベースのオーナー名に当たる。これをそのまま全てコピペして検索するのではなく、以下のように編集して検索すると良い。ちなみに全てコピペして検索した場合、目的とやや異なった英語の技術系記事のみ表示されることが多い。

```
error: role "" does not exist postgres
```

すると日本語記事だと例えば以下にヒットできる。
https://qiita.com/Ksk8358/items/6629f597ddf7f4ccd97c
記事に従って以下のコマンドを実行するとロール名とオーナー名を一致させないといけないことが分かる。

```
psql postgres
```

- 基本英語で検索する。

今あなたはpsqlコマンドでデータベースを作成したいと仮定する。そのような時は「psql　データベース作成」と検索するのではなく、「psql create database」のようにキーワードは英語でやると多くの記事にヒットする可能性が高くなる。
https://www.postgresql.jp/document/9.4/html/sql-createdatabase.html
https://www.guru99.com/postgresql-create-database.html
https://www.postgresql.jp/document/9.2/html/tutorial-table.html
- 英語のドキュメントを読む・クラウドサービスを扱う際は全体を眺めるのではなく、まずはナビゲーションバーを確認する。最初に表示されるページは環境構築に関して触れているケースが多い。

- 何かしたい実装があったらデータの型を確認した後、まずは記事6枚前後は読む。

## 生産性を上げるには
- リモートの際は朝散歩をする。
- 夜22時以降はスマホ、iPadの電源を強制的に落とす。
- スマホとiPadからtwitterとYoutube、Instagram を消す。PCにはtwitterのみ残す。

##
## 社用PCを渡されたら
- Docker
- VSCode
- Node.js
- Anaconda
- Java
- clipy
- GitHub Desktop
- slack
- Postman
- VSCodeに拡張機能を入れる。

https://qiita.com/ucan-lab/items/e85931bf8276da43cc97?utm_content=bufferba220&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

- Macに以下の設定を加える。

https://qiita.com/ucan-lab/items/c1a12c20c878d6fb1e21

をインストする。

## 知見を得たら
得た知識とスキルは記事にまとめアウトプットを必ず行うようにする。この時、必ず使用技術のVersionと使用技術の誤字（特に大文字か小文字か）に気を付ける。
余力があったら少しでもポートフォリオ制作を進める。