« 2016年7月 | トップページ | 2016年10月 »

2016年8月の記事

scalaのライブコーディング。

8月の定例会:"LT or IT-Tips"の枠の中で、若手の速形さんがscalaの概説&ライブコーディングを行ってくれました。
速形さんと言えば、去年の忘年会の時にゲーム用のWebサイトを急ごしらえしてくれた中心人物です
 
レギュラーコンテンツである"LT or IT-Tips"は、デフォルトでは10分の枠を取っていますが、
事前の速形さんからのリクエストで「15分の枠が欲しい」と連絡を受けており、タイムテーブル上でもそのように設定しました。
全員持ち回りのコンテンツなのですが、時間枠の拡張要望が有れば事前に連絡を貰うことにしています)
 
先ず、ネタとしてなぜ、scalaを選んだのか?
 
社外勉強会に3つ参加して、全ての中で話題に挙げられていた(熱く語る人達を目にした)こと。
 
全て有志の人達ですから、たった3セミナーとは言え、全てで熱い話題として語られていたことは無視できない、
というのは分ります。
 
ここ1年以内くらいで、「既存のWebサイト/サービスの開発に利用していたPHPやJavaから、scalaに移行した」
という話を、結構著名なところで聞いたりもします。
 
発表してくれた概要:
 ・ドメイン設計するならScala!(DDD勉強会に参加した時などに繰り返し耳にしたこと)
 ・業界の利用例:アフィリエイト、ツイッター
 ・マルチパラダイム言語である:オブジェクト指向+関数型言語
 ・JVM上で実行される:Write Once, Run Anywhare.
 ・メリット:
   ・静的型付けが利用できる。
   ・JVM上で実行される(Javaの資産が使える)。
   ・Javaに似ているので学習コストが低い。 ←(社内的なお話ですが)
 ・デメリット:コンパイルにかなりCPUを食う、省略記号が多いため慣れるのに時間がかかる。
 ・記号を多用するのでググラビリティ(Googlability:Google検索で適切な情報をヒットさせるのにコツが要る)が低い。
 
20160819190215 ここで、ライブコーディングをしてくれました!
と言っても、実際に動作しているのは彼の自宅にあるMacBook。

リモートデスクトップで、町田事務所にあるNotePC(Windows10)から操作しました。
 
Java7ベースで書いた&Webページとして動作するソースコードを、scalaに書き換えていく、というものでした。
分り易くて面白いです!
 
拘りのあるメンバー達からは、コーディング途中で「えー!?」とか「ああー...」とか声が漏れて来て、
それも面白かったですね。
無言、無反応じゃあ、お互いに面白くないということですから...。
 
※使ってみての感想
  ・関数型を勉強できてよかった。
  ・再代入しない副作用のないコードメソッドは必ず何らかの実行結果を返す、という大原則の元で動く。
  ・ちょっといいJavaを書きたいという人はいいのでは?
 
[質問] 広告、ゲームでscala適用の例が有るとのことだが、その採用理由は?
  ⇒元々PHPを使っていたが、規模が大きくなって何かと運用コストが膨れるし、負の遺産と化していた。
   scalaを選んだ理由は、並列処理が簡単に書けること。
   スレッドが別になるのでバグっても全体が止まることが少ない。

[側面から補足] アーキテクトでもある山下さんが補足説明を入れてくれました。
   ランキング等はもの凄いアクセス・ユーザ数があるからマルチスレッドで処理する必要がある。
   Javaではスレッドを立てるだけでそこそこのコードを書くことになるが、Scalaは簡単に書ける。
やはり、動くモノをリアルタイムで見られるのは面白いです!
 
それと、現行技術(言語)から新技術への移行プロセスを、超簡単な実例ではありますが体験共有してくれたのは
素晴らしいと思いました。
 
実際にプロダクト/プロジェクトで採用するか否かは多くの要因を考慮しつつ決定しなければなりませんが.....。
 
ただ、こういった新しいものへの取り組みを、若手が実践して共有してくれるってのも非常に嬉しいことです。


★クリック1つでブログランキングにご協力戴けます! m(_ _)m

| | コメント (0) | トラックバック (0)

あなたのモデルになる人、傍にいますか?

あなたの近くに、自分の数年後・或いは5年、10年後として「こんな風になっていたい!」と感じる
スキルモデルの先輩(或いは同僚・後輩、他社の人でも構わない)って、いますか?
 
さて、どうでしょう?.....
 
話は、もう20数年も前のことになりますが、
当時のアスペアは "クライアント・サーバーシステム"(以降、"クラサバ"と記載します) の開発が中心でした。
 
当然のように世間で使われていた最もポピュラーなRDBMSと言えば、Oracle製品。
OSは、通常業務用(デザイン用とかではなく)としては Microsoft Windows 3.1 から、
本物のマルチタスク(プリエンプティブな)OS、メモリ保護なども掛かるOSとして Windows 95 が台頭し始めたころ
古い話ですよねー!。今回はIT石器時代のお話しが絡みます
実装言語は主にVB(VisualBasic。.NETじゃありません)でした。
 
当時のアスペア内に、この"クラサバ系開発のエース"が1人いました
若手でしたが、グイグイとプロジェクトを引っ張ってくれていた。
 
新規で数名体制を組んで受注・開発を行う上で、必然的に中心人物となっていました。
当然ながら、多忙を極めます。
 
一方、筆者自身も未だ開発の現場にいましたが、私の出自は元々が "組み込み系"。
"クラサバ"、RDBMS、ネットワークなどは弱い弱い。
受注業務も、全く畑違いの方向からの案件(組み込みではないが制御系方面)をこなしていました
 
で、ある日、"クラサバ系開発のエース" が社長に、退職届を提出しました
 
「この会社にいても、自分が目標にできる人がいない!」と。
 
筆者の方が年齢的には上でしたが、未だ30代で大差はない。
当時、筆者はアスペアの役員でしたから会社的に非常に痛いという認識も有りましたけれど、個人的に、とにかく情けないったら無い!
(ちなみに、筆者自身が直前のIT系会社を退職する際に言った言葉も同様の内容でした
 
『歳は上でも、こんな奴しかいない!』と、口に出して言われたわけではありませんが、客観的に見れば、そう断言されたような気がしました。
悲しいやら、悔しいやら、恥ずかしいやら...
 
しかし事実でしたし、立場が逆だったら、私も同様の理由で退職したかも知れない
 
身近に、出来ればやはり自社内に、自分がモデルとしたい先輩・同僚がいた方が良いです。
或いは、自身のモデルとしなくても、"こいつはここが凄い!"という人が何人もいる方が楽しいです
 
一緒に仕事をしたり、話をしたり、食べたり呑んだり、いろいろと面白い。勉強になる!
「じゃあ自分が凄いと思われる技術者になろう!、キャリアモデルになろう!」とは考えませんでした。
と言うか、考えられませんでした。
自分の気質・性質・能力や指向は自覚してましたから...。
 
さて、どうしたものか.....。
 
ややあって、「会社的にWeb系に専門特化して行こう!」という方向が定まりました
 
どんな要素が必要になって来るんだろう?
 
オブジェクト指向、言語的にはJavaが中心(当時)、表記的にはUMLを全社員が共通語として使えること。
Strutsなるものを知っていないと・使えないと、Web系でメシが食えなくなりそうだ。
って言うか、フレームワークという概念を理解して活用できないとダメそうだ。
デザインパターンってのも一種の共通語として、品質や生産性確保の為にも必要らしい...。
 
モデルになるような人物は、採用時点でも可能性のある人を選別するという事も行っていきましたが、
「より良いものを、カッコ良く・スマートに(今風に言えばクールに)作りたい!」という共通意識を持っていたい
ちょっと拘っていたい
スキマ時間でも見付けたら、逃さずにその辺のキャッチアップを行って欲しい(全員に)。
そして、頑張って勉強して伸びてくれる人は、どんどん高く評価する(給料も上がる)。
Web方向でのスキルを伸ばせるプロジェクトに優先的に配置する。
お客様からの高い評価を、社内でも全員の前で発表する。
スキルアップに必要な要素の話は、定例会などの機会に繰り返し話題に出す、勉強会を開く。
メンバーが実務で活かした例は、皆の前で優先的に発表してもらい、「これから全員に必要になるよねー」って話を繰り返す。
 
等々、試行錯誤している内に(結果的に?)、「凄い!」メンバーが段々と育ってくれました。
 
「凄い!」人は、「頑張ろう!」を誘発します。
次の「凄い!」人になってくれます。
 
今では、様々な方向・役割で(重複部分は当然ありますが)、それぞれの個性を持ちつつ、
「凄い!」メンバー達が揃ってくれました。
スキルモデル、キャリアモデルとして各メンバーが想定できそうな人物が何名も揃ってくれていると思います。
自社内にそういったメンバー達が、1人、2人とかではなく何名も揃ってくれた点は、本当に!、本当に嬉しいですっ!!
 
「この会社にいても、自分が目標にできる人がいない」
20数年前に言われたこの言葉を再び聞く可能性は、かなり減ったんじゃないかと思います。
また、先陣を走るメンバー達にしても、
「結局は正解を他所から持って来るのは不可能。より良い結果を出したければ、現状に応じて自分(達)で考えて、工夫して進んでいくしかない」、
という点は、は分ってくれているのではないか、とも思います。


★クリック1つでブログランキングにご協力戴けます! m(_ _)m

| | コメント (0) | トラックバック (0)

お仕事場所の物理的分離・共有とWantedly!

アスペアのメンバーは、自社事務所で殆どの開発・保守作業を行っている「町田ラボグループ」と、
顧客先にて要求の内容確定・補完、交通整理から仕様確定・デザイン&UI設計・設計・製造・各種テスト・リリース・保守・運用・障害対応など
様々なことを行うメンバーに大別されます。
 
また、顧客先も複数に分かれています。
基本的には、余りメンバーを拡散させない方針なのですが、
メンバー各人の指向スキル・キャリア方向に応じたプロダクト/サービス開発のプロジェクトを営業的に
探っていくと、少人数に分散されてしまうタイミングが生じます

(敢えて統一的に習得できるスキル要素を重視して、多くのメンバーを同一個所に集約する期間もあります)
この2年ほどで見ると、2社の顧客+顧客との共同企画サービス(1つ)で構成されていましたが、
顧客の1社が町田ラボとセットで拡大が進み、
他のメンバーは指向キャリア別に顧客先の拡散が進んできました(両極端ですね;今は一段落してます)。
 
とは言え、アスペアとして共通的に持っていたいマインドや知識・技術も有りますので、
毎月1回の定例会で、ワークショップやハンズオンなども行いながら、可能な限りの共有はしています
 
しかし、"毎月一回" というのでは、当然ながら限界も有ります
 
メンバー達から "考えていること・関心の高いこと、悩んでいることや、情報など" を聞き取る為に
顧客先の近くで会ってローカルミーティングをすることもありますが、
やっぱり基本は、"自分で吐き出したいことを、吐き出したい時に、やり易い方法で" 出してもらうのが最良だと思います
 
現状のアスペア内で最も有効に機能しているのは、恐らくslackです
(スマートデバイス用にアプリも有り!、って所が大きなポイントですね!)
 
slack上では、FacebookやTwitterのように「いいね」を付けることも出来ます
と言うか、多数の"リアクション"マークを幾つでも付けられます!
 
あとは、リアルタイム性は遥かに下がってしまうのですが構造的に整然と情報を集約できるという点では
CMSを使った社員専用Webサイトも運用しています
 
20160802_ アスペアでは、各人からの週報はこのサイトにアップしてもらってます。
 
つまり、週報はアップ時点で社内の誰からでも閲覧可能になる訳です。
この週報、というかブログ機能に対しても、アスペア独自でプラグインを開発して「ステキ!」が投稿できるようになってます。
 
週報には"健康"という項目が有り、"体調"と、"モチベーション" を5段階で記載するようにしてます。
("5"が最高!、"1"は最低...、です)
 
で、この数値の横に、数値に対応したニコマーク(顔マーク)を張るようにしてます(CMSの標準機能です)。
 
これで、文章では表し切れないようなニュアンスとかも表現してもらってます
物理的には離れているメンバー間でも、こんな↑顔マーク1つでさえも、何となく、ほんの少しは距離が縮まっているような気がしないでもない...
slackで "出勤しました" って報告(オンランかどうかだけでは判断が付かない場合があるので)するときも、
表情マーク付けたら良いかも知れないですねー
 
あ、1つだけお知らせです。
 
Wantedly(SNS型リクルーティングサービス)に登録しましたー!
 
宜しければ、ちょっと覗いてみて下さい。
 
★町田で働きたいんだよ!・働きたいのよ!、の小さなお子さん持ちのママさん・パパさん★

こちらへ!⇒

 
★或いは、共に成長していこう!、開発の現場をお客様込みで一緒により良くしていこう!、という方★

こちらへどうぞ!⇒

 
絶賛募集中です!!


★クリック1つでブログランキングにご協力戴けます! m(_ _)m

| | コメント (0) | トラックバック (0)

« 2016年7月 | トップページ | 2016年10月 »