高スキルなコーダーとは
まずはじめに、私が考える「高スキルなコーダー」の条件を書いてみたいと思います。
- デザインカンプを忠実に再現できる
- 周囲と円滑にコミュニケーションがとれる
- 保守性が担保された高品質なソースコードを書ける
- 知識に貪欲
高スキルなコーダーと聞いたとき、
「技術力が高いコーダー」を思い浮かべる方が多いかもしれません。
ですが、これまで私がコーダーとして働いてきた中で、
コーダーは必ずしも技術力だけが求められる仕事ではないと感じています。
コーダーに求められるものは、技術力はさることながら、
人間性や緻密性、思考力、等々
複合的なスキルを持ちあわせていることが重要な点だと思っています。
そのため技術力だけを追い求めているコーダーは、何となく独りよがりなコードを書く傾向にあったり、チームでの人間関係で上手くいっていないことが多い傾向にあると感じています。
そのようにならないためにも、次章では評価される「高スキルなコーダー」が持っている性質や特性について考え、紹介していきたいと思います。
どういう人が伸びる?高スキルなコーダーが備えている特徴
質問が明瞭かつ丁寧
コーダーの仕事をしていると日々分からないことが出てきたり、問題にぶつかったりします。
特に新人時代なんかはそうですよね。
その時にする質問の「質」というものは非常に大事で、タイトルにもある通り、質問は明瞭かつ丁寧であるべきだと考えています。
まず質問が「明瞭」であることは、自分自身が何がわからないのかということを、しっかり分かっている証拠だと思います。
何が分からないのかを自分なりに考え、それを言葉にして説明することって意外と難しいものです。
あまりよく考えず、早く答えが欲しいからと投げやりに質問をしたりすることは、あまり気持ちが良いものではありませんよね。
「丁寧」に質問をするということは、相手への配慮があってこそだと思います。
私の経験談ですが、分からないことがあったときに
質問の文章を書いていると次第に頭の中が整理され、勝手に自己解決することがあります。
こういうときは大体、何が問題で何が分からないのか、を考え明確化する段階で起きます。
几帳面(まぁいっかの連続をしている人は危険)
几帳面な気質を持ち合わせている人の方が、コーダーとして成果を残しやすいと考えています。
なぜかというと、そういう人の方が「デザインカンプを忠実に再現できる」側面があると思うからです。
Webデザイナーの方は、1px単位でこだわってデザインを作られている方が多いです。
そういった細部へのこだわりをコーダーはしっかりと受け継いで、コーディングに反映させないといけないと私は思っています。
「1pxくらいまぁいっか」といったような大雑把な対応ではなく、
「1pxまでこだわってコーディングしよう」という几帳面さを持ち合わせている人の方が、質の高い成果物を残せると思います。
現状維持を好まない
プログラミングに限らず、コーディングの世界も絶えず新しい技術が発表されています。
これまでの手法に固執するのではなく、
「もっと良い方法はないかな」 「新しい技術を取り入れてみようかな」と考え、
小さなチャレンジを積み重ねられる人の方が経験値がたまっていくのは明らかですよね。
そのために日頃から情報収集をおこなうことを欠かさず、
知識をアップデートできる人の方が、数年先にも需要のあるコーダーになれていると思います。
周囲に配慮できる
「周囲に配慮できる」というのは、
もちろん対人関係においてもですが、ソースコードにも現れてくると個人的に感じています。
対人関係
まずは対人関係についてですが、
コーダーは一人でWebサイトを作れないので、WebディレクターやWebデザイナーといった他職種の人と組んで仕事をします。
そこでは意外とコミュニケーションが求められるので、自分勝手に作業していてはチームとして歪みが出てきてしまいます。
チームで動いている以上、技術力が高いだけのコーダーは良いコーダーとは言えないので、
「周囲と円滑に仕事ができる」という点は、評価が高いコーダーには欠かせない要素だと思います。
ソースコード
そしてソースコードに関してですが、
周囲に配慮できない人は、「おれおれなコード」を書きがちになってしまうと思います。
他者から見ても分かりやすく・理解しやすいコードを書くことは本当に重要です。
(そのためにインデントは揃える、コメントを書く、命名はわかりやすくする、等々)
自分が書いたコードは自分だけのものではなく、誰かに見られるものですので、
独りよがりなコードを書くのではなく、他のコーダーから見ても易しいコードを書くよう意識することが重要になってくると思います。
自己解決能力がある
コーディングをしていると日々問題にぶつかります。
スクールや書籍で習ったことだけで仕事をこなせていけるかというと、全くそうではなくて、
個々のWebサイトの特性や仕様に向き合いながら、都度一つ一つ問題解決していかなければなりません。
コーダーは自己解決能力が欠けていては、成長速度は上がりません。
多少時間がかかったとしても、「誰かに教えてもらおう」という姿勢ではなく、「自分で解決できないか」と向き合う姿勢がとても重要だと思います。
その場しのぎのコードを書かない
Webサイトというものは、「一度作ったら終わり」ではなく、その後運用保守作業が行われます。
そのためコーディングをする際は、「一度コードを書いたら終わり」という考えではなく、保守することを前提として設計・記述していくことが大切です。
他の人が書いたコードを修正するとき、「修正しづらいな」と感じたことはありませんか?
あまり考慮がなされず、その場しのぎで作られたコードは、どこかのタイミングで誰かに皺寄せが来てしまいます。
コーディングが好き
当たり前のことかもしれませんが、重要なことだと思うので書きます。
興味関心がないと、探究心が生まれなかったり、スキルアップしようという気持ちが生まれませんよね・・。
「お金のためだけに」「なんとなく自分に出来そうな仕事だから」と考えてやっている人は、いずれどこかで頭打ちしてしまうと思います。
「好きこそ物の上手なれ」ともいいますが、自分が興味あることは、自ら進んで努力するものなので、いつの間にか高スキルなコーダーになれているものです。
好き・楽しいという気持ちが土台にあるだけで、その人が持つ伸び代は無限大です。楽しみながらコーディングをしているコーダーは本当に強いです!
まとめ
いかがだったでしょうか。
本記事では高スキルなコーダーが備えている性質について考え紹介しました。
やはり一口にスキルが高いコーダーといっても、技術力だけで判断できるものではなく、他の要素も沢山絡んでいるのかな、と記事を書いていく中で感じました。
みなさんはどうでしたか?
あくまでも個人的な考えになりましたが、もし何かの参考になったのであれば幸いです。
最後までお読みいただきありがとうございました。