海とデッドマン

エンジニア歴5年、フリーランス、デッドマン

LPコーディングのお仕事を受注したが、そんなことよりSass使ってない奴は今すぐ使った方がいい話

持つべきものは友人説

 幸運と友人に恵まれて、LPコーディングのお仕事をゲットした。実績もなにも公開していない(公開できないものが多い)エンジニアにお仕事を流していただけるなど本当にありがたいことである。とはいえ僕はバックエンド(PHPやらデータベース周り)が得意なエンジニアであり、基本的にLPのコーディングはコーダーさん(もしくは駆け出しフロントエンドさん)のお仕事なため、やれるかどうか非常に不安である。基本的なHTML,CSSは書けるため、実現可能性というか「とりあえずデザイン通りのものを作る」というハードルはそこまで高くはないのだが、「フロントエンドの常識」というものを全く知らないので、例えばhtmlのクラス命名規則(BEMやら独自のものやら)等を勉強しながら進めなければならない。

 進めなければならない、という自戒風に書いてはみたものの、実は今回の案件はおおよその部分はすでに完了している。 案件自体の納品期限は1週間くらい先だったのだけれども、なにしろLP制作は初めて、その友人が案件を紹介してくれたのも初めてという初めてづくしの案件であったため、不安を紛らわせるために爆速で納品(1次提出)することを選んだのである。受注した瞬間から2.5日間で30時間以上稼働した。12h/day以上稼働しているというのはノマドノマド言われている現代において、この働き方はなんかフリーランスとしては間違っているように思えるが、今回は仕方がないだろう。クライアントもこちらがどのようなものを提出してくるか不安だっただろうし、早めに納品したのは正解だったと思われる。今回の納品は1次提出といえるような、とりあえずという形であり、おそらく修正依頼がいくつか飛んでくる予定である。本来ならば完璧に完全なコーディングが完了してから納品したいし、そのような仕事をしなければならないのではあるが、何しろ発注の経緯やコーディング規約、クライアント側が「前提」だと思っているであろう事情を僕は全く知らされていないのだ。デザインカンプとなるpsdをポイっともらって、これ再現できる?という丸投げ感満載で仕事が降ってきたのである。自分ができる最速でそれっぽいものを作って送り付けて「これでいいか確認お願いします!!!」と剛速球を投げ返すことに何の罪があろうか。一応スマホとPCの両対応ということでメディアクエリを分けておいたが、ブレイクポイント自体や対象デバイス、テストすべきブラウザも特に指示されていないため一体何を作れば完成といえるのかよくわかっていない。

仕事内容よりSass超便利な話がしたい

 で、仕事の内容的には久しぶりに触ったCSS、書くのが難しすぎてどうしようか悩みまくった。今まで自分の中で「俺はバックエンドの人だから!」と避けてきてはいたが、どう考えても今回の案件ではSassを使った方がうまくいった気がする。というわけで案件には間に合わなかったが、合間にSassの環境を整え、適当な骨組みのHTMLにSassでデザインを当ててみた。超便利じゃん。なんで使わずに今まで書いてたんだろう。バックエンドの人だから...とか何の言い訳にもなってないし、何かしらのプログラム言語を扱える人なら生CSSよりSass使った方がどう考えてもいいじゃん。変数はCSSでも微妙に使える(IE以外)からいいとして、ネストできたり関数使えたりループできたり条件分岐できたり...作業してて「css書きづらいな」とか思ってた部分がまるっと解消されてるじゃん。明らかにこれ使わない理由がないじゃん!!!

 jsのフレームワークが一般的になって、SPA(シングルページアプリケーション)が流行って、なんとなーくバックエンドとフロントエンドの垣根がなくなってきているのは肌で感じていたが、デザインまでこうもプログラム的に書けるとなると、もはやフロントとバックエンドだけでなくコーダーとエンジニアっていう分け方さえあんまり意味がないというところまで来ている。jsならまだ「エンジニアの仕事っぽい」感じがするけど、htmlとcssは一般的に言えば「コーダーの仕事」だと思う。コーダーが下とかエンジニアが上とかっていう話でもないんだけれども、ちょっとIT知識のある人は「エンジニアとコーダーは違う」と思っていることが多いじゃん。でもコーダーと呼ばれる人たちがこんなプラグラマブルにcssを書ける、というか既に書いているんだったらもうその分け方意味なくない?変数、関数、条件分岐、ループの概念が理解できるならもうPHPだのrubyだの高級言語ならある程度書けるだろう。

 というわけでSassを使っていない人は今すぐ使いなさい。そしてSass(やLess)の各種便利機能を使えるコーダーを「コーダーだから」ってエンジニアより安いお金で動かそうとしている人は悔い改めなさい。フロントエンド界隈に久しく触れていないバックエンドエンジニアが改めて常識に触れてみた現場からは以上です。