JavaRush /Java Blog /Random-JA /コーヒーブレイク#48。ジュニア開発者にとって役立つ 9 つの習慣

コーヒーブレイク#48。ジュニア開発者にとって役立つ 9 つの習慣

Random-JA グループに公開済み
出典: Free Code Camp 自分の習慣を分析したことがありますか? 良いものは、あなたがなりたい自分になるのに役立ちます。悪い習慣は、あなたを徐々になりたい自分へと変えていきます。ソフトウェア開発者として 12 年以上働いてきた私には、誇りに思う習慣と、やめたい習慣がいくつかありました。最初はその重要性がわかりませんでしたが、そのうち、どの習慣が自分の成長を助け、どれが妨げになっているのかが明らかになりました。これをきっかけに、私は棚卸しをして、あなたにも同じことをするきっかけになりそうなことについて書こうと思いました。コーヒーブレイク#48。 ジュニア開発者にとって役立つ 9 つの習慣 - 1

わからないことは自主的に引き受ける

キャリアの初期段階では、何も知りません。したがって、おそらくあなたは詐欺師のように感じるでしょう。結局のところ、会社はあなたにスペシャリストとして給料を払っているのに、あなたは同僚が使っているテクノロジーやフレームワークの名前の半分も知りません。時間内に Google で検索したため、後半についてしか知りませんでした。「キャリアの開始時」という言葉を「新しいプロジェクトの開始時」に置き換えると、ソフトウェア開発におけるキャリアをかなり正確に把握することができます。すべての新しいプロジェクトは、何か新しいことの始まりです。私たちは新しい人々に会い、新しい要件を理解し、新しいフレームワークを学びます。そして毎回そうです。だからこそ、常に新しいことを学ぶことが非常に重要です。いつも自分の得意なことだけをやっていると、新しいプロジェクトに自信を持って取り組むことができません。未知への恐怖は常にあなたの前に現れます。何も知らないことに自分一人で取り組む習慣をつけることで、新たなスキルや知識を得ることができます。アセンブリ内の何かを修正する必要があり、これまでそのような作業に遭遇したことがない場合は、このタスクに取り組んでください。必要な経験と新しいスキルを得ることができます。フロントエンドの JavaScript コードにバグがあり、これまで Java バックエンドのみを使用してきた場合は、それを修正してください。よくわからないことに取り組むことは、専門的に成長するための素晴らしい方法です。ただし、他人の期待を裏切らないでください。すべてにおいてエースであるふりをしないでください。これまでにこれを行ったことはないが、学びたいと正直に言ってください。

誰かにペアで作業するよう依頼する

何かで行き詰まった場合、またはタスクを完了する方法がわからない場合は、経験豊富な人に協力してもらうように依頼してください。ペアプログラミングは物事を進めるための素晴らしい方法です。要件について同僚と話し合ってください。これにより、結果がどうなるかを理解しやすくなります。次に、解決策のオプションについて話し合ってください。さらに進んで、ペアで作業することを申し出て、コードを作成すると同僚がヒントを与えたり、その逆を行うこともできます。これは、問題について考え、解決する方法を学ぶのに役立ちます。初心者にとって、ペアプログラミングは非常に有益です。 在宅勤務についてのメモです。リモートワーク形式に切り替えたとき、私にとってまったく新しい問題に直面しました。同僚にペアで仕事をしてもらうべきかどうか迷い始めました。オフィスではすべてがシンプルで、隣のテーブルに行ってこの問題について話し合うだけで済みました。リモートワークやビデオ会議によるコミュニケーションにより、すべてが著しく複雑になりました。これがあなたにとっても問題である場合は、同僚と話し合ってください。いつものアプローチを少し変えて、新しい習慣を身につけるだけで十分です。

あなたが行ったこと(および行わなかったこと)を報告する

