msgbartop
システム開発部は、つくば市にてLAMPをメインにした開発に日夜励んでおります。
msgbarbottom

2012年 01月 04日 プログラマが困難な目標を達成させるための1つの習慣

明けましておめでとうございます!正月休みはノロに感染して1歩も外に出れなかった いしかわ です。

さて、新年といったら抱負や目標。プログラマの皆さん、今年の目標は書きましたか?
プログラマって大変ですよね。新しい技術は次から次へと出てくるし、技術だけでなく上流工程に移行する方もいますし。毎年、毎月、毎日が勉強ですよね。

そんなプログラマなら「今年は英語を勉強するぞ!」とか、「情報処理技術者試験に合格するぞ!」といった新年の目標を考えた方もいるはずです。

しかし、このような多くの勉強時間を要する目標ってなかなか継続できないんですよね。
目標を立てた直後は、ものすごいモチベーションで勉強しまくるのですが、3週間もすると次第に勉強時間が短くなり、いつの間にか勉強しなくなってしまいます。

うんうん、あるある。と思った方。実はここに重要なポイントがあるのです。

モチベーションが高いうちは、いろんな誘惑にも打ち勝てます。テレビであったり、ネットであったり、ゲームであったり。しかし、モチベーションが低くなるとそんな誘惑に負けてしまいます。

なぜ継続できないのか。実は多くの時間を要する目標の達成には
「何をやるか」
ではなく
「何をやらないか」
が重要になってきます。

