プログラミング時に起こる奇跡

プログラミングを始めてもう何年も経ちますが、ごく稀に奇跡が起こることがあります。

人間、一日に本当に集中して作業できる時間というのは限られていると思います。
私の場合は、一日2時間ぐらいでしょうか。

もちろん、一日に2時間しか働かなかったら食べていけませんので、規定の就業時間以上は毎日働いているのですが、2時間以外の時間は結構だらけてしまいます。

コードを数行書いたら休憩…
インターネットで調べごとをしていたらついついヤフーへ行ってしまう…

こんな感じで、仕事の効率は低下します。

納期が迫ってって追い込まれていたらこの限りではありませんが、そうでない場合はどうしてもだらけてしまいます。

先日、スケジュールに余裕があり、自分の作業も結構前倒し気味だったので、「あー、早く帰りたいなー」なんて思いながらデスクトップ右下の時計をチラチラチラ見ながら…

心ここにあらずといった状態でプログラムを書いて、、
何とか書き終わり…

そしてコンパイルしてそのプログラムを動かそうとしたわけですが、まあ動かないだろう、と高を括っていました。
しかしそのプログラムが見事に動き、奇跡的な流れで、不具合を全て回避して、文句のつけようのないプログラムが出来上がってしまいました。

自分で考えて作るプログラムより良いものが偶然できてしまう…
まさに小さな奇跡です。

Java認定資格について

Java認定資格(SJC-P)を受けてみようかなと思ってます。

というのも、会社の夏休みが近づいるわけですが、今年は遠出をする予定もないので、資格試験の勉強でもしようかと。
ベンダー資格はオラクルとかMCPとか持ってるのですが、そこで勉強したことは何だかんだで結構役にたつんですよね。

SJC-Pの受験料が25,200円というのは結構痛いところではあるのですが、勉強するならやはり何か目標がないと気が進まずダラダラしてしまいそうなので、投資という意味で。

そう考えると25,200円がそれほど高くないと思えたりするのが自分でも不思議です。

Java認定資格(SJC-P)については下記のサイトに詳しく書いてありました。
Java認定資格【SJC-P】 対策最前線!


今年の夏休みは長く取れそうなので、なるべく無駄にしないように過ごしたいです。

100年に一度の大不況と言われる中で

100年に一度の大不況と言われている世の中ですが、私が勤めている会社ではそんな中で退職していく人が結構います。
しかもリーダ級の人たちがほとんどで、会社は大丈夫なのかと若手で集まって話していたりします。

やめていった理由は人によっていろいろあると思いますが、その中で大きな要因となっているのはおそらく給料でしょう。
まずここ1年、ボーナスが出ていません。
さらに4月から給料が下がったそうです。

その待遇の悪さに見切りをつけてやめていったのだろうというのが若手の推測です。

もちろん、若手社員にもボーナスも出てないですし、給料も前年度から上がることはありませんでした。
というよりこれ以上給料が下がったらとてもやっていけません。
特に県外から来ている人はいろいろお金がかかるらしく「金がない」とよく嘆いています。

今年の1年目は、入社して数ヶ月間、研修センターなどと呼ばれるところに研修に行っていたそうです。
そこまでの話なら普通なのですが、その研修費用を彼らの給料から天引きしていたそうで、何だそれと言った感じです。

こういう不景気になると会社の実態というものがよく見えてきます。

インターネットで販売促進 ― その成功と失敗の考察