1 日でできるだろうと熱心に取り組んだのに、結局 1 週間で終わってしまったことが何度あったか思い出せません。経験を積むにつれて、そのような状況に陥る可能性は低くなりましたが、それでも時々、自分の評価が楽観的すぎることがあります。この時間を見積もる理由はいくつかあります。
  • 期限が近いため、経営陣は新機能を早く完成させるよう要求します。
  • オフィスの同僚と比べて見栄えを良くしたい。
  • 多くのことが期待どおりに機能しません。
  • 他にもたくさん…
一般に、時間の見積もりも楽観的すぎる可能性が非常に高くなります。これを修正するにはどうすればよいですか? やりながら期待をコントロールできます。自分がしていることについて常に話し、何が自分を妨げているのかを常に伝えてください。タスク ステータスの更新を 15 分ごとに発行する必要があるという意味ではありません。関係者があなたがプロセスのどの段階にいるのかを知っていることを確認してください。これを勤務日の初めと終わりに伝えるのが最善です。上司やチーム/プロジェクト マネージャーがあなたに結果を期待している場合は、毎日次のように報告してください。あんな問題に遭遇しました。それを解決するための選択肢は次のとおりです。」こうすることで、興味のある人全員があなたの進捗状況を知ることができます。突然問題に遭遇しても、人々の情報を常に把握しておく限り、誰もあなたを責めることはありません。追加の利点: タスクの現在のステータスを報告することで、他の人から問題に対する推奨事項や解決策を聞くことができます。自分の仕事の結果について関係者に定期的に報告する習慣をつけましょう。

ブログを始める

あなたがこのアドバイスを聞いたのは私が初めてではないかもしれませんが、とにかく言っておきます: ブログ! ブログを公開する必要はありません。これは、会社の Wiki の数ページ、またはコード例と数行の説明テキストを含む GitHub リポジトリのコレクションである可能性があります。なぜこれが必要なのでしょうか? なぜなら、他人に教えるために何かを書くとき(たとえその「他人」が将来の自分であっても)、それは専門的に学び、成長するための素晴らしい方法だからです。難しい問題をどのように解決できたかについて書きます。または、リリースを長い間待っていた新しいフレームワークがどのように機能するかについて。また、その週に何をしたかを日記として残すこともできます。ちなみに、これは自分が現在取り組んでいることを伝える習慣を身に付けるのに役立ちます。何度かブログを書き始めました。もちろん、最初は、自分の投稿をほとんど誰も読んでいないことに気づき、モチベーションを維持して無理に書くのは非常に困難です。空白に文字を書くのはとても奇妙です。このため、ブログを放置してしまいました。そして 3 年前、私は次のブログを始めました。私は6か月間、聴衆なしで書きました。そして、robots.txt ファイルでは検索エンジンがブログのインデックスを作成できないため、読者がいないことがわかりました。簡単に言うと、robots.txt の設定を変更したところ、人々が私の記事を読むようになりました。読者はそれほど多くはありませんでしたが、それでもやめないという動機を与えてくれました。徐々に文章を書くスキルが向上し、今では私のブログは月間 20 万ビューに達しました。そしてこれはすべて、私がかつて解決できた新しいフレームワークと問題について書き始めることに決めたという事実によるものです。これは、必要なときにメモに戻れるようにするためであり、決して大勢の聴衆を集めたかったからではありません。ブログは最初は退屈な雑用のように思えるかもしれませんが、やめなければ、時間が経つにつれて満足感をもたらし始めます。学びたい、教えたいという気持ちを持って書き始めれば、多くのことを学べるだけでなく、多くの人に興味を持ってもらえるでしょう。

ノートを手に入れましょう

