CSS Nite LP58フォローアップ(1)中村 勇希さん

2018年9月29日に都内で開催したCSS Nite LP58「Coder’s High 2018」のフォローアップとして、中村 勇希さん(トゥーアール)の『枯れゆく技術との付き合い方』セッションのスライドなどを公開します。

メッセージ、補足など

基調講演を勤めました中村です。電車遅延で聞けなかった方、早口で聞き取れなかった方、ぜひビデオ配信もご覧ください。
また、今後の情報発信はツイッターで行なっているので、ぜひツイッターをフォローしてください。

@nayucolony

アンケートでの質問やコメントへの回答

技術への好奇心・モチベーション

スキルの低い自分では、自己満足を満たせないというのが一番の原動力です。あとは、すごく尊敬しているデザイナーさんがいつか起業した時に創業メンバーに手をあげられるようになっておきたい!みたいな野望もちょっとあります。長い目で見るとそういうモチベーションはありますが、目先の小さなモチベーションでいうとお給料がたくさんほしいのでできることを増やしたいというのが大きいです。

技術情報のキャッチアップはどうしたらいいか

Twitter で片っ端からフロントエンドエンジニアっぽい人をフォローしましょう。大きめのカンファレンスで登壇している人をフォローし、おすすめユーザーを芋づる式にフォローするのをおすすめします

JavaScript フレームワークは習得しないといけないか

長くなりそうなので記事を書きました

JavaScript フレームワークは、習得しないといけませんか?という質問への回答

java 有償化が JS へ何か影響を与えることがあるか

全く別物なので影響は皆無です。ただ、もし脱 java の流れが来るならば、それに伴い一気にモダン化をすすめようという流れでフロントエンド構築の案件がくるかもしれませんね。

これから様々に自動化が進んでいくことを鑑みると、フロントエンドエンジニアもコードをかけるだけでは生活できなくなる世の中になるのでは?

明日突然仕事がなくなることはありません。しっかりと状況を追っていれば、次の何かに移行することが可能です。何も知らない間に気づいたら取り残されていた、ということを避けるために、広い視野を持って情報収拾しましょう。おすすめはツイッターです。

バックエンドの開発に Vue や React に移行するメリットを上手く理解してもらう方法

SPA のメリットと、開発上のメリットを両方伝えることになりそうです。前者は調べればいくらでも出て来ますが、後者はコストの問題が大きそうですね。私は Vue や React で開発する時にサーバーサイドの環境は特に気にしなくていいので取り掛かりが楽だなぁと思っています。

受託案件では開発プロダクトの技術はどのくらいの期間担保する想定でとりいれているか

特に気にしていません。即リニューアルの判断がくだることもあれば、クローズされることもあります。作り変えることを前提に、その時安定している技術を採用しています。

チームでの知識レベルがバラバラなのだがどうしたらいいか

私は経験が浅く、チームを組むと「チームの中央値より下」のスキル感である場合がほとんどです。ですが、スキルがある人がちょっとしたケアをしてくれていることで、うまくやれていることが多々あります。

  • 情報格差をなくす(環境の立ち上げ方など逐一ドキュメント化してくれている)
  • コメントを書く(どういう意図のもとで設計されたロジックなのかを理解できる)
  • レビューをする(人格否定ではなく、実装の甘さを詰めてくれる)

また、これらはスキルのあるなしによらず実行可能なことですので、私も心がけるようにしています。

JS に対する苦手意識が払拭できないがどうしたらいいか

こんな本があるみたいですよ。

スラスラ読める JavaScript ふりがなプログラミング

今の会社環境ではデザインから実装まで一通りやっているが、どれかに特化したい。今の環境では難しいと感じる。転職すべきか。

私だったら転職します。複数社話を聞いて見ると本当にどうするべきかみたいなことが見えて来そうです。

組織の都合上、管理業務が多くなってしまい技術のキャッチアップができていない。その中でも、作る現場のキャリアを取っていきたいと考えているが、何から手をつけていけばいいか?

組織としての価値は、マネジメントスキルをつけることかなぁと思ってしまいます。メンバーもそちらの方が幸せですしね。どうしても手を動かしたいのならば、おすすめ書籍であげた本を読んでみてください。転職もありだなとおもいます。

