スポンサーリンク

実務レベルのWebプログラミング能力とは? プログラミング能力を上げるには

プログラマ―に必要なプログラミングスキル

実務レベルのWebプログラミング能力とは? プログラミング能力を上げるにはプログラミングスクールに通えば、プログラミング能力は確かにあがりますが、

本当に必要な能力とはそもそもなんでしょうか? 実務経験を積んで分かったことをまとめます。

 

スポンサーリンク

実務レベルのWebプログラミング能力とは?

Web自体の仕組みの知識

HTTP(TCP/IP、ブラウザ)の仕組みを知ることが大事です。

URLを入力してから表示されるまでの仕組みは最低限押さえておきましょう。

 

設計能力

より保守性(メンテナンスのしやすさ)を上げるコードを書く必要があります。

基本的に会社では複数で開発を行うので独りよがりなソースコードは必要とされないからです。

 

アルゴリズムの能力

複雑な条件分岐などを実装する能力を付けましょう。最低でもFizzBuzzは簡単に解けるようになりましょう。

またタイピング能力も上げましょう。最低限、これは身に着けてほしいです。

タイピングが遅い人は、まずプログラミングというか仕事に付いていけないです。

できればタッチタイピング(ブラインドタッチ)が理想ですが、スピードが出れば問題ないです。

最低でもWPM280くらいは欲しいですね。

(ちなみに私は310くらいです。測定したサイトは↓)

影響調査能力

「~に機能を追加して」と言われた場合に、

  • 要件を実現するために必要な変更箇所はどれくらいあるのか
  • 影響範囲はどこまでか?
  • どのようなテストが必要か
  • 実際の作業の見積もり時間はどれくらいか?

を調べる能力(影響調査能力)は実務では非常に大事です。

 

そもそもの解決策をさぐる能力

本当にその機能は必要なのか? 他のやり方で解決できないか?

という疑問を持って、より簡潔でシンプルな対応策を提案できるようにするのも大事です。

はじめのうちはいわれたことを安直にやってしまいがちです。

そもそも相手が要求する機能は

 

プログラミング能力を上げるには?

設計能力

設計を学ぶにはオブジェクト指向、デザインパターンを学ぶのが良いです。

知識が付いた後でgithubなどでフリーのソースを読むのが良いです。

 

アルゴリズム能力を上げるには?

これらのプログラミングサイトで3か月程度学べば実力が付きます。

具体的に言うと、アルゴリズムを考える力です。代表的なものだとFizzBuzz問題が挙げられます。

もっと難しいものですが、「言語処理100本ノック」、「協議プログラミング」などですね。

こういった込み入ったアルゴリズムをいかに早く組み立てられるかが重要になってきます。

一度、身に着けてしまえばあとは一生使えますので、一度でいいのでチャレンジしてみましょう。

またプログラミングサイトを使うのも良いです。

  • Codewars
  • AtCoder
  • Paiza

などで学ぶのが良いです。

また基本的な処理は暗記しておきましょう。

どんなプログラミング言語でも、共通している処理があります。

以下のような処理の書き方は暗記するくらい使いこなしておきましょう。

  • ファイルの読み書き
  • DBの読み書き
  • 配列の操作(重複削除、並び替え、配列のマージ、キーor値の存在チェック)
  • 正規表現
  • 文字列の検索、置換
  • POST、GETの値の取得

よく使う関数、文法をいちいち調べていれば、当然ですが時間が掛かります。

暗記しておくくらいに使いこなせば当然、早くなります。

 

影響調査能力を上げるには?

自分が担当している全体の仕組みを知ることが大事です。

また影響調査する上で、ソースコード上の文字列の検索やサーバー上でのファイル検索は大事です。

Linuxのコマンド(grep, findなど)やエディタの正規表現による検索は素早く使えるようにしておきましょう。

 

そもそもの解決策を探る能力

こればかりは経験を積まないと身に付きません。ですが、一から全て手を動かす必要はありません。ソースコードを読むだけでも十分に勉強になります。

 

 

タイトルとURLをコピーしました