私は最近になってノートの大ファンになりました。プログラムという形ではなく、本物の紙のものです。どこに行くときも、メモ帳とペンを持っていきます。こうすることで、いつでも思いついたことを書き留めることができます。誰かの話を聞いているとき、バスを待っているとき、夕食の何を作ろうか考えているときなどにメモを取ります。また、読みたい本、学びたいフレームワーク、個人プロジェクトに追加したい機能のリストを作成するためにメモ帳も使用しています。そして、さらに重要なことに、私は本を読むときにメモを取ります。そうすることで学んだことをよりよく記憶できるからです。思いついたことをすべて書き留めます。そして、何らかの理由で何かを書き留めることに失敗すると、眠れなくなるほど不安になります。要は自分の記憶を信じていないということだ。記憶力が良く、1週間前に考えたことをすべて完璧に覚えているのであれば、おそらくノートは必要ないでしょう。しかし、私のように物覚えが悪いのであれば、ノートにメモを取ることで人生が大きく好転するでしょう。ノートブックを最大限に活用するには、体系的なアプローチが必要です。ノートに書いたことは何であれ、失われることはないと自分を安心させなければなりません。ノートの最初の数枚を目次に分けて、後で必要な情報を簡単に見つけられるようにします。定期的にメモを見直す習慣をつけましょう。たとえば、本を読んでいるときに取ったメモを考えてみましょう。本を読み終わったら、メモに目を通し、その感想をブログに書きます。この文章を読む人はほとんどいませんが、レビューを書くというプロセス自体で、読んだ内容について考える必要があり、その結果、内容をよりよく覚えておくことができます。

勝利を記録する

ノートは、自分の成果を文書化する習慣を身につけるときにも必要です。先ほども言いましたが、私の記憶力は悪いです。確かに、昨日の昼食に何を食べたかは覚えていますが、複雑なタスクに集中していると、記憶力が著しく低下します。そのため、私は毎日の終わりに自分の成果を書き留めるルールを設けています。私たちは何か傑出した行為について話しているのではなく、単に小さな勝利について話しているだけです。たとえば、バグを修正したり、新しい機能の作成に向けて新たな一歩を踏み出したことなどです。また、朝のトレーニングを完了したなど、個人的な勝利についても書き留めます。夜には、その日中にやったことのリストを作成し、それをすべてノートに書き留めます。タブレットでこのようなエントリを作成することも、都合がよければ特別なプログラムを使用することもできます。時間が経つにつれて、さらに多くの成果が得られます。後で簡単に見つけられるように、最も重要なものに何らかの方法でマークを付けることもできます。たとえば、パフォーマンス レビューの準備をする前に、リストに目を通し、関連する成果を見つけて別のリストにリストします。そうすることでレビューがより良くなります。業績のリストは、自分が何をしたかを伝えるのにも役立ちます。

重要なタスクのための時間を見つける

一日の終わりに、今日は何も達成できなかったと感じることがよくあります。そして、勝利(または少なくとも完了したタスク)を文書化することは重要ですが、最も重要なことはそれらのタスクを完了することです。ある会議が別の会議に取って代わられ、突然勤務日の終わりが来ることがよくあります。同僚との会議の後、作業を​​続けたいと考えていますが、準備を整える時間があるときに、新しいビデオ会議が始まります。そして、すでにコンテキストを失っているため、その後、もう一度「ウォームアップ」する必要があります。これにより、生産性が低下します。生産性について私が学んだことがあるとすれば、重要なタスクのために時間を確保することが重要だということです。重要なタスクのために時間を確保する習慣がなければ、それらのタスクに取り組めなくなる可能性が高くなります。あなたの時間は、日常の通常の活動に費やされてしまいます。時間の管理にはさまざまな方法がありますが、正直に言うと、私は 2 ~ 3 か月ごとに 1 つのアプローチから別のアプローチに切り替えています。しかし、重要な点は同じです。絶対に完了する必要があるタスクについては、スケジュールにかなりの時間を確保する必要があります。私は朝、仕事の前に 1 時間をブログ (または他のサイト) の記事を書く時間を確保しています。また、夕方(子供たちがすでに寝ている時間)に個人的なプロジェクトに取り組むために 1 時間を確保しています。現在、Trello ボードに曜日ごとの列があり、朝と夕方に取り組みたいタスクをリストしています。私は週に一度このボードを更新し、次の週に達成する必要があることをそこに書きます。そうすることで、次に何をすべきかを考えることで貴重な時間を無駄にする必要がなくなります。さらに、特別な集中力が必要な仕事のために毎日 2 時間をスケジュールに組み込んでおり、この時間に同僚が会議の予定を入れようとしないようにしています。これらすべてが、その日に予定されているタスクに対処するのに役立ちます。一般に、時間をどのように正確に管理するかはそれほど重要ではありません。重要なことは、それを原則として実行し、そこから習慣を作ることです。そうしないと、自分にとってあまり重要ではないことで日々が費やされてしまいます。

行き詰まったら休憩しましょう

開発者は行き詰まりに陥ることがよくあります。そして、こうした状況は非常に迷惑なものです。このような場合、誰もが仕事を休むことを勧めることがよくあります。しかし、場合によっては、「決定が近づいているので、今はやめられない」という理由で、そのような推奨事項に従うことが非常に難しい場合があります。そして、もし私が今休憩を取ったら、その後、私は再び問題の本質に「介入」しなければならないでしょう。なぜ自発的に時間を無駄にするのでしょうか?しかし実際には、仕事に行き詰まっていると、まともに考えることができなくなります。あなたは、そのような問題に行き詰まるのは非常に愚かだと思います。結局のところ、同僚はおそらくそれを簡単に処理できるでしょう (別のオプションは、常に簡単なタスクを与えられるということです)。同時に、実際に問題を解決する方法については考えません。休憩して、しばらく別のことに取り組んでください。あるいは(さらに良いのは)明日この問題に戻ってくることです。問題から少し距離を置くと、これまで見えなかった解決策が見えるようになります。もしかしたら、あなたはまだこのようなことを経験していないかもしれませんが、保証します。適切な解決策は、自然に思い浮かぶことがよくあります。時間がない場合は、ポモドーロ メソッドを使用できます。タスクを 30 分のセグメントに分割し、間に短い休憩を挟みます。各ステップの後で、私は解決モードに入っているのか、それとも行き詰まって別のことをするべきなのかを自問します。ポモドーロメソッドには、各ステップの終わりを他の習慣のトリガーとして使用できるという追加の利点もあります。たとえば、テーブルから立ち上がってストレッチをしたり、水を飲んだりする習慣を身につけることです。これは、習慣の積み重ねと呼ばれることもあります。これは、ある習慣を別の習慣の上に積み重ねることで、結果として良い効果が得られるためです。

魔法の杖を探す必要はありません

私はかつて、特定のソフトウェア アーキテクチャ スタイルについての本を書いたことがあるのですが、次のような質問を含むメールを定期的に受け取りました。「このスタイルがとても気に入っているので、すべてのプロジェクトに適用したいです。どうやってするの?" そして、私が何と答えるか知っていますか?すべての問題を解決するのに適した単一のアーキテクチャ スタイルはありません。小規模なプロジェクトの場合は、単純な CRUD API を作成します。複雑なモデルがある場合は、より複雑な六角形のアーキテクチャを構築することになります。そして、それぞれの個別のコンテキストでマイクロサービスを作成するときは、何百ものアーキテクチャ スタイルのうちの 1 つを使用します。あらゆるプロジェクトに使用できる普遍的なフレームワークはありません。単一のプログラミング言語やコーディング スタイルが存在しないのと同じです。魔法の杖を探そうとしないでください。彼女は存在しません。自分の意見の背後に価値のある議論がある場合、自分の意見を持つことは良いことです。「これが最高の建築様式だ」「私はいつもこうする」というのは議論に値しません。あなたのチームに、常に自分の好みを持ち、「それが最善だから」と常に口から泡を吹いて自分が正しいことを証明する開発者がいると想像してみてください。すぐに飽きてしまいます。そのようなタイプの開発者になってはいけません。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION