91
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

新人エンジニアが先輩に言われたこと4つ

Last updated at Posted at 2022-08-28

1.はじめに

今回は技術的な内容というより、「入社してからこれまでで言われたことを振り返ってみよう」 という記事になります。

「現場でこういうこと言われている人がいるんだな~」 と読み物感覚で読んでいただけると幸いです。

2.自己紹介

  • 未経験で4月に入社しました。実務経験5ヶ月目のバックエンドエンジニアです。
  • 自社サービスのシステムの不具合改修や、機能追加が主な業務内容です。

研修はなく、教育係の先輩や上司を中心に、都度教えて頂きながら業務に携わっています。

3.今回の「先輩」とは

別支店にいる教育係の先輩です。

チャットやWebミーティングで質問したり、コードのチェックをして頂いています。

4.先輩に言われたこと4つ

①コードのルールを守ろう

「自分でコードが書けた」と思ったら変更前後のファイルを先輩に送っています。

JavaScriptの実装で以前、こういうことがありました。

functionの呼び出しをしているわけですが、今回の場合だとsample( id );と本当は最後にセミコロンが必要になります。

function sample( id ) {
 
}

//functionの呼び出し
sample( id ) //「;」がない

こう言ったやり取りが頻発したときに 「何回も言わさんといて」 と呆れさせてしまい、心底へこみました。

そこからJavaScriptの学習とセルフチェックの強化を行い、今は以前より減ってきていると感じています。

22/9/12追記(Prettierの導入)

頂いたコメントを参考に、VSCodeに「Prettier - Code formatter」を導入しました。
インデントの修正や;の補完などをしてくれるので便利ですね:relaxed:

▼公式

▼参考記事

②変数のスコープを意識しよう

スコープとは、「変数や関数の引数などを参照できる範囲を決めるもの(引用元:JavaScript Primer)」です。

どこで宣言するかによって参照できる範囲が異なります。

※JavaScriptで定数をx,y,zで宣言した例です。

const x = 1; //グローバルスコープ(プログラム内どこからでもOK)
function sample( id ) {
    const y = 2; //関数スコープ(ファンクション内のみ)
}

{
    const z = 3; //ブロックスコープ(ブロック内のみ)
}

変数を追加する機会があり、「ゆくゆくは別のところから参照する可能性もあるかも」と思ったのでxのグローバルスコープで宣言してコードを提出しました。

そして返ってきたのが 「なんでそこに宣言したん?」 ということでした。

グローバルスコープはどこからでも参照できるぶん、予期せぬ動きをする可能性もあります(他の人と変数名が被ってしまい衝突するなど)。
担当した課題が独立しているようなものだったこともあり、今のところ参照する予定はないという理由から最終的にfunction内に移動させました。

根拠をもとにスコープを意識して、宣言しましょう。

③不明点は本人に聞こう

これはタイトルのままなのですが、「自分を挟まずに○○さんに直接聞いてくれ」 ということです。

自分は出社していますが、複数の拠点で1つのチームとして働いているため基本的にやり取りはチャットで行うことが多いです。
チームメンバーから自分宛てに質問を頂いたときに、

  • いろんな解釈ができる
  • 「何を言われているのか全然わからん・・・」

となることがありました。

「他の人の意見が聞きたい!」と思って先輩に確認して質問に返信をしていましたが、「当人じゃないから憶測になってしまうし、直接聞いて良いと思う」とのことでした。

解釈がずれた状態で質問をしていないかどうかが不安でしたが、「解釈がずれたまま仕事を進めることのほうが怖いし、迷惑をかける可能性があるな」と思うようになりました。
割り切って今は質問するようになり、悩む時間が減ってきました。

前に進むためにも、思い切って質問してみましょう。

④やりたいことを日本語にしよう

「プログラムを考える前にまず日本語に落とし込む」 ということです。

~ある日~

私「今日から○○の課題に着手して、触るファイルが結構ありそうです。1日コード読んで時間が経ってしまい進捗はほとんどないです・・・」

先輩「なるほどなぁ・・。この課題で何がしたいん?」

私「えっと・・・。」

進捗がないうえに、ゴールも目的も答えられない。申し訳なさでいっぱいでした。

そんな私に先輩からアドバイスを頂きました。

「まず日本語で

  • やりたいこと
  • そのためにやらないといけないこと
  • 気になっていること

を明確にしてみたら」

〜ある日・完〜

私はこれまで、課題を見つめながら「この辺に書いてあるかな」と思い、コードを読むことからはじめていました。似ている書き方をしている箇所があればコピーで持ってきたり・・。

先輩のアドバイスを受けて、まずノートに書き出すことから始めてみました。

  • 日本語にできないならコードにできない
  • 日本語にできないなら、そもそも理解していない可能性がある

今はこれをひしひしと感じています。

先輩にノートを見せることはないですが、私の進捗報告や質問を聞いて「理解していないんだな」と判断されているようで「日本語にしてみた?」「理解してないでしょ」と突っ込まれます。

私は締め切りまで時間がないときほど、焦りが募ってコードを読まなきゃとなってしまう傾向があるのでいったん落ち着いて整理してから始めたほうが、実は近道かも・・・と思いました。

ゴールも目的もわからないまま走るのはできないですね。目標の立て方と似ていると感じました。

5.まとめ

今回は自分が先輩から言われたなかで特に印象的だったものを挙げてみました。

毎日アドバイスを頂けることに感謝しつつ、取り入れて成長していきたいと改めて思いました。

6.最後に

何かありましたら、ご意見やご感想をいただけると幸いです。

読んでいただき、ありがとうございました。

91
54
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
91
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?