更新日:2021/2/2
プログラミングの実力をつけていく上で、必須スキルって何ですか??
具体的に知りたいです。
こんにちは。
今回は上記の質問に答える記事になります。
この記事を書いている僕は、
✅現在エンジニアで、約5年以上(現在4社目で勤めています)
✅実務でのプログラミング歴は約3年以上
✅プログラミング以外でも、インフラ、上流工程など経験
✅プログラミングスクールに通った経験あり
上記のような経験があります。
そして当ブログでは、プログラミングスクールの体験談や、プログラミングに関する記事を60個ほど書いています。
【関連記事】
✔︎【実体験】テックキャンプ エンジニア転職に行ってみた感想 - Sun~sun~Flower's
✔︎【初心者向け】【Rails】インスタンス変数とルーティングを使いこなす - Sun~sun~Flower's
一応僕はITのプロですので、そういった疑問について、自分の経験も交えてお答えできるかと思います。
プログラミングを始めたばかりのあなたでしたら、上記の疑問が湧くのも不思議ではないですよね。では、
プログラミングをして行く上で必要な力は何なのか?
これから紹介していきます。
実務で絶対に役立つスキルですので、是非お付き合いください。
【目次】
必須スキルとは?
それは、
・調査スキル
・質問スキル
・読解スキル
です。
何となく分かりますが、もっと具体的に教えてほしいです。
もちろん上記3つを上から順に深掘っていきますので、安心してください。
ITエンジニアに必要な力①:調査スキル
まずプログラミングをして行く上で、(他分野でもそうですが)分からない所がもちろん出てきます。
プログラミング初心者の方でしたら、もしかしたら分からないところが分からない。何から手をつけたら良いか?分からないって時が多々あるのではと思います。
でも、全然恥ずかしいことなんてありません。
僕もエンジニアになって5年ほど経ちますが、稀に分からないことが分からない!ってことありますので。(笑)
今回は、自分がやる事が分かっている、つまり、やることが分かっているがどうすれば良いか分からないにフォーカスして記事を書いています。
例えば、あなたが映画の座席予約システムを作っているとしましょう。
こういった予約システムでしたら、必ず「座席情報をデータベースに登録する」ためのコーディングが必要になってきますよね。
その時に更に、あなたがデータベースへの登録の仕方が分からないとします。
その時に活躍するのが、「検索」です。
上記の例ですと、検索時に入力するキーワードが
『使用している言語 データベース 登録方法』
※キーワードとキーワードの間に「スペース」を入れることを忘れないでください。
↑最初は、検索上位1〜10位を片っ端から訪問しても良いと思います。↑
また、こんな感じで検索の仕方について参考サイトもあります。
あとはこんな感じで、検索結果がずらっと表示されますので、タイトルを読んで、あなたが良いと思うサイトにアクセスし、欲しい情報・ソースコードを手に入れましょう。
ただ、そのまま貼り付けるだけではダメです。
あなたが今、開発しているコーディングのルールに合わせて、適宜コードの変更が必要になります。
あくまで、あなたが調査して手にいれた情報(ソースコード)は、「骨組み部分」であること、忘れないでください。
そして最終的に、あなたが作っているシステムに合わせて、変数などを変更。
その結果、あなたの想定通りに画面が動作することを確認して初めて、「解決済み」となります。
こんな感じで調べるクセをつけていき、あなたの中でモノにしてしまいましょう。
最近なんて検索すれば、大抵の情報は載っていますからね。
凄い時代です。
なので、この「調べる力」さえつけば、自力での解決が可能になってきますよ
あとちなみにですが、英語力もあれば、より良いかも知れません。
というのも、より高度な技術が要求されるプログラミングの場合だと、たまに英語しか載っていないサイトが表示されたりする為です。
なので英語力があれば、こういった時に役に立ちますよ。
そして、「検索し、自分で欲しい情報が手に入れる」ことが出来た地点で、ITエンジニアとしての調査力は、プロレベルと言っても過言ではありません。
しかし、ここでひっくり返すようで申し訳ないですが、例外もあります。
どれだけ調査しても「解決しない」時です。
僕もよく経験しますし、どんな一流のITエンジニアでもよくある経験ではないでしょうか。
この時、更に必要になってくるのが次のスキルです。
ITエンジニアに必要な力②:質問スキル
ここは残念ですが、他力本願になってしまいます。
でも、仕事では「納期」第一優先ですので、
何とか一人で解決したい!!
と言っても、時間だけが過ぎてしまうのは間違いないです。
なので基本的には、解決方法が浮かばずに10分以上が経過したら、聞くことにしましょう。
では、あなたに質問です。
いろいろ調べてみたがアテがなく詰んでしまった時、先輩・上司にどう聞きにいきますか?
ここが分からないです。
と単刀直入に先輩・上司に聞きますか?
もし、あなたと同じ案件に関わり、常日頃一緒に仕事をしている先輩なら、上記の言葉だけで物事が運ぶはずです。
しかし、そうはいかない時が多いですよね。
大半の先輩・上司は、複数の案件を抱えています。
本当の事を言うと、あなたが今やっている仕事すら分かりません。
なので、聞く時は、
・自分が今、何をやっているのか
これをまず、第一に伝えることを忘れないでください。
具体例を言いますと、
私は〜〜の案件で、△△画面の作成をしています。
って感じです。
ここだけで、複数の案件を抱える上司・先輩もピンと来るはずです。
そして、この後の質問もスムーズに進むはずなので、上記を伝えることは超重要です。
ここから
・何がやりたいのか??(ボタン押下時に、データが登録されるようにしたいなど。)
・どこが分からないのか??(データの登録方法が分からないなど。)
という流れで聞くと良いと思います。
ここで注意していただきたいのが、最後の「どこが分からないのか」の箇所です。
上司が、あなたの求める答えが返ってくるように、こちらもはっきり「何が分からないか」を伝えるべきです。
例えば、
ボタンから、メソッドを呼び出すようにしているが呼び出されません。
自分のプログラミングのやり方が間違っていないか、見て頂きたいです。
→自分が間違っていないかの回答を求めている
このボタンを押下すると、△△のデータが〇〇のテーブルに登録されます。
仕様書には書かれていませんでしたが、こちらの認識で合っていますか?
→認識の正誤確認をしている
こんな感じです。
どうしても一人では解決ができない時、この「質問力」も必要になってきますので、是非、僕が紹介したやり方でやってみてはいかがでしょうか。
僕はつい最近ですが、上記の方法を試してみたところ、聞き返されることもなく、スムーズにコミュニケーションがとれるようになりました。
ITエンジニアに必要な力③:読解スキル
「コードが何を意味しているのか?」読み取るスキルです。
実務となると、元々あるコードを修正していくという作業が多いです。
でもこれは、いきなり身に付くスキルではありません。
ですので、あなたが日々コードを書きながら「このコードは何をしているのか?」その答えを言葉にする訓練を繰り返すのみですね。
僕も日々、実務でコードの修正が多いです。
そして、コードの意味がどうしても分からなければ調査する(調査スキル)、それでも分からなければ詳しい人に質問する(質問スキル)というサイクルで取り組んでいます。
と言いますか、ITエンジニアは皆こんな感じで仕事を進めているという感じです。
まとめ
記事は以上になります。
まとめとして、
疑問:ITエンジニアとして、必要なスキルとは?
回答1.あなたが、疑問を解決するために、必要な情報を手に入れるための「調査スキル」
回答2.先輩・上司から、あなたの望む回答を聞き取るための「質問スキル」
回答3.コードを修正する前に、必ず行う「読解スキル」
上記がお分かり頂けたかと思います。
そして、この3つのスキルを身につけたとなれば、あなたも初心者レベル脱出、そしてプロになったのも同然ですよ。
さらに、ITエンジニアとしての仕事がより楽しくなることも間違いなしです。
なので頑張ってください、応援しています。
僕も日々頑張っています。
ありがとうございました。