見出し画像

新卒ブログ~実戦の想定 ソースを追う?・リモートワークでも「報連相」が大事?~

 みなさんこんにちは、まだまだ猛暑が続きますね。先輩からのアドバイスを受け、外に出る時は日焼け止めを塗るようになりました。まだ日傘を差すのは周りの目が気になってしまいます。株式会社クレアライズSEのYanaiです。

 さて、8月に入り、私Yanaiは入社してから5か月目に突入します。まだまだ先輩に教わることばかりですが、そろそろ次の段階に進まなければなりません。現在私は勉強中ですが、実際のプロジェクトでの仕事に向けて準備をしなければならないと感じています。
そんな時に、頼もしい先輩からアドバイスをいただいたので、今回はその内容をお話します。

想像がつかない


 準備といっても実際プロジェクトに入ったことがありません。そんな私の「プロジェクトでのイメージが湧かない」を聞きつけて、先輩がアドバイスをくださいました。
先輩から一言、「ソースコードを追うことが必要ですよ!」
自分的には「・・・」
「ソースコードを追う!」とはなんぞや。まずは調べてみました。

追う…?

ソースコードを追う


「ソースコードを追う」とは、ソースコードを読みながらどういう処理をしているか読み解いていくことです。まだ少し「(はてな)」が浮かんでいたので、先輩に解説してもらいました。
通常プログラミング学習で扱うソースコードはそんなに量は多くないので、修正はすぐにできます。しかし大規模開発になると複数のフォルダやファイル、クラスなどがあり、複雑な構造になっていたりします。設計書からソースコードの特定の部分を修正しようとしたとき、複雑でどこが該当部分なのか設計書からは読み取れないことが多いそうです。そこでソースコードを読み取っていき、該当部分を見つけ出す。といった作業をするんですね。
最初のうちは難しいので、知っている人に聞くことが一番良い方法だそうです。

コードを読む方法


 では具体的にどんな方法でコードを読むのか、その方法は2つあります。
詳しい内容はネットなどに載っているので簡単に紹介します。
・動的デバッグ
デバッガなどを使って、実際にソースコードを動かして追っていく方法です。
・静的デバッグ
こちらはソースコードから読み取る方法です。設計書やコードのコメント、変数名などを読んでそこから読み取ります。
どちらにしても、前任者がいる場合はその人に解説してもらうことが早道です。

 言葉で理解できても実際にやるのはそううまくいきません。プロジェクトに入ってすぐにできるようになるため、練習していきます。設計書から作るというのはハードルが高いので、以前までのJavaの学習をしていたファイルや課題、ネットでソースコードを探して、実際に読み取る作業を行いました。1回やってすぐ身につく技術ではないので、それ以降も普段からデバッグしまくって使い方に慣れたり、今まで苦手としていたエラー文から意味を読み取ったりと、実践を想定して勉強を続けるようにしています。効果が実感できるのはだいぶ先かと思いますが、続けていこうと思います。

継続は力なり。

ホウレンソウ(報告・連絡・相談)の重要さ


 社会人では「ホウレンソウ」が大事だと言われていますね。私はクレアライズに入社してから、新人のうちは「0割、2割、5割、8割確認」が重要だと教わってきました。
一般的な確認よりも、かなり細かいですよね。
最近新型コロナウイルスの感染者が急増した影響もあり、リモートでの作業が増えたことで、自分がホウレンソウができていないこと、そして、この細かい確認こそが胆だと再認識しました。

 作業をする時、みなさんはなにから始めるでしょうか。例えば資格の勉強をする時、どんな問題が出るのか、何点取れば合格なのか、まず全体像を把握しますよね。次に試験まで何日なのか計算して、じゃあいつまでにこの範囲を終わらせようといったように計画を立てます。
この計画をしっかり立てないでとりあえず始めた場合、失敗することは想像がつくと思います。

 私は特に0割、2割確認ができていませんでした。
先輩が頻繁に声を掛けてくれていたんだと気付き、先輩に感謝です。
私はリモートでの作業で調べたことの整合確認を後の出勤時に行いました。その報告が遅いことを指摘してもらい、そこで気づきました。もし自分が違うことを調べていたら、やり直しになり、その調べた時間が無駄になってしまいます。さらにどこまで調べるかを決めておかないと、いつまでたっても終わらないです。
 まず0割確認では、
調べ始める前に自分がなにを調べるか、「範囲を決める」
そして、どこまでやるか、「ゴール」を確認する。
次に2割確認でその方向性で合っているか確認します。あとは5割、8割でも内容がずれていないか、などの確認を行います。


 今まで私は出勤して作業をしていたので、わからないことがあればすぐに聞くことができました。しかしリモートでの作業ではそれができない状況にあります。リモートだからこそ、気になったことや疑問に思ったことなど、細かいところでもコミュニケーションを取っていくことが重要だということを学びました。実際のプロジェクトでもリモートでの作業が多いそうなので、早くリモートでの作業に慣れていこうと思います。

リモートワーク頑張ります!


まとめ


いかがでしたでしょうか。
本番を想定した準備は自分で意識しないとなかなかできないですよね。その方法が本当に合っているか、自分で判断がつかないと思います。自分で考えるのも大事ですが、時には早めに誰かに相談することが一番の近道になるかもしれませんね。
また次回お会いしましょう。


-------------------------------------------------------
弊社では、
新卒の方、転職活動中の方、検討中の方含め
経験者未経験者問わず積極採用中!
あなたのことを聞かせて下さい!
https://en-gage.net/crearaizeinfo_career/
-------------------------------------------------------


リンク
弊社ホームページ: https://www.crearaize.com/
弊社ブログ:  https://www.crearaize.com/blog/
弊社Facebook: https://www.facebook.com/株式会社クレアライズ-116129216882295
Twitter:https://twitter.com/crearaize
投稿者YanaiのTwitter: https://twitter.com/Yanaicrearaiz
#転職 #就活 #プログラミング #java #システムエンジニア #プログラミング未経験   #株式会社crearaize