【初心者エンジニア向け】今より3倍速く開発する方法

スキルアップ プログラミング

【初心者エンジニア向け】今より3倍速く開発する方法

「ほかの人よりも開発スピードが遅い気がする」「いちいち手が止まってしまう」
独学中、勉強中のエンジニアはこんな悩みはないですか?
現役エンジニアが新人に聞かれたときにお伝えしている内容をまとめてみました。
取り入れていない方法があれば参考にしていただければ、開発スピードの向上につながるはずです。

考え方

考え方としては以下の通りです。

  • 基本スキルの反復練習
  • 適切なツールを探す
  • 要件を簡単にする

自分自身が開発するときに、迷わず作れるようにとにかく反復練習をして、無意識レベルでできるようにしておく。
新しいツール、新技術を調べて、誰かが作ったものを有効活用して、楽に速く作ることを考える。
ユーザ要望をかみ砕いて、そもそもほしいものは何か考えることでお互いにとってメリットのある開発を目指す。

知識と考え方で開発スピードの向上が可能です。
以降では、それぞれ細かく解説していきます。

基本スキルの反復練習

ループ文の書き方、リストの扱い方などの基本のところで一瞬書き方に悩んだりしていませんか?
この一瞬が積み重なって時間を取ってしまいますし、場合によっては書き方を調べたりしますよね。
ここをゼロタイムでプログラミングできるとそれだけでかなり速く開発できます。
九九も最初は頑張って丸暗記しましたよね。それと同じテンションで臨みましょう。

この辺りを意識して学習すると良いです。

  • 基本構文の習得 : 選択したプログラミング言語の基本構文(変数、条件分岐、ループ、関数など
  • データ構造の理解 : 配列、リスト、タプル、辞書、セット、ツリー、グラフなどの基本的なデータ構造
  • キーボードショートカット : 各種ショートカットの暗記(チートシートなどで検索するとよいですね)

さっと基本スキルを学習するのであれば、オンライン学習サイトが良いと思います。
自分が実際に使って、おススメのものをピックアップしました。

  • Progate : ポップなデザインで取っつきやすい。メジャーな言語は網羅。難易度は優しめ。ブラウザ完結。
  • PyQ : Python一択でかなり深く学習できる。ちょっと値段は高め。ブラウザ完結。
  • ドットインストール : 扱っている範囲が広く、開発周辺のツールの使い方も学べる。開発環境は自分で構築。

適切なツールを探す

開発周辺のツールやプラグインを積極的に活用しましょう。
これだけでかなりの時間短縮につながります。

先輩エンジニアがいれば、おススメと使い方をどんどん聞いてみましょう。
基本的に質問をする積極性のある新人は評価されます。
チームで使っているツール、会社によっては非推奨のツールもあるので教えてもらいましょう。

このツールどうやって使うんだ?と思ったときは、ドットインストールをチェック。
動画形式でわかりやすく、使い方を解説してくれます!

以下は一般的に使われているツールのざっくりとした分類です。
この辺を上司や先輩に確認することをおススメします。

  • 統合開発環境(IDE) : Visual Studio Codeが一般的。有料ですがJetBrainsのIDEはかなり強力。
  • ドキュメント作成ツール : ソースコードから自動生成できるものを活用。ChatGPTも優秀。
  • デザインツール : SketchFigmaをよく利用しますね。イメージは早めに共有すると後が楽。

JetBrainsの200円~1000円引きの紹介プログラムがあったので、興味ある方はこちらから。

要件を簡単にする(エンジニア目線で)

要件を出してくる人は、システム的に簡単かそうでないかの区別がつかないことがあります。
そのため、不必要に複雑な要件になっていることがあるため、本当にやりたいことを確認しましょう。
やりたい内容を実現する手段はたくさんあり、簡単かつ効果的なものを選ぶのがお互いのためになります。

これは自分でアプリケーションを作るときも同じです。
技術的に無理のある方式ではなく、既存の実績のある技術の組み合わせの方がよいです。
安定しているし、他の技術者も理解しやすい作りになります。
(枯れた技術の水平思考、と表現で良く説明されています。)

  • まずは要件の意図を理解する (ちゃんと理解すれば、色々こちらから提案できる)
  • 過去に開発した実績のある内容で置き換えできるか確認する(実績のあるものは速く開発可能)
  • より開発しやすい方法を提案する(同じ機能であれば、簡単な実装で保守性もUP)

とにかく、ユーザがやりたいことを正確に理解することが大事です。
理解できれば、実現する方法を色々提案できますし、困ったときの判断にも役立ちます。

-スキルアップ, プログラミング
-, , , ,