SIer

SIerで必要な技術力レベルについて【Lv3:チューニング】

歯車

 

どうも、陽翔(@engineer_yosho)です。

 

未経験でエンジニアを目指すあなたへ。 どれくらいの技術力的があれば現場で通じるか、気になっていませんか?

 

答えを言います。

 

SIの現場のエンジニアになるのであれば、高い技術力は必要ないです。ただし、並レベルのコミュニケーション能力は必要です。

 

つまり、並レベルの技術力と並レベルのコミュニケーション力があれば通用します。

 

 

陽翔
本記事のシリーズでは必要な技術力レベルを4つのレベルで解説いたします。

 

  • SIerでは具体的にどのくらいの技術力が必要か?
    • 【Lv1】最低限必要なレベル
    • 【Lv2】次の段階はスピードアップと品質向上
    • 【Lv3】パフォーマンスチューニング
    • 【Lv4】トラブルシュート

 

SIerで必要な技術力レベルについて【エンジニアを目指す人向け】シリーズTOPへ

 

 

本記事では【Lv3】パフォーマンスチューニングについて説明します。

 

是非、最後までお付き合いください。

さあ、どうぞ。

 

 

SIエンジニアは具体的にどのくらいの技術力が必要か?

黒板に数式

 

 

前提のまでのおさらいです。

  • SIプロジェクト
  • 業務アプリケーション開発
  • Webアプリケーション
  • サーバーサイドはJava+RDB

 

【Lv2】までSI現場のエンジニアとしては一応、一人前として通じると思います。

 

【Lv3】パフォーマンスチューニング

さて、次のステップは求める技術レベルが上がります。ですがこのレベルになるとできるエンジニアの仲間入りです。

 

パフォーマンスチューニングというとちょっと難しく聞こえるかもしれません。

 

実際に難しいのですが具体的にイメージをつかんでもらいたいので、専門用語を並べてしまいます。

 

SQLチューニング

業務要件は満たしているけど処理性能が出ない場合、90%くらいの確率でSQLのSELECT文が犯人です。チューニングが必要ですが、SQLのより深い知識が必要となります。

 

SIエンジニアの中で高めの技術力が高めというポジションになりたければ、SQLチューニングのスキルを身に付けるのがコスパが非常に良いです。一応、理由書いておきます。

  • Javaは特だけどSQLが苦手というエンジニアは多い
  • SQLチューニングは深い世界だが、基本技で解決できるケースが多い

 

要するにチューニングの基本さえ抑えておけば、多くのケースに対応できる上、人材としてちょっと希少になれるからですね。

 

陽翔

はい、コスパが良いと思います。

 

本記事は技術記事ではないので詳細は省きますが、知っておくと良い観点はこのあたりですね。(SQLは得意分野なので、需要があればいつか細かく解説するかもです)

  • 無駄に発行しているSQLを廃止
  • インデックスを貼る
  • 効率のよいSQLに書き換える

 

 

プログラムのチューニング【Javaなど】

SQLではなくてJavaなどのプログラムのロジックが犯人の場合もあります。パターンは色々ありますが、参考までによくありそうな2パターンを紹介しておきます。

 

①SQLチューニングとの併せ技

  • ループ内のSQLを怪しむ
    • それがSELECT文だったらそのままループの外に出せる可能性大
    • それがDML(INSERT、UPDATE、DELETE)だったら、ループの外に出してSQLを書き換える(例)1行1行UPDATEではなくて複数行一括でUPDATEなど(ぐるぐる系⇒ガツン系へ書き換え)
  • 動的にSQL文を作り上げるロジックは要注意
    • 一覧検索画面によくあるパターンで、指定した条件のみをWHERE句として動的にSQLを組むケース
    • 【条件が多かったり、複数選択でIN句を作り上げるケースなど】出来上がりのSQLが劇遅ケースがある。全パターンチェックする。

 

②無駄なオブジェクト、非効率なオブジェクト

  • DBから取得した値を格納するJavaオブジェクト(一般的にDTOと呼称)が無駄なケース。数カラムだけが必要なケースに、全カラムを取得している。カラム数が多いテーブルの一覧表示画面などで起こりえる。 ⇒ 必要なカラムのみを取得するSQLとDTOを作る事で改善。
  • Mapを使うべきところ配列やArrayListを使っている。 ⇒ 値の出し入れを良くするような場合、配列やArrayListで無駄なループをしているケース。Mapであれば出し入れは一瞬だし、ソースもきれいになる。

 

やっぱりちょっと込み入った内容になってしまいました。

 

現段階でこの記事の内容が理解できなくても問題ありません。

 

パフォーマンスチューニングは奥が深くて、このレベルが出来るようになると出来るエンジニアの仲間入りとだけ覚えていてください。

 

最後までお付き合い頂きありがとうございました。

 

SIerで必要な技術力レベルについて【エンジニアを目指す人向け】シリーズTOP

 

SIerで必要な技術力レベルについて【Lv4:トラブルシュート】

PC
SIerで必要な技術力レベルについて【Lv4:トラブルシュート】

  どうも、陽翔(@engineer_yosho)です。   未経験でエンジニアを目指すあなたへ。 ...

続きを見る

 

  • この記事を書いた人

陽翔

大学中退の未経験からエンジニアになり人生逆転しました。現在は年収1000万円以上を稼ぐ外資系エンジニア。会社員のメリットを最大限に活用しながらも、会社への依存度にゼロに近づけつつ、フリーランス並みの収入を得て自由に生きています。大学中退から人生逆転する方法、未経験からエンジニアになる方法、エンジニアとして収入を増やす方法を発信中。詳細は運営者プロフィールをご覧ください。もし、宜しければTwitterのフォローよろしくお願いいたします。キャリアに関する相談を受け付けております。ツイッターのDMもしくは本ブログの問い合わせフォームからお気軽にお問い合わせ下さい。

おすすめ記事

就職 1

  「大学中退後どうやって仕事を探せばいいのか分からない…」って思っていませんか?     ...

エンジニア 2

  大学中退後の生きる道としてエンジニアになりたい、と考えるあなたへ   「大学中退者はどうすればエ ...

3

  転職して年収アップしたいです。 ググってみても参考になる情報は余り出て来ないし、どうすれば年収アップできる ...

大学 4

  大学中退者が人生逆転する為に必要な情報をまとめました。   本記事の想定読者 大学に通う意味を見 ...

5

  フリーランスエンジニアを目指す方向けに、発注者目線でフリーランスエンジニアについてまとめた記事です。ググっ ...

-SIer

Copyright© 陽翔キャリア , 2020 All Rights Reserved.