インターネットが強力な販促ツールとなっている昨今ですが、自社商品の販促にその威力を十分に活用できている場合とそうでない場合の違いを私なりに探求しようと思います。
(前回の記事の続きです。

まず何の商品を売ろうとしているのか、それをはっきりさせる必要があるでしょう。
自社商品を売ろうとしている場合、それがどんな商品なのか明確になっているはずです。
その商品の特徴が書かれている部分をサイトを一目見ただけで、閲覧者が気づくことができるかがポイントだと思います。

閲覧者をファーストインプレッションで引き付けることができれば、その後は好奇心に溢れた状態でサイトを閲覧してくれるので、成約率も格段に上がるのではないでしょうか。

と、ここまでは、皆わかっていると思います。
私が派遣で働いている会社の自社製品を紹介したサイトも、そうなっています。
しかし売り上げが上がらない。

それは当然です。
なぜならアクセス数があまり集まっていないからです。

サイトへのアクセスが少なければ、例え閲覧者を引きつける力を持った良質なサイトであったとしても商品が売れるわけはありません。

そのアクセスの集め方によって、販促ツールとなるかならないかが決まると言って良いでしょう。

ではアクセスの集め方にはいったいどんな方法があるのか。
インターネットへの入り口は、ものすごく巨大ではあるけれど、門の数は以外に少ないと思います。

その少ない門の中でひとつ飛び抜けた大きさで建造されている門があります。
それが検索エンジンです。

ということはつまり「検索エンジン」という巨大な門の入り口付近に店を構えないと、当然その店にお客さんは訪れてくれません。

「門の入り口付近の土地を手に入れる」という意味は、検索エンジンで何らかのキーワードで検索をかけた場合、自社商品サイトが上位に表示されるということを比喩しています。

このことをSEO対策などと呼ばれていますが、この対策の成否が最大のポイントだと思います。
Webサイト制作会社は、サイトを作ってくれますが、SEO対策まではやってくれないようです。
やってくれたとしてもそれは別料金となり、その料金が驚くほど高いです。


長くなってしまいましたが、
結局、このSEO対策にお金をかけることが出来るか出来ないかが全てだと言うことが言いたいです。

派遣先の上長にこの話をしたのですが、「高い」とか「怪しい」とかでSEO対策にお金をかけることはありませんでした。
私もそんな疑念を抱いており、それほどプッシュしなかったのですが、、
やってみなければわからないところだと思います。

インターネットで販売促進

インターネットを商品の販売促進ツールとして使用する企業が今もなお増えています。
もちろんそんな動きはすでにずっと前からあり、今さら、といったところなのですが、今私が働いている派遣先でもインターネットを使った自社製品の販売促進にものすごく力を入れて取り組んでいるのを見て、このテーマで記事を書きたくなりました。

インターネットは24時間365日年中無休で営業してくれる営業マンだ。
と、よく言われますが、まさにそのとおりだと思います。
朝来てメールを確認したら勝手に売上が上がっているわけですから。

このしくみを売り手としては利用しない手はありません。

ということで、高いお金をかけて製品のサイトの作成をWebサイト制作会社に依頼するわけですが、
これだけではダメなんですよね。

今私が働いている企業もすごく見栄えの良いサイトをWebサイト制作会社に作ってもらったわけですが、売上があまり上がってないようです。

しかしその一方で、インターネットを使って莫大な利益を上げている企業もあるわけです。

インターネットという販売促進ツールは、使いこなせている企業と使いこなせていない企業の2極化が進んでいるように思えます。

では両者の違いは何なのか?
それについて私なりの見解を次の記事に書いてみようと思います。


これからのプログラマはただプログラムを書いていれば良いのではなくこういったビジネス的思考も養わなければならない、そんなことを思う毎日です。

VB.Netのオブジェクト指向

VB.NetでVB6プログラマがコードを書いたら、ものすごく巨大なクラスが出来上がります。
そのクラスの中に各コントロールのイベント、データを処理するメソッド、変数など全てが詰め込まれています。
これをVB6風のソースコードと表現しても間違いではないでしょう。
(前回の記事の続きです。

VB.Netオブジェクト指向言語ですが、オブジェクト指向の考え方を取り入れなくてもプログラムは完成してしまう、少し奇怪な言語だと最近思うようになってきました。

同じオブジェクト指向であるJava言語で書いた場合、絶対あんなVB6風のソースコードにはならないはずなのに、なぜVB.Netではなるのか?

VB.NetJavaオブジェクト指向における違いは何なのか?

ふとそんな疑問が浮かんできました。

ということで、その疑問について少し考えてみて、その答えはIDEの違いによるものではないかという推測に行きつきました。

VB.Netだったら「Visual Studio
Javaだったら「Eclipse

Eclipseは完全なオブジェクト指向言語の開発環境だと思います。
しかしVisual Studioオブジェクト指向言語向けの開発環境とは言えないのではないかと。
プログラム初心者の場合は特に、動けば良いという考えが絶対にあると思うので、必然的にVB6風のコードになり、オブジェクト指向を取り入れようとはなかなか思わない気がするんです。


もちろん言語仕様からそのような開発環境になっているのかもしれませんし、まったく別の理由からかもしれませんから、IDEがどうのこうの言えませんし、VB.Netに対しても同じです。

この疑問の探求については、こんなことを考えるのはまだ私には早すぎだ、という結論で終えておきます。

VB6プログラマとVB.Netプログラマの相違点

プログラミングの一番の勉強方法は、他人が書いたソースコードをたくさん見ることだと思います。

これは半年以上前の話になります。
新規システムの開発をVB.Netで行うことになり、私もそのプロジェクトのメンバーに入れてもらいました。

そのメンバー内にはVB6またはVB.Netの経験豊富な先輩方が何人かおり、スケジュールに遅れることなく、かなりスムーズに開発は進んでいきました。
そのような感じでコーディング作業に入っていくわけですが、ここでVB6プログラマが書くコードとVB.Netプログラマが書くコードに決定的な違いがあることに気が付きました。

VB.Netオブジェクト指向言語でありますが、VB6はそうではありません。
VB6にもクラスなどのオブジェクト指向的な概念がありましたが、完全なオブジェクト指向とは言えないからです。

なので、VB6プログラマが書いたコードは基本的にオブジェクト指向を取り入れたコードにはなりません。
クラスという概念は使わず、標準モジュールを多用したコードになります。

しかし、VB.Netプログラマオブジェクト指向を取り入れますので、クラス分けをこと細かく行います。

これら2つのタイプで書かれたソースコードを見比べると、もはや同じ言語で書かれたソースコードとは到底思えませんでした。

コーディングの担当分けを画面ごとに行っていたので、それらのシステムを結合しても動くことは動くのですが……。


この辺、きっと詳細設計をちゃんとやってないからこんなことになるんでしょう。
でも小さなソフト会社は、予算の関係から、設計書をそれほど丁寧に作らない傾向にあると思います。
設計書を細かく作っていたら、ものすごく工数が増えて、システムの金額も高くなってしまいますから。

ソフト開発には色々な事情が絡んでくるんだなと、日々思います。