2016年01月07日
コーダーという生き方
11月にサイトがリニューアルし、1日1回、新しい記事が掲載されるスタイルになりました。毎日、トップページに新着記事が載るので、私はスマートフォンのホームボタンに登録し、読みながら通勤しています。サイトの編集部でも広報担当でもない自分が、自社のサイトを毎日見るようになるとは、思いもしませんでした。
読むことを強制されているわけでもなく、読まないと話題についていけないというわけでもなく、興味の赴くままに一読者として閲覧している理由のひとつに、同じ会社に所属している人たちの知らない面を垣間見ることができる、というのがあります。チームやプロジェクトや勤務地が違うと、むしろ、知らないことだらけです。
そう気づいたとき、「私個人として、チームのどんなことを知ってもらいたいか」と考えるようになりました。そこで今回は、私が所属するコーディングファクトリー部コーディングチームについて、1コーダーの視点から書いてみたいと思います。
そもそも「コーダー」とは?
コーディングチームのメンバーは、全員、「コーダー」という肩書を持っています。これを、Web制作とは縁遠い人に説明するのは至難の業です。その名の通り「コードを書く人」なのですが、そもそも「コード」と言われて思い浮かぶのは、ギターのコード譜や、電源コードの方ではないでしょうか。そのため私は、他業種の方には、ざっくりと「ホームページを作る仕事」と言うようにしています。
同じIT業界であっても、システム系の方とお話をするときは、注意が必要です。プログラマが作った詳細設計書をプログラム言語に置き換える人のことを「コーダー」と呼ぶことがあるためです。
私たちHTMLコーダーのお仕事は、Windowsであれば、ブラウザ上でCtrl+Uを押すと表示される、あの英数字の羅列を組み上げることです。言語は、HTML、css、javascriptがメインで、phpを使用することもあります。人(会社)によっては、「マークアップエンジニア」や「フロントエンドエンジニア」という呼び方をしていることもあるようです。
次は、私たちが担当している「コーディングファクトリー」のお仕事についてお話します。
私がはたらく
「コーディングファクトリー」という場所
モノサスには、マーケティング、プランニングから、デザイン、コーディング、チェック、運用とWeb制作に関するあらゆる職種の人材が集まっています。そのため、ワンストップでサイト制作をお引き受けすることもできますが、私たちコーディングチームは、お客さまにデザインファイルをご入稿いただき、コーディング・チェックをしたものを納品させていただく「コーディングファクトリー」というサービスに専任で携わっています。
サービスの誕生は、遡ること2007年、テーブルコーディングからcssに流れが移り、「Web制作が難しくなった」と言われた頃。当時では珍しい、HTML+cssに特化したサービスだったそうです。
余談ですが、その頃の私は、中小企業の情報システム部門で、自社で使用する基幹業務システムを作っていました。HTMLも触ってはいましたが、あくまで演算結果を表示させるための入れ物に過ぎず、divタグとspanタグの違いすらわかっていませんでした。もちろんテーブルコーディングです。
「プログラマだったら、HTMLも書けるだろう」と言われ、なんとなくインターフェースの画面を作っていましたが、次第に限界を感じるようになりました。cssのfloatプロパティを知らなかった私には、要素を自由な位置に配置するという発想がなく、テキスト量によってレイアウトがかわるテーブルに悩まされていました。
今でこそ、テーブルコーディングのサイトを見かけることはほとんどなくなり、cssでのコーディングが当たり前になってはいますが、IEのバージョンによる挙動の違いに悩まされたかと思えば、スマートフォン対応、レスポンシブウェブデザイン対応、CMSの実装、ハイブリットアプリ・・・とここ数年でも、案件の内容が複雑化・多様化しているように感じます。あるデザイナーのお客さまからも、「自分でやろうと思ったけど、時間的にも内容的にも無理だと思って頼みました」とご依頼いただいたことがあります。
きっと、これからも、現時点では予想もしないことが、当たり前になっていくと思います。それはプログラマやデザイナーが片手間でやるには、負荷が高すぎる内容です。そこを支えるのが私たちの仕事なのではないかな、と思っています。
モノサスで
「コーダー」として働く意味
次に、コーダーの立場から、モノサスで働く意味を考えてみます。
まず、「コーディングと、それに付随するディレクションに専念できる」というメリットがあります。アカウントがお客さまとの縁をつなぎ、チェッカーと2人3脚で(複数人複数脚の場合もありますが)、案件を進める体制ができあがっているためです。もちろん、電話を取り次いでくれるチームや管理部門といった「縁の下の力持ち」的な人たちがいてくれるおかげでもあります。
また、セミナーに登壇したり、職業訓練の講師を経験したり、業界誌(紙)に執筆したり、といったことは、おおよそ、個人ではできない経験でしょう。
さらに、神山町での取り組みや、DIY精神あふれる様々な出来事は、モノサスならではだと思います。会社っぽくないところもあるけれど、はっちゃけすぎていないというところも、私のように地味な気質な人間にとっては居心地が良いです。
しかし、技術者としてコードを書くことを考えた時に、一番大事なことは何かと問われたら、私は「学び続けられること」だと答えます。
コーディングガイドラインや独自の教育システムにより、短期間で標準的な技術を身につけることができるのは、Web業界を目指す人にとっては、恵まれた環境でしょう。
ただ、それが働き続けることにつながるかとなると、話は別です。
実際、一緒に働いていた仲間が、デザインや自社コンテンツを作る仕事を求めて、巣立っていくこともありました。『「職業=コーダー」が、かっこいい。そう思える方大募集!』というコピーに惹かれて入った身としては寂しい気もしますが、コーディング技術を身につけることが、目指す職種への通過点であるという人がいることも事実なのです。
だからこそ、「コーダー」として働き続けたいメンバーに対しては、チームとして、まだまだできることがあるのではないかと思っています。
例えば、ある程度案件をこなせるようになったメンバーには、新しい技術を身につけるために自由に使ってよい時間があるといいかもしれません。一時的に業績に影響したとしても、チームとして対応できる幅が広がり、本人の満足度向上にもつながることを考えれば、必要な「投資」なのではないでしょうか。
もちろん、案件に結びつくスキルでないと会社でやる意味がないので、チームとして強化していきたいスキルと本人の希望とをうまくマッチングさせていくことが大切だと思います。
コーディングチームについての
私的展望(と希望)
前述したように、ご依頼いただく内容は、多種多様になってきています。例えば以下の様な案件は、コーディング+αの技能が必要です。
- 数千ページものPCサイトのレスポンシブウェブデザイン化に、コーダーの立場から意見を述べ、サイト設計に携わる
- ページによって体裁が異なる既存サイトから、似た役割の要素の洗い出しをして、パーツとして分類する
- ページを量産するメンバーとの間で認識に齟齬が生じないような指示書を作る
- CMSを使用して、検索システムを作る
- FLASHで作ったようなグラフィカルなページを実現する
- SNSのAPIと連携したサイトを作る
また、大型案件と技術寄りの案件とでは、使う頭が違います。とはいえ、個人がマルチに対応できるようになるには限界があり、時間もかかります。それよりは、ひと通りのコーディングができた上で専門に特化した個人が複数人いて、チームとしてマルチであることの方が、これからは大事な気がしています。
育成系のカードゲームに例えるならば、
- まずはカードのレベルをあげる
- レベルがMAXになったら、他のカードを合成して、新しいスキルを身につける
といった感じでしょうか。
合成するカードに選択肢が増えれば、コーダーにとってもお客さまにとっても、幸せなことだと思います。
2015年は、先人が築き上げた仕組みをブラッシュアップするにとどまらず、いくつもの「新たな取り組み」が始動しました。
月1回、コーダー全員が集まって、自分の近況や技術情報を発表するミーティングを始めました。また、使い慣れたガイドラインに近年のcssアーキテクトの考え方を取り入れたらどうなるかを検証し、何か月もかけて議論を重ねました。このサイトでもよく話題にのぼる神山町での職業訓練も、コーディングチームから講師が赴任しています(実は、この原稿も神山町で書いています)。
正直に言えば、忙しい案件の合間をぬって何かをするのは大変なこともあり、慣れたやり方で進める方が楽ではあります。けれど、ずっとそのままでいるのも、つまらない。いろいろできた方がかっこいい、と思うのです。
2016年は、ひとりひとりのメンバーが消耗することなく、前年に蒔いた種を育てつつ、さらに新しい取り組みにもチャレンジできればと思います。
そして、3年たっても、5年たっても、「居続けたい」と思えるチームでありたいと願っています。