こんにちはwebエンジニアのtakaです。
企業でエンジニア採用をした経験やMENTAで色々な人にプログラミングを教えているので、この人センスがあるとかないとか大体わかるようになってきました。
今回は具体的に言語化していこうと思います。
記事のタイトルは「ダメなフロントエンドエンジニアの特徴」ですが、逆にこの特徴に当てはまなければ良いフロントエンドエンジニアになる可能性が高いというわけで自信を持ってください。
エンジニアの三大美徳
まずエンジニアには三大美徳を紹介します。
- 怠慢(Laziness)
- 短気(Impatience)
- <傲慢(Hubris)/li>
人間とは怠惰な生き物です、特に有能なエンジニアほど怠惰です。
怠慢(怠惰)であるために努力を惜しまない(効率化)できる人物であることが重要です。
参考: https://moneyforward.com/engineers_blog/2016/02/08/engineers-virtue/
VScodeなどのエディターで、cssの予測変換機能のプラグインとか探せばいくらでも出てきます。
しかし、文字の入力速度が遅いにも関わらずそのような便利な予測変換機能を使わないのは良くないですね。
文字の選択をダブルクリックでできるのにわざわざカーソルを使って選択する。
一行削除する際、macではcommando + xで切り取りができるがわざわざbaskspaceで文字を消していく。
width: 1080px; から width: 1280px;に変更する際、「1080」という四文字全てを消して「1280」を入力する。
コピー&ペーストをショートカットキーを利用せず、右クリックから行う。
cssにて@media screen・・・を記載する場合、他からコピペすればいいところ、わざわざ0から文字を入力していく
細かいところですが、やはりセンスの良い人は当たり前のようにこういうところができています。
パソコンを触ることが苦手で・・・という言い訳はダメです。
センスの良い人は「きっとこれはもっと簡単なやり方があるのでは」と予測を立ててネットで調べていたり、他人が作業している時に「そんなショートカットキーがあるのか」と学び一つずつ自分の血肉にしていっているのです。
これはコードにも現れます。
「同じような処理が書かれているから関数にまとめれそう」だとか、「ここループでいけるんじゃないか?」とか、「headerを使い回しできたら便利なのに」という発想を生み、きれいなコードを生みます。
デザイン通りにコーデイングする
コーディング。もっとも重要なことはデザイン通りにすること。
ということで練習課題を提出してもらうと明らかにデザインと異なる箇所が複数見受けられます。
①見た目の違いに気づいていないのであれば、注意力が足りないということで厳しい。
②気づいているが押し通したのであれば、忍耐力や責任感という意味で厳しい。
どちらにしても、ダメです。
検索力
基本的にほぼ全てネットに情報が出ています。
自分ができないのはただ知らないからです。
プログラミングは日々進化していき、常に勉強していくことが必要です。
知らないことなど5年経った今でも無限に出てきます。
その度に調べるのです。
応用の力
検索してもピンポイントの情報が出てこない場合は多々あります。
そんな場合でも、この記事のこの仕組みとこの記事のやり方を組み合わせればいけるはずと、応用していくのです。
この応用する力も重要です。
センスがない人は、視野が狭く正解の記事を正解と認識せず見逃してしまいます。
国語力を養いどういうことがこの記事でできるかを読み取り応用していきましょう。
エラーを読む
うまくいきません!という質問が来ます。
とりあえずエラーメッセージは何かを聞きます。
エラーメッセージは「〇〇ファイルが存在しない」と言っています。
〇〇ファイルが存在しているか見てみると、ファイル名のスペルミスだったということがよくあります。
こんな感じでとりあえずエラーを読みましょう。
大学入試程度の英語力あれば読めるでしょうし、わからなければネットで翻訳すれば良いのです。
鵜呑みする力
ネットからコピペしたコードがなんかうまく動いている。
それで良いのです。
始めは全て理解できていなくても半年後もう一度見てみると「なるほどそういうことか」ということがあります。
全部理解しないと進んではいけないというわけではありません。
とりあえずやってみましょう。
バグを恐れすぎない
あのポケモンのゲームやみずほ銀行でもバグが起きています。
いわんや凡人エンジニアがバグが完璧にないコードを書けるわけがないのです。
もちろんバグが起きないように最善を尽くすことは非常に重要です。
バグを恐れるあまり、その場に留まり、思考のループに嵌まり、大事な一歩を踏み出すことに躊躇することはよくないといっているのです。
医者は100%ミスを犯してはいけません。ミスによって人が死ぬかもしれませんからね。
しかし、webエンジニアがコードをミスっても人は死にません。
ページを見た人が疑問に思ったり、SEOの減点、お金の損害程度です。
バグが出ない最善を尽くしつつも、100%バグがないシステムなんかないという心持ちを持つことが重要です。
苦しむ
エンジニア人生を振りかってみて、成長したと実感するのは自分が苦しんだ時です。
このコードで合っているはずなのになぜかうまくいっていない。
あれやこれやと格闘してやっとバグの箇所を発見したとき。
納期がギリギリで死ぬ気で仕上げたとき。
すぐに諦めてしまうのはエンジニアに向いていません。
なにこれ。意味わかんないんだけど。問題!壁!どんとこい。ちょー気持ち!
そんな気概が必要です。
まとめ
このような人は頑張っているものの、うまくいかず結局見捨てられてしまいます。
今回の記事ではどうしたら改善できるかという具体的な手段を書いていないので、じゃあどうしたらいいんだよと思う人がいるかもしれません。
きつい言い方の箇所もありましたが、覚悟を決めてもっと成長したいという方がいましたら、私はMENTAというサイトで講師やっていますので相談乗ります。
30分無料相談とかやってますのでとりあえず連絡ください。
なんか手伝いができるかもしれません。
この記事を読んでエンジニアに向いていないなと思ったとしても全然OKです。
あなたが輝ける場所はエンジニアではなかったというだけです。
もっと向いている場所を探し続けてください!
頑張ってください!