使いやすい、わかりやすい、ものを作ることが好き。今後のキャリアとしてフロントエンドエンジニアか UI デザイナーか悩む。

私はフロントエンドエンジニアですが、UI デザインに関するレビューは積極的に行うようにしています。結局、実装したものが世の中に出るので、そこの責任を担えるという点でフロントエンドエンジニアという仕事は好きですね。一意見としてご参考ください。

学習するためには、目的が必要だと思うが、仕事で使う前提で考えているか

基本的にはわからないことだらけなので、学習しながら仕事に活かしています。そういう意味では、仕事で使う前提ですね。本当は、全体的な実装コストの把握などできるようにサーバーサイドの勉強などもしたいのですが、フロントエンドで精一杯になっているのが現状です。

このフレームワークはこういう案件に良い、というのはあるのか

私は「客先のチームを組むエンジニアが Vue を書いているので」とか「React の現場を多くやってきたので」とかいう理由で決めて来ていたので、社内のメンバーに聞きました。

  • Vue は SPA じゃなくてもカジュアルに使える感じはある。SPA だとあんま変わりないんじゃないかな。好きなの使えば良いと思う。
  • Rails ベースでややこしいことを JS でやらなきゃならないときは React じゃなくて Vue かなー。サーバーで出力された HTML を元になにかしたい場合。

とのことです。Vue を軸に入門するのがよいのではないでしょうか。

アプリケーション開発のロジックとかデザインパターンとか MVC モデルとかそういうのを理解していないと意味がないと思う

おっしゃる通りですね。見よう見まねで書いたコードが、後から「実は修正しにくい作りになっている」とか「実はもっとスッキリかける」とかいうことに気づきはじめたのが最近で、現在私は設計の勉強をしています。

ただ、それに気づくにはまずは無理矢理でも動かしてみるのが大事かなとおもいます。私の場合、最近設計の本を読んでいると「たとえばあのプロジェクトのあの部分を、こういう風にわけたらいいのかなー」のように、踏んだバッドパターンを例に落とし込めているという現状があります。

JS が苦手な人は JS の基本をやったほうがいいか

基本を完全に理解しないとフレームワークが扱えないとは言いませんが、基本的な記法は理解しておく必要があります。フレームワークを導入しても、結局我々が書くのは JavaScript です。そこに、フレームワークのルールがあるかないか、という話です。

jQuery でアプリケーション開発は難しいのか / フレームワークをつかっても何ができるかピンとこない

jQuery でアプリをつくる = パワーポイントでデザインをする、というたとえでピンときますか?確かに図形もかければ文章もかけます。しかし、シンボル機能もなければ、レイヤー機能、アートボード機能な「デザインをするにあたって必要な機能」が足りません。
実現するには、スライドを複製して人力アートボードにしてみたりと、無理やり作ることになりますよね。ですが、ワイヤーフレームなど、パワポで十分!な瞬間も時にはあると思います。

jQuery でアプリをつくるというのは、それに近いです。フレームワークでは、パーツごとに

  • 見た目
  • どのようなデータを扱うか
  • 変動する数値は何があるか
  • このパーツは、他にどんなパーツを含んでいるか

などを明示的に設定することができます。また、アプリケーション開発における「あるある用途」が最初からいい感じに使えます。もしもフレームワークを使用しない場合、コメントを書いて構造化を頑張ったり、「あるある用途」を人力実装したりすることになってしまいます。ツールがあった方がいいですよね。

storybook を使っているか

一回だけ使ったことがありますが、管理コストがかかるのでビジュアル設計がしっかりしているプロジェクト以外で導入してもあまり意味ないだろうなあと思います。
逆に、ビジュアル設計がしっかりしていれば、完全なる動くドキュメントになるので、管理コストを支払ってでも導入する価値はあるでしょう。

妊娠、出産のキャリア

この辺の情報確かにないですよね。私も当事者ではないのであまり考えたことはなく。福利厚生に恵まれた会社の女性エンジニアのツイッターをフォローしておくといいと思いますよ。

初心者にオススメの本

以下がおすすめです。

JavaScript

Vue.js

2019年、CSS Niteでは49回の関連イベントを通して123セッションが行われました。その中からベスト・セッション+αを選びました。

2010年から2019年のベスト・セッション