ITエンジニア2年目です。開発時になかなかロジックが思いつかなかったり、集中できなかったりします。いつも期日に間に合わず、納期のプレッシャーがつらいので、効率よく実装して時短したいです。実務で役立つプログラミングのコツとかあれば教えて欲しい。
こんなお悩みにお答えします。
本記事で解説する「ITエンジニアが実装力を上げる方法17選」を読めば、実装力を向上するためのマインドとテクニックを知ることができ、すぐに実務で応用できるようになりますよ。
僕はプログラマー歴3年で現在はフリーランスとして活動しています。この記事では、これまで僕が現場でプログラミングをしてきた中で「この方法は効率が良いな」と感じたポイントをまとめました。
現場で働くプログラマーは常に納期のプレッシャーがありますよね。いつもタスクの期日が短く疲弊している方は多いと思いますし、僕もその一人です。少しでも実装力をあげて生産性を高め、納期のプレッシャーを軽減していきたいところ。
この記事で紹介する中には「それは知っている」という情報もあるかもしれませんが、意外と実践できていなかったりしますので、まずは一通り読んで実践してみてください!
ITエンジニアが実装力を爆上げする方法17選
結論として、ITエンジニアが実装力を爆上げする方法は以下の通り。
- 何を実装したいのかを明確にする
- 設計書や資料を読んで仕様を理解する
- 参考にできる機能はないか調査する
- 開発の多い現場に変える
- プログラミングを日常にする
- 作業環境を整える
- 深海の深さで集中する
- まず動くものを作る
- リファクタリングをする
- デバッグを使いこなす
- AIツールを利用する
- 読むべき箇所を切り分ける
- エラー文をよく読む
- なぜそう動くのかを論理的に考える
- 質問が必須どうかを判別する
- 睡眠をしっかりとる
- 複雑な事象や問題点は紙やメモに書く
順に解説していきますね。
何を実装したいのかを明確にする
まずはプログラミングをする前に「今から何を実装したいのか」を明確にしましょう。ゴールが決まっていないと、どこに向かって走ればいいのかわからなくなりますよね。
たとえば、ある機能の開発を任された時に、以下を書き出してみてください。
- それは何の機能?
- いつ誰がどの画面で使う?
- いつまでに実装する?
- どうやって実装する?
などなど。
今から何を実装したいのかゴールを決めていきましょう。
設計書や資料を読んで仕様を理解する
何を実装したいのかが決まったら、次に設計書や資料を確認しましょう。プログラマーは仕様ゲーといっても過言ではないです。コードが書けても仕様を理解していなければ正確な実装はできません。
現場には大体設計書か参考になる資料があるケースが多いです。中には現場で設計書がないというパターンもありますが、その場合は自分で設計してみるとよいでしょう。
たとえば僕は設計書がない現場に遭遇したことは何回かあり、その際は自分でエクセルに箇条書きで設計していました。設計といっても実装手順を順番に書き出すだけでOKです。
まず設計をすることでプログラミングがスムーズにいくようになります。
参考にできる機能はないか調査する
実装したい機能に類似している機能や参考になりそうな機能はないかを調査しましょう。プログラマーは基本的に0から実装する場面が少ないので、現場で既にあるシステムの似ている機能を参考にすることが多いです。
もちろん参考になる機能がないパターンもあります。そんな時はロジックを自分で考えるしかありません。まずは参考にできそうな機能があるかないかを切り分けることが大事です。
もし参考になる機能がなくても難しく考える必要はないです。まずは実装したいことを明確にした上で、箇条書きで実装手順を設計すれば、あとはその設計通りにプログラムを組めばOK。
その上で出てくる不明点はググったり今流行りのChat GPTに質問したり、あるいは現場のエンジニアに聞いてみたりして進めれば良いです。
開発の多い現場に変える
実装力を効率よく鍛えるなら、開発の多い現場に変えるのも得策です。そもそも今の現場では資料作成やテストが多く、プログラミングの機会が少なくて悩んでいる方もいると思います。
僕自身、正社員エンジニア時代は開発の機会が少なく、資料作成やテストなどが多かったです。もともとプログラミングのスキルを身に付けたくてエンジニアになったので、肝心の開発が少なくてとても悩んでいました。
これを解決するために、フリーランスの道を選びました。フリーランスであればスキルに合った案件を選べるので、開発が多い案件に入ればプログラミングの機会も増えるため、「実装力」が向上しやすいです。
もし今の現場では開発機会が少ないけど、プログラミングをなるべく多くしたい方は、フリーランスになるのも手段の一つです。
下記記事では、僕が実際に使って良かったフリーランスエージェントをまとめているので、ぜひ参考にしてみてください。
プログラミングを日常にする
実装力を高めるなら、プログラミングをプライベートでも日常的にやるのがおすすめです。プログラミングを日常にすれば実装力が爆上がりします。
できるプログラマーはみな日々プログラミングをしています。とはいえ「いやいや、プライベートをおろそかにしてプログラミングなんてしなくていいでしょ」という意見をお持ちの方もいるでしょう。その意見もわかります。
もちろんプライベートも大切ですし、それをおろそかにしろと言うわけではありません。仕事とプライベートは両立すべきなので。
ここで伝えたいのは、「1日30分とかでもいいのでプログラミングを日課にすれば、体が慣れてくるので実務で生産性が向上し、納期のプレッシャーを軽減できますよ」ということです。
筋トレに例えるなら、いきなり腕立て伏せを30回連続でやってくださいといわれても、日頃から筋トレしていなければ厳しいですよね。でも毎日腕立て伏せを20回連続×3セットを半年くらい続けていれば、体が慣れてきて連続で30回もできるようになると思います。プログラミングも同じです。
もしあなたがプライベートではプログラミングをしていないけれど、実務でいつも納期に追われて疲弊しているのであれば、今日から毎日30分でもいいのでプログラミングを日課にしてみてください。個人開発をしてみるのも良いですね。
作業環境を整える
意外と見落としがちなのが作業環境です。作業環境とはデスク周りや部屋の中、あるいはPCの設定やデスクトップなどを指しています。
作業環境が悪いと集中力が分散されたり、開発を効率よく進められないです。
- 部屋の中やデスク周りが散らかっている
- PCの設定が悪い
部屋の中やデスク周りが散らかっていると集中力が分散されてしまいます。
PCの設定とは、たとえばマウスやキーボードの入力速度が遅く、パフォーマンスを優先にする設定がされていないことです。これらの設定がされていないと、開発効率があがりません。
僕自身、マウスとキーボードの入力速度は最速にしています。最速にすると最初は速すぎて違和感MAXですが、慣れると今度は逆に遅いスピードに戻れなくなります。
まずは部屋やデスク回りは、集中力が分散しないように整理整頓すること。そしてPCの設定はパフォーマンスを優先するように変えてみてください。
深海の深さで集中する
プログラマーは頭のスポーツと言っても過言ではないくらい頭を使います。超集中するかどうかで開発スピードが天と地の差くらい変わります。
優秀なエンジニアは全員集中力が凄まじいです。気が付けば4〜5時間経っていたなんて日常茶飯事。深海の深さで集中すればアイデアがポンポンと浮かび上がり、プログラミングのスピードが向上します。
集中力を高めるには、以下を実践すればOKです。
- 良質な睡眠を取る
- 昼食は炭水化物や糖質を抑える
- 適度な運動
- 作業環境を整える
などなど。まずは「集中しなければならない」と常に意識するだけでも効果はあります。
ちなみに下記記事では、優秀なエンジニアの特徴についてまとめているので、ぜひ読んでみてください。
まず動くものを作る
仕様書を読んでも説明してもらってもあまり実装のイメージがわかないときありますよね?そんな時に意識したいのが「まず動くものを作る」ということ。
頭の中であれこれ考えるのも大事ですが、考えすぎて思考がぐるぐるするだけで、一向に手が進まない状況になってしまいがちです。
実際に手を動かしつつ考える方が、手を動かしている最中にアイデアやロジックを思いつくこともあるんです。
考えてるだけで何も実装できていなければ、それは成果0です。極端な話、多少コードが汚くても、動くものを作れていた方が100倍マシです。
最初から綺麗にコードを書こうとする意識も大事ですが、あまり思い悩むようであれば、まず動くものを作ってからリファクタリングするのも良いですよ。
リファクタリングをする
コードは常にリファクタリングしつつ実装するのがよいです。
リファクタリングとは、コードを読みやすくしたり無駄なコードを減らしたり、保守性を高めたりするのが目的です。
リファクタリングには以下のポイントがあります。
- インデントを揃える
- わかりやすい変数名やメソッド名にする
- 共通処理にできそうなところは共通化する
- パフォーマンスを意識する
リファクタリングをすれば、保守性や可読性が向上し、あとで自分が見返す時にも見返しやすくなります。
デバッグを使いこなす
プログラマーは日々エラーとの戦いです。エラーを解消する仕事と言っても過言ではないです。エラーには様々な種類があり、なかには検索してもエラーの原因がわからないこともあります。
そんな時に役立つのがデバッグです。デバッグは各開発ツールにあるのが一般的で、たとえばIntelliJやeclipse、VS CodeやVisualStudioなどにもあります。
デバッグをすれば、どこまで処理が通っていて、どこでエラーになっているのかが分かります。変数に値が入っているのか、入っていないのかが判別できるので、バグを特定しやすいです。
慣れているプログラマーはみなデバッグを駆使しています。ですが新人プログラマーだと、デバッグのやり方を知らない方もいると思いますので、ぜひデバッグを習得してみてください。
AIツールを利用する
2022年後半以降、ChatGPTなどのAIツールが流行り出し、世間を騒がせています。このAIツールはプログラミング時に大いに役立ちます。
中でもChatGPTは、プログラミングのロジックが思いつかない時やエラーを解決できない時に使えます。質問をすれば的確な回答あるいはヒントをくれます。
たとえば僕は、JavaScriptの〇〇関数とは?とか、〇〇エラーの原因と解決策は?などとよく質問します。AIなので人間よりも精度が高く、的確で要点がまとまっていてわかりやすい回答をもらえることが多いです。使い始めてから開発効率がグンとあがりました。
検索ででてくる記事は、結論がどこに書いているかわかりにくかったり、的を得ていなかったりすることがよくありますよね。
そもそもプログラミング関連の情報って日本語の記事が少ないですし。公式リファレンスを読むのも良いですが、正直読んでもよくわからなくて欲しい回答を得られないことありますよね。
ChatGPTは無料で使えるので、開発効率を上げたい方はぜひ試してみてください。
読むべき箇所を切り分ける
プログラミングの際は読むべき箇所と読まなくて良い箇所を切り分けると良いです。
プログラマーは既存機能のコードを解読したり、あるいはコードレビューの際に他人が書いたコードを読んだりすることが多いです。
そのため、コードを上から下までフルで読むと、数千行あったとすると日が暮れてしまいます。そのコードを読まないと先に進めなかったり、理解できなかったりする場合は読むようにしましょう。
以下では他人が書いたソースコードを読むコツを解説しているので、ぜひ参考にしてみてください。
エラー文をよく読む
エラー文をよく読むのも重要です。当たり前すぎる話ですが、当たり前すぎて忘れがち。特に英語が苦手なプログラマーは無意識に英語を避ける傾向があると思います。
英語がわからなくてもまずはエラーメッセージを一言一句読んでみる。そして意味が理解できない時に翻訳したりChatGPTに聞いたりすればOK。そしたら次第に同じようなエラーが出てきた時に、「あ、このエラーは前も出たな」と記憶が定着してきます。
かくいう僕は英語が得意ではなく、新人プログラマー時代はエラーをよく読まずにいきなりググっていた時期がありました。でもエラーをよく読むようにしてからは、エラーの原因や対策がスムーズにいくようになったんです。
文字を読むのが苦手な方にとっては苦痛かもしれません。でもエラーはヒントや答えを教えてくれていることがある貴重なメッセージなので、エラーがでたらまず一言一句読むように心がけてみると良いですよ。
以下記事ではエラーの解決方法を解説しているので、ぜひ読んでみてください。
なぜそう動くのかを論理的に考える
コードはただ読むのではなく、「なぜそう動くのか」を論理的に考えると理解しやすいです。
一つ一つの文法の意味、何のための変数なのかを理解することも重要ですが、それは細かいミクロの話。
たとえば「木を見て森を見ず」ということわざがあるように、目の前の細かいコードばかり見ていても、全体の動きがイメージできません。まず全体のマクロを見た上で徐々に視野を狭めていくのが大切です。
「この画面のこのボタンを押せば、このクラスが呼ばれて、次にこのメソッドが呼ばれる。そしてこのメソッドから、さらにこのif文にはいって…」などと、徐々に大きな点から小さな点に絞っていき、全体の動きをイメージしてみましょう。
コードを読む際は、なぜそう動くのか?と、まずは自分に問いかけてみてから読み進めていくと良いですね。
以下でプログラミングのロジックの鍛え方を解説しているので、ぜひ参考にしてみてください。
質問が必須かを判別する
いま自分が悩んでいることは質問しないとわからないところなのか、それとも多少時間はかかるけれど自力で調べればわかるかもしれないのかを早めに判別しましょう。
なぜなら質問しないとわからないところを自力で解決しようと考えたところで、答えは得られない可能性が高く、時間だけがすぎていくから。
たとえば現場で初めて使うツールのログインパスワードなどは、聞いた方が早いですよね。もし「この資料にのってあるから」って言われたらその資料を読めばOK。
物事を自分で考えることも大切ですが、考えたところで別に自分の経験値にならないようなことは考えなくていいです。本当に集中すべきことにエネルギーを集中させましょう。
睡眠をしっかりとる
これも当たり前の話ですができていない人が多いです。プログラミングは僕の中では頭のスポーツだと思っており、もちろんスポーツをするなら常に心体ともに高いパフォーマンスを発揮できる状態にしておく必要があります。
質の高い睡眠を取れば、日中の眠気が軽減されたり思考が巡らせやすくなったり、集中力を維持しやすかったりします。
たとえば睡眠の質を上げるなら、湯船には毎日浸かるとか、睡眠時間は7時間はとるとか。あとカフェインは午後以降は摂取しないとか、寝る2時間前はスマホやPCを見ないなど。
とりあえずこの辺を意識すれば睡眠の質は高められます。
下記記事では、プログラミングで眠くなる時の対策を解説しているので、ぜひ参考にしてみてください。
複雑な事象や問題点は紙やメモに書く
複雑な事象や問題点はアウトプットすると良いですよ。原始的な方法ですが紙やメモアプリに書き出しながら考えることで、問題解決がスムーズにいく場合が多いです。悩む事象が複雑であればあるほど、頭の中だけで考えるのは非効率です。
僕自身、気がつけば頭の中だけでぐるぐると考えていることがあり、その度に「あれ結局何がしたかったんだっけ?」と最初の問題点を忘れてしまうことがよくありました。
でもメモに書き出すようにしてからは思考が整理されて、考えるべきポイントに絞れるようになったんですよね。その結果、開発効率がスムーズにいくことが多くなりました。
複雑な事象ほど頭の外に書き出してみると、意外と簡単に解決できたりしますよ。
まとめ
以上が実装力が向上するプログラミングのコツについてのまとめです。
少しボリュームは多いですが、ここで挙げたコツは僕がいままで実務でプログラミングをしてきた中で役に立った情報に絞っています。
どれもすぐにできることなので、まずは1つでもいいので明日から意識して実践してみてくださいね!