株式会社デザインワン・ジャパン(以下DOJ)
デザイン戦略部フロントエンドチームのむたいと申します。
DOJ入社2年目で、エンジニア歴は4年目のフロントエンドエンジニアです。
私はこれまでECサイトの運用や独自CMSを使ったサイト制作、ゼロからの環境構築やレガシーなサイトの運用など、フロントエンドエンジニアとしてさまざまな戦場で戦ってきました。
そして、これまで経験してきた幾千もの戦のなかで、戦場は違えど、どんな会社でも求められ、戦っていくうえで大切なことを3つの心得と2つの極意としてまとめました。何かの参考になれば幸いです。
※以下に書いてあることは私個人の考えです。人によっては合う合わない、それは間違ってると思う部分もあるかもしれませんが、あしからず。
どこでも戦っていける3つの心得
その①:可読性を高める
まずひとつめは、コードを書く際は他の人にも、そして自分自身にとっても読みやすいものにするということです。
どんな環境であっても自分が書いたコードは、チームメンバーか未来の自分が触ることになります(もちろん例外はありますが)。読みづらいコードを残したままにしておくと、改修がしづらくなったり、動作が予測できず影響範囲を調べるのに時間がかかってしまったりと、先々の業務に影響が出てしまいがちです。
だからこそ、周囲の人・未来の自分のためにも、できるだけシンプルな構造で実装するようにし、なじみのある単語・表記を使うように心がけるのが肝心です。
※補足が必要な箇所にはコメントを残したり、構造が複雑になってしまう箇所にはドキュメントを残したりしておくと、よりベターです。
その②:耐久性を持たせる
2点目は、あらゆる場合であってもデザインや機能が壊れないようにコードを書くということ。
Webサービスを運営していると、後々さまざまな変更が入り、その都度、更新作業を行わなければならないことはしばしばあります。文章量が変わったり、情報の表示有無が変わったりすることもあれば、ユーザーの環境もさまざまなので、更新作業を行うときは考慮しておかなければならないことが盛りだくさんです。
こうした先々の煩雑な更新作業を見越して、デザインや機能が壊れてしまうことがないように、さまざまなパターンを想定してコードを書くことが大事です。
その③:拡張性を持たせる
3点目は、将来、訪れるであろう改修といった事態を予見して、追加機能があっても耐えられるように拡張性を持たせておくということ。
Webサービスである以上、将来的な機能追加やデザイン変更は十分にあり得ます。だからこそ、たとえ破壊的なデザイン変更があったとしても対応できるように機能を小さくわけて書くことが大切です。
当社の主力サービスである「エキテン」では、もっともっと価値あるメディアにしていくために、雨の日も雪の日もスタッフ全員が考え抜いて、より良いサービスに成長させられるよう日々、努力しています。こうした環境では特に、拡張性を持たせておくことが重要です。
↓考え抜いてる人の記事
さて、ここまでどんな会社でも戦えるフロントエンドエンジニアに大切な3つの心得をご紹介してきました。ただし、これらはあくまでコーディング術でしかありません。
そこで、以下ではコーディングの真髄を極めた者のみぞ知る、門外不出の2つの極意をご紹介しましょう。これを会得できれば、きっとどんな会社でも戦い抜ける真のフロントエンドエンジニアになれるに違いありません。
門外不出の2つの極意
極意①:とにかく楽しむ
極意のひとつめは、“とにかく楽しむ”ということです。
あえて誤解を生む書き方をしますが、私は仕様書通り、デザイン通りのコーディングはしません。ディレクターから渡された仕様書を読んだら、「こんな技術あるから使ってみませんか?」とか、デザイナーから上がってきたデザインを見たら、「ここをこう動かした方が面白いんじゃないですか?」とか提案します。
エンジニア目線じゃないと思いつかないような仕様や機能もあるので、自分ならではの付加価値がつけられないかと常に考えています。そうしたなかで生まれる “より良いサービスにするための議論”が楽しかったり、面白いものを考えて実装して「これいいね!」「すごいね!」って言われるのが楽しかったり。
自分が実装したものが評価されればモチベーションアップにもつながりますし、難易度が高いものであれば自身の成長にもつながります。楽しくできないか考えることで自分にもサービスにも良い影響を与えてくれます。
極意②:人をおもいやる
極意のふたつめは、“人をおもいやる”ということ。ともに働く仲間がいて、サービスを使ってくださるユーザーがいる以上、相手のことを想う心が大切です。
例えば、ディレクターやデザイナーに仕様やデザインの変更を提案して、断られてしまうことも少なくありません。でもそれは、エンジニアからは見えないプロのディレクターやデザイナーの目線や想いがある場合がほとんどです。自分の意見だけでなく相手の意見にも耳を傾け、お互いを尊重しおもいやることが、良い仕事につながり、ひいてはより良いサービスにつながります。
そして、一番におもいやるべきなのはサービスを利用してくださるユーザーの方々。この実装で使いやすいと感じてくださるか、ユーザーのニーズにしっかりと応えられるものになっているか、常にユーザーの目線に立って業務に取り組むことが何よりも大切です!
まとめ
「可読性」「耐久性」「拡張性」をはじめ、“とにかく楽しむ”ことや“人をおもいやる”ことの大切さ――。ご理解いただけましたでしょうか?もちろん環境によって求められるスキルは違いますが、どんな環境であってもこれらの心得と極意を持っていれば重宝されるフロントエンドエンジニアになれるはずです。
そして、当社はこんな考えに共感し、おもいやりにあふれた会社です。「一緒に働きたい」と思った方や興味を持っていただけた方はぜひ一度、当社に遊びに来てみてください!
DOJのフロントエンド エンジニアがどんなことをやっていて、何を目指しているかはこちらの記事をご覧ください。