仕事Tweetこんにちは、エンジニアのさもです。今年度で社会人3年目になりました。職場では、経験年数も年齢も下の方と一緒に仕事する機会も出てきました。そんな私が、実践していると「こいつはできる!」と思ってしまう、新人プログラマの習慣を書いてみます。スポンサーリンクメモリを気にするローカル環境で動かしているとあまりメモリのことは気にしないと思います。処理結果を新しい画像へ書き込み時間のかかる処理の間、画像オブジェクトはメモリの上で待機したままです。大規模なwebサービスともなると、一気に同時アクセス数が増え、メモリ使用量も増えてしまいます。画像がメモリ上に存在している時間を少しでも短くし、swap(メモリが足りなくなって代わりににハードディスクを使うため遅くなること)する確率を減らしたいですよね。処理結果を新しい画像へ書き込み本番で運用することも見据えてプログラムできてる新人は凄い!気にしていなかった方はぜひ今後気にしてみてください。速度を気にする処理速度はメモリよりも顕著に出てしまうので、ぜひ気にしていただきたい。実際に処理速度を速くするコードを書くのは容易ではありません。自分でかけないと思った場合は、先輩などに聞いてみましょう。自分で書けなかったとしても、「処理速度まで気にしているなんてしっかりしてる!」と思ってしまいます。リファクタリングリファクタリングはすでに書いたコードを、もう一度見直しよりよくすることです。速度やメモリを考慮したコードも一発で書く必要はありません。動いたコードに対して、より綺麗に、見やすく、速く、軽く(メモリ消費量が少ない)なるようにリファクタリングしてください。先輩に見せるコードはリファクタリング済みのコードです。リファクタリング済みのコードを見せられると、こんなコードを書けるのか!とびっくりしてしまいます。先輩の書いたコードをリファクタリングしてください。不要なコードはないか、コメントの誤字脱字はないか、変数名が不自然ではなか・・・など。先輩のコードをリファクタリングできるようになってきたら、先輩はあなたのことを後輩ではなく、一人のチームメンバとしてみるようになるでしょう。テストコードリファクタリングも、速度も、メモリもまだよく分からないというあなたへ。プロジェクトでテストコードを書いているなら、テストコードを見直してみましょう。考慮されていないケース、特異的な値などをみつけたら、絶好の機会です。テストコードは頑張れば頑張るほど成果がでます。誰にも見つけられなかったバグを見つけたなら、あなたはそのプロジェクトのヒーローです。テストコードを頑張って書くと、結果的に結合試験で見つかるバグが少なくなり、修正作業も短くなります。先輩は、あなたの実装した機能のバグが少ないことにきっと驚くでしょう。その後の改修や保守でもずっとあなたの書いたテストコードは役に立ち続けます。テストコードをしっかり書いてくれる新人さん、大好きです。タスク管理タスク管理はどこへ行ってもついてまわる話ですが、ここでは、1つの与えられたタスク(機能の実装)をどう管理するかという話です。私が実践している方法は、ありきたりですが、タスクを小さいタスクに分解する方法です。小さいタスクはそれぞれ「大体の完了時間が分かって、やる作業も大体わかっている」となるように分解しています。railsで画面を一つ追加する場合は、ルーティングの追加コントローラの実装ビューの実装テストコードみたいな感じです。なれればタスクを分けなくても出来るようになってきますが、私はいまでもタスク分解をやっています。ルーティングの追加と詳細に書けばチェックボックスになってくれるので、管理するのにとても便利です。タスクが分解されていて、聞かなくても進捗が分かるようになっていれば、先輩も一安心です。Qiitaプログラマは勉強しなければならないことが多いです。インプットばかりではなかなか身につきません。アウトプットすることが大切です。アウトプットの1例として、ブログやQiitaをオススメします。日々の業務で起こったエラーや実装に苦労したときの知見などを、自分の中にためておくだけじゃなく、公開して役立ててもらいましょう。先輩は、自分の知らないところで後輩が活躍していることを知ったら、チームメンバを超えて、一人のプログラマとしてあなたを見るようになるでしょう。gitチームでプロジェクトを進める以上、gitは避けて通れないと思います。初心者にはgitはとても難しいです。私も何度もチームメンバのコミットを消してしまいました(笑)そんなgitを使いこなせる新人は凄い!railsやjavascriptは実際に動くものが作れて楽しいですよね。勉強のしがいがあります。gitは複雑でややこしくて難しくて全然楽しくありません。楽しくないことも同じように勉強し、使いこなせるように慣れる人は凄いと思います。gitは難しいですが、一度慣れてしまうとそれ以降は難しくありませんし、意外と覚えることも少ないです。同期に差をつけたいと思っている方は誰よりも速くgitマスターになることをオススメします。一度以下の記事も読んでみてください。www.uosansatox.biz最後にどれも簡単に出来ることではありませんが、実践すれば、プロジェクトの品質とあなたの評価に直結します。早くチームに貢献したいという方は試してみてはいかがでしょうか。読者登録をしていただけると、ブログを続ける励みになりますので、よろしくお願いします。Rubyの勉強メモです。使えばいいのかわからない...2017-12-26Lineにアップロードした画像をクラウドへ保存するBot作ったこんにちは、エンジニアのさもです。タイトルにもありますが、...2017-12-06なにかと批判されがちな「ゆとり世代」からの反論こんにちは、エンジニアのさもです。先日、あるツイートに返信...2017-11-30Rubyでどう書く?配列からターゲットの周囲5件を抜き出すこんにちは、エンジニアのさもです。仕事で次のような要件のメ...2017-11-01ノートPCのメモリを増設しました。ノートPCのメモリを4Gから8Gへ増設してみました。»さもしのプロフィールRubyを使うWebエンジニアです。仕事の幅を広げようとPHPも勉強します。趣味でProcessing(p5.js)をやっていて、入門サイトを作りました。当サイトに掲載されている広告について当サイトでは、第三者配信の広告サービスGoogleAdsenseを利用しています。使用することがあります。Googleアドセンスに関して、このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、こちらをクリックしてください。当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。当サイトでは、スパム・荒らしへの対応として、コメントの際に使用されたIPアドレスを記録しています。これはブログの標準機能としてサポートされている機能で、スパム・荒らしへの対応以外にこのIPアドレスを使用することはありません。メールアドレスとURLの入力に関しては、任意となっております。全てのコメントはサイト管理人が事前にその内容を確認し、承認した上での掲載となりますことをあらかじめご了承下さい。加えて、次の各号に掲げる内容を含むコメントは管理人の裁量によって承認せず、削除する事があります。特定の自然人または法人を誹謗し、中傷するもの。極度にわいせつな内容を含むもの。禁制品の取引に関するものや、他者を害する行為の依頼など、法律によって禁止されている物品、行為の依頼や斡旋などに関するもの。その他、公序良俗に反し、または管理人によって承認すべきでないと認められるもの。さもし初出掲載:2017年8月24日はてなブログをはじめよう!s-uotani-zetakansuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。