具体的には「テレビを見ない」とか「ゲームをやらない」といったことです。
例えば1日2.5時間(朝30分、夜2時間)、週末の土日はそれぞれ4時間テレビを見ていた方が、1年間見なかったとしましょう。
どのくらいの時間が生まれるかというと・・・、なんと約1,000時間です!
計算して自分でもびっくり(笑

いやーすごい。1年で1,000時間ですから、10年で1万時間ですよ。これだけの時間があれば、どんな目標でも達成できそうですね。

もちろん、すべてのテレビを見ない、ゲームをやらないではありません。自分の家庭での目標、仕事での目標、個人での目標、それぞれをバランスよく考え、必要のないものから切り落としていくことが重要です。

今年の抱負にあわせて「何をやらないか」を1つ考えてみてはいかがでしょうか。

2011年 12月 25日 エンジニアが効率よく読書するポイント

寒さで手がかじかむ今日この頃。
ロゴスウェアチャンネルでBOOKIEについて紹介されていた動画を見たところ、ふと感じることがありましたので、かじかむ手でキーボードを叩いてみます。

BOOKIEとはロゴスウェアの福利厚生制度?の1つで、一定の条件を満たせば4半期毎に5000円までの書籍購入が認められる制度です。
その中で、社長の石神がロゴスウェアチャンネルで読書について語っていました。

その中でも言われていますが、読書って簡単なようで、簡単でありません。
私の身近な例でいいますと「自分のレベルにあった本を選ぶ」と言う簡単なことですが、最近やっと気づけた気がします。

例えば、英語の勉強をする際に、本を選ぶとしましょう。
今の私はパラパラと本をめくって、自分で理解できる文章が7割くらい載っている本を選びます。
え? 7割も理解できる本を買って役に立つのかって?
人それぞれですが、難しい本を買って挫折したことがある方は、挑戦してみる価値はあると思います。

英語だけでなく、例えばマーケティングの勉強をするときも、最近流行りのライトノベル風のものから入ってから、徐々に難しい本に手を伸ばします。
なんというか、そのほうがテンポよく読書できるんですよね。

私が読書で新しい知識を身につける流れは、以下のようなイメージです。
その1:簡単な本で、雰囲気や全体像をつかむ
その2:少し難しいと感じる本で、体系的に理解する(必要に応じてさらに専門書も読む)
その3:ケーススタディ系の本で、実務を想定し覚えたことを応用しながら実践する
その4:余裕があれば勉強会やブログで教えたり発表することで、知識をより自分のものにする

その4まで出来ることは少ないですが、機会があれば頑張っています。

しかし、多くのことを学ぼうとしても自分に与えられた時間は有限です。
本当に重要なことは、無闇に多くの読書をこなすことよりも、どの分野の勉強をするかを選択することだったりもします。
これまた難しい選択ですよね!

それでは、良いお年を!

Tags:

2011年 12月 20日 重要だけど急ぎでないことがこなせる習慣

回りを見渡すと、サラリーマンや学生、主婦、親子連れなどもいる。この時間は少し変わっていて、殆どの人が仕事や勉強をしている。
私の向かいの席に家族連れが座っていた。父親はレポートをまとめ、小学生くらいの長男は学校の宿題を行なっている。その隣は幼稚園くらいの次男だろうか。彼はお絵かきをしていた。まだ勉強するには早い年なのだろうが、次第に兄の真似をして習慣を身につけるのだろう。

早朝のマクドナルドで勉強することを”マク勉”などと言うらしい。そんな言葉ができるほど、この時間帯の人は仕事や勉強目的で訪れる人が多い。

かく言う私もその1人なのかもしれない。寒い次期になると、誰も起きていない早朝の自宅にいるよりも、温かいコーヒーと席が用意されているマクドナルドのほうが作業効率が良いのだ。

そんな早朝のマクドナルドで作業をしているとあることに気がついた。
自分の作業リストのなかから”重要だけど急ぎでない”作業が、だいぶ片付けられている。

この領域の作業はなかなか実行することができないと思っていたので、なぜ実行に移せたのか自分なりに考えてみた。

■ 環境の違い
会社とは違って、電話が鳴ることはない。また、仕事用のPCが無いのでプログラムを書くこともできない。会議に参加することもできないだろう。
家で手伝いを頼まれることもないし、いろんな誘惑に駆られることもない。
これらによって”重要で急ぎ”の作業や、”どうでもいいけど急ぎ”の作業から解放されることになる。

■ 早朝の高い集中力
これは人によって異なるかもしれないが、早朝は脳を使って作業することに適しているらしい。
ブログを書いたり、製品のマーケティングについて考えたり、新しい知識を身につけるため勉強したりなど。
この時間は”重要だけど急ぎでない”作業に向いている時間帯なのかもしれない。
(エンジニアにとっては難しい設計を考えるのにも適している)

■ 限られた時間
朝の時間は出社までの限られた時間しかない。
その短時間の中で作業を行わなければならないため、対象となる作業を1つに絞る必要がある。これによってさらに集中力が増し、作業効率も向上する。

■ やってはいけないこと
“重要だけど急ぎでない”作業を片付けたいと思っているのならば、仕事用のPCや資料を持ち込まないほうがいい。仕事熱心な人程、”重要で急ぎ”な作業を片付けるハメになってしまうから。

朝の1時間には、まだまだ良いことがあるに違いない。30分早く目を覚まし、30分テレビを見る時間を削れば有意義な1時間が生まれる。1度挑戦してみてはいかが?

2011年 12月 14日 プロフェッショナルとは何か

私は毎週3つのTV番組を欠かさず見ています。

一つ目は「がっちりマンデー」儲かっている会社の工夫や苦労を知ることができます。がっちり!
二つ目は「THE 世界遺産」この番組を見るたびに、地球の大きさ、自分の小ささを感じます。。。世界ってスゴイ。地球ってスゴイ。
そして三つ目にくるのが「プロフェッショナル 仕事の流儀」です。

自分もプロフェッショナルと言えるようになりたい。この番組を見てそう思います。

この番組に出るプロフェッショナル達をみていると、いろいろと考えさせられます。

・世界にはとんでもないほど努力している人がいる。それに比べて自分だどうだろうか?
・自分はどれだけの覚悟を持って仕事に取り組んでいるだろうか。

この番組の最後に、それぞれのプロフェッショナルに
「プロフェッショナルとは何か?」
という質問がなされます。

それを見て、私も自分なりに考えてみるのですが、そんな考える機会を与えてくれるこの番組は一番のオススメです。

2011年 11月 28日 パレートの法則

「パレートの法則」とは、Wikipediaによると

経済において、全体の数値の大部分は、全体を構成するうちの一部の要素が生み出しているという説。

これは、経験則として様々なことに当てはめられています。

自分の経験的には、システム開発に当てはめると、
■全工程の最初の20%でシステムの80%は決まる。
といったところでしょうか。

言い換えると、
■システム設計は重要!
ってことです。

プロジェクトの規模が大きくなればなるほど、業務が細分化されていきます。
職種の例

システム開発では、設計を最初に行い、そこでシステムの大部分は決まります。
システム設計は、一言でいうと「顧客の要求を仕様にまとめる」という作業になりますが、
それなりの経験とスキルが必要になってきます。

顧客の要求通りに作っても失敗してしまうことも・・・。
実際にモノが出来てから、顧客から、
「こんなもの頼んでいない、こんなはずじゃなかった。」
といわれ、その改修でバグまみれになり、プロジェクトは失敗・・・、ということもあるようです。

失敗のリスクを軽減させる開発手法としてアジャイル開発もありますが、
やはり、顧客の要求から、本当に実現したいことを提案し、仕様をまとめるスキルは必要になります。

ロゴスウェアでは、プロジェクトの規模も小さめで、開発者は設計からコーディングまで行うことが一般的になっていますので、設計のスキルを高めるにはちょうどいいと思います。
あらかじめ作られた仕様書通りに作るのに満足できくなった方、ロゴスウェアで働いてみませんか?

キャリア採用のページへ

他にも、
■コーディングの80%が終わっても、残りの20%のデバッグがすごく大変。
のようなイメージがあります。

Tags:

2011年 11月 24日 「働きがい」とは何だろう?

「働きがいのある会社」は、Great Place To Work(R) Institute Japanでは、

従業員が勤務する会社や経営者・管理者を信頼し、自分の仕事に誇りを持ち、
一緒に働いている人たちと連帯感が持てる場所

のように定義しています。

では、プログラマーにとっての「働きがい」とは何だろう?と考えた時に、
お金とか、残業がないとか、大きなシステムが作れるとか、ユーザーに喜ばれるとか、
最新の技術を使えるとか、人それぞれだと思います。

ただ、それは結果的に「働きがい」を感じることであって、
日々、どれだけその仕事に集中できる環境であるかということではないでしょうか?

上記のページで「働きがいのある会社モデル」は、以下のように分類されています。
■「信頼 Trust」(信用、尊敬、公正)
■「誇り Pride」
■「連帯感 Camaraderie」

残念ながら、現時点では、ロゴスウェアに完璧にこれら全てが高水準で揃っているとは言えません。
そのため、より良い環境を目指して、日々、切磋琢磨しています。

今よりもさらにロゴスウェアを「働きがいのある会社」に一緒にしてくれる方を募集しています。

採用情報
キャリア採用のページへ

Tags:

2011年 11月 16日 コードで「見やすい」と思うフォント

プログラマーにとって、プログラミングする際のコードのフォントは重要です。

一般的には、
0(ゼロ)とO(大文字のオー)、
I(大文字のアイ)とl(小文字のエル)と1(イチ)
の区別がつきやすいものが良いとされています。

個人的には、英字フォントではWindowsならConsolas、MacならMenloが、フォントサイズ10~12pt程度で一番見やすいと思います。

    ■英字フォント

  1. Consolas (Win), Menlo(Mac)
  2. Inconsolata
  3. Monaco
  4. Anonymous Pro
  5. DejaVu Sans Mono
    ■日本語フォント

  1. IPAゴシック
  2. VLゴシック
  3. M+ 1M

(有料のフォントは除く。)

エディタによっては、フォントの高さが日本語フォントとずれたりするので、組み合わせが難しい。
合成フォントなるものもネット上にはあります。

結局のところ、Windowsでは「Consolas」+「IPAゴシック」のフォントリンクに落ち着きました。
(ただ、NetBeansの場合には、Consolas+MeiryoUIで使っています。)

Tags:

2011年 11月 02日 Google Developer Day 2011

11/1(火)、Google Developer Day 2011に参加してきました。

Google Japan Developer Relations Blog

去年は有楽町の東京国際フォーラムでしたが、
今年は、みなとみらいのパシフィコ横浜で行われました。

Googleの最新のテクノロジーについて、知ることができる良い機会です。
「Android」「Chrome&amplHTML5」「クラウド」の3つのテクノロジーを中心としたセッションでした。

このイベントの目的は、Googleのテクノロジーに触れてもらって、Googleを利用したデベロッパーを増やすのはもちろんのこと、デベロッパー同士の交流や、Googleの採用活動にもなっているようです。

去年よりもセッション間の部屋移動はスムーズになり、WiFiもわりと繋がり快適になったと思います。
缶バッチ交換など、デベロッパー同士の交流が出来るように、色々工夫しているんだなと感心しました。

良い刺激になったので、この刺激を忘れないうちにどんどんと開発したいと思います。

2011年 10月 27日 Zend_LocaleとZend_Translate

今回は、PHPアプリケーションを英語化するために、Zend_Localeと Zend_Translateを利用してみます。
(ZendFramework 1.11.11を使用)

<?php
// 翻訳ファイルのキャッシュを有効にします。
// 今回は、ファイルにします。
$frontendOptions = array(
        'lifetime' => 3600,     // 秒
        'automatic_serialization' => true,
);
$backendOptions = array();
$cache = Zend_Cache::factory(
        'Core',
        'File',
        $frontendOptions,
        $backendOptions
);
Zend_Translate::setCache($cache);

// Localeを設定します。
// これによって、Zend_Dateで日付のフォーマットが変わります。
$locale = new Zend_Locale("en_US");
Zend_Registry::set('Zend_Locale', $locale);

// 翻訳ファイル
$langfile = "/your/path/en/language.xlf";
$adapter = new Zend_Translate(
        Zend_Translate::AN_XLIFF,   // 翻訳ファイルのフォーマット
        $langfile,               // 翻訳ファイル
        "en"                      // 言語
);

$adapter->setLocale($locale);

Zend_Registry::set('Zend_Translate', $adapter);
?>

XLIFF形式の翻訳ファイルの例は以下のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xliff PUBLIC "-//XLIFF//DTD XLIFF//EN" "http://www.oasis-open.org/committees/xliff/documents/xliff.dtd">
<xliff version="1.0">
    <file original="global" datatype="x-STR#"
        source-language="ja" target-language="en"
        product-name="xxxxxxx" product-version="1.0">
        <body>
            <group resname="Button">
                <trans-unit id="button1">
                    <source>保存</source>
                    <target>Save</target>
                </trans-unit>
            </group>
        </body>
    </file>
</xliff>

これで準備が整いました。

<?php
$adapter = Zend_Registory::get('Zend_Translate');
echo $adapter->_("保存"); 

?>

を実行すると、
Save
と表示されます。

また、

<?php
$date = new Zend_Date();
echo $date->toString(Zend_Date::DATE_MEDIUM);

?>

を実行すると、
Oct 27, 2011
のように英語圏での表記になります。
(Zend_Localeがja_JPの場合には、2011/10/27のように表示されます。)

Tags: ,

2011年 10月 25日 キャリア採用(2011年10月25日)

Webエンジニア・プログラマー

仕事内容

  • eラーニングシステム「Platon」等当社システム製品の開発
    PHPでのサーバサイドの開発に加え、HTMLやUIデザインなど、クライアントサイドの開発も行います。

要求事項

  • プログラミング:PHP、その他Webアプリケーション用サーバー向け言語

こんな方を求めます

  • 高い目標を持って、忍耐強く努力し、常に学習していく志を持った方
  • (必須スキル)
    ・PHP、Python、Ruby、Perl、Java等のWeb系言語のいずれかで開発経験
    ・LAMPでの開発経験
  • (あったらなお良いスキル)
    ・PHPのZendFrameworkやCakePHPなどのフレームワークを利用した開発経験。
    ・WebシステムやECサイトの開発経験(大小問わず)。
    ・スマートフォンサイトの開発経験。

勤務地

つくばオフィス(茨城県つくば市)

  • つくばエクスプレス線研究学園駅から徒歩5分
  • 車通勤可(無料駐車場完備)

採用時期

即時


その他

  • 転勤なし
  • 学歴不問
  • 服装自由

採用情報
キャリア採用のページへ

Tags: