2011年2月26日土曜日

プログラマ(ITエンジニア)の勉強方法

プログラマは継続的な勉強が必要です。
もちろんプログラマに限らず、どの知的職(ホワイトカラー職)は同じことが言えるでしょう。
しかし、ここではあえてプログラマに焦点を絞ります。
プログラマはどのような勉強をすべきなのでしょうか。

例えば、私のようにソフトウェアの実装・設計・仕様策定を主な業務としているような人は自宅でも何かしらのアプリを作成するべきだと思います。アプリをスクラッチから設計・作成・リリースすることで、技術、管理、マーケティングの力がバランス良く身につきます。
 特にマーケティングやマネタイズ等は、プログラマが業務で関わる割合は低いのが一般的なので、自己で学んでいくべきです。

世の中には色々なタイプの人がいて、資格の勉強をする人、ただ単にサンプルプログラムを書いて勉強する人、何もしない人がいます。

何もしない人はそもそもプログラマという仕事に向いてないと思います。というよりはホワイトカラーに向いてない。

資格の勉強をする人は、真面目で定型的なサラリーマンという人が多い気がします。彼らを観察していると、基本的に彼らは仕事ができないというわけでもなく、特別有能というわけでもありません。常になにかしらの不満を抱えていて、他の会社への転職を考えています。だから勉強はそれなりにする。でも、転職しても、給料があがっても、不満は解消されなくて、常に不満たらたらな人達です。
ようは、自分に合ってない仕事に就いているけど、そこそこ仕事がこなせてしまうので、なんとなく続けてる。器用貧乏と言えるかもしれません。自分の能力、仕事、やりたいことの結合度が低いのです。

サンプルプログラムを書いて勉強する人は、仕事が好きなひとに多いです。仕事が出来る人が多いですが、できない人もいる。
一番扱いに困るのがこういったタイプで仕事の出来ない人です。利益を出すのがビジネスという意識が低く、アウトプットとインプットのバランスがめちゃくちゃなのです。
「無能な働き者は銃殺せよ」
という言葉がありますが、まさしくその通りです。
基本的に対処方法は無く、私の場合は、同じチームにならないようにただただ祈るだけです。

プログラマの勉強で大切なのは、自分がどういったキャリアを積んでいきたいかだと思います。
 私が何も勉強しない人が問題外だと思うのは、自分のキャリアを会社の業務内容に完全に委ねてしまうからです。
 これはあまりに危険です。今の日本の会社の仕組みでは、余程運がよくない限り社畜という生き物に変身するだけです。
どういうキャリアを歩みたいかが、勉強する内容を決めるというのは、考えてみれば当たり前のことですね。イチローになりたいのに、松井秀喜になる練習を重ねても効果は薄いでしょう。根底の基礎となる部分は同じでも、積み上げていく強みの部分は自分で意識していく必要があります。

結論は、一番重要な勉強は、自分を知る勉強ってことですね。
全然答えになってません。私も、日々悩んでいるのですw。
凡人はつらいです。「苦悩とは飛躍なんです」なんてイチローみたいにかっこよく言ってみたいです。

でわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年2月24日木曜日

当たり前度をあげていくということ

業務や技術のレベルがあがるほどに、基礎技術・基礎知識の重要さを感じている今日このごろです。この傾向は、今後の社会でさらに顕著になっていくでしょう。
なので、常に能力をあげていく必要があります。
向上させていきたい能力は沢山あります。しかし、全ての能力をあげることなど不可能です。
今後身につけたい能力は山ほどあるのが実情です。

そこで、今後は当たり前に出来ることを少しづつ増やしていこうと思っています。
つまり基礎の習得と積み上げ。あとは反復です。

もちろん今年力を入れている
android、iphone、google app Engine等の勉強は引き続き行っています。

しかし、そのほかに最近は基礎を積みあげる時間を多めに取るようにしました。
今は3D数学、英語、中国語の基礎を積み上げています。
取り組み方としては、ひたすら同じ参考書を反復・暗記(計算)しています。体に覚えこませるまで反復しようと思っています。
体力を維持するトレーニングもかなり基礎的な動作から毎日トレーニングを行っています。

当たり前度を高くしておかないと、今後色々と世の中に振り回されるようになる。
そんな気がしているこの頃であります。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年2月19日土曜日

Android Tips Activityの挙動

Activity, GroupActivity, SeacrhBarを複合させたアプリ作成時に、挙動で色々とはまったので今後のためにメモ。
はまった時に基本に立ち返るのはやっぱ重要ですね。もっと基礎を固めないと…

osは現在メインで開発している2.1、エミュレータは2.3で確認

1、まずは基本。

1.1、画面表示までに呼び出しが行われるメソッドの流れ

onCreate

onStart

onResume

画面表示

1.2、onNewIntent()メソッドの使い方。

search barで使用するときにちょっと挙動にとまどいました。
このメソッドは一度目のActivityの起動では呼び出されません。二度目以降に呼び出されます。

つまり、


上記のような遷移の場合、画面Aから画面Bに遷移する時には、onNewIntent()は呼ばれません。それがたとえ、

Intent intent = new Intent(this, 画面B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);


のように画面Aのコード内でFLAG_ACTIVITY_SINGLE_TOPを指定してもです。
onNewIntent()が呼ばれるのは、画面Bから画面Bにアクションを行う場合のみです。
この時、FLAG_ACTIVITY_SINGLE_TOPを指定します。

public void onClickButton(View view) {
Intent intent = new Intent(this, 画面B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
}

この時画面BのActivityで呼び出されるメソッドは
onNewIntent

onResume
の順序となります。

覚えておいて欲しいことは、stackには遷移前の画面Bは積まれないということです。
デバイスの戻るを押した場合には、画面Aに戻ります。
ちなみに、コード内でIntent.FLAG_ACTIVITY_SINGLE_TOPを指定しなくても、android:launchMode="singleTop" をAndroidManifest.xmlに指定すれば同じことです。
むしろ、こちらのほうが可読性が良いのでオススメします。

1.3、Intent.FLAG_ACTIVITY_CLEAR_TOPを使ったActivityの挙動を理解する

activityはstackの形式で蓄積されます。例えば、以下のような画面遷移があるとします。

上記のような画面遷移を行うと、stackにはA, B, C, D, Bの順でactivityが積みあげられます。なので、画面Bでデバイスの戻るを押すと、

D→C→B→A

の順番で画面が戻っていきます。
しかし、このデフォルトのactivityの仕様だと非常に困るときがあります。
 例えば、画面Bが通常画面、画面Cがユーザデータの入力画面、画面Dがユーザ入力項目の確認画面と仮定しましょう。
画面Dでボタン押下後にデータベースに登録して画面Bに戻る処理を行います。この時、画面Bに戻った後にデバイスの戻るを押されると、画面Dに戻ってしまいます。そこでユーザが登録ボタンを再び押せば、二重登録処理となってしまいます。バリデーションが実装されていてもこれは問題でしょう。このケースの場合、画面Dから画面Bに遷移する場合は、画面Cと画面Dのactivityはstackから消えていなければいけません。

こういった場合に使うのが、Intent.FLAG_ACTIVITY_CLEAR_TOPです。この例の場合だと、画面Dから画面Bに遷移する場合に以下のようにコードを記述する

public void onClickButton(View view) {
Intent intent = new Intent(this, 画面B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}

こうすることで、画面Bに遷移したときstackの中身はA, Bになります。CとDがstackから削除されます。これなら、デバイスの戻るを押されても、画面Aに戻るだけです。

色々な使い道があるので、googleのマニュアルにも目を通しておくといいでしょう
http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

疲れたので、今回はとりあえずこんな所です。
でわ

android開発オススメ書籍

Effective Javaのような本だと思って購入する面食らうと思います。 この本はTIPS集です。複数のandroid案件を抱えているなら、側に置いておくと役に立つと思います。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年2月14日月曜日

Android,iphone スマートフォンのビジネスモデル

Androidとiphoneの普及により、日本でもスマートフォンの普及が広がっています。
そして、ユーザ数の増加に比例して、スマートフォンをプラットフォームに据えたビジネスに取り組む企業や人が増えてきています。

しかし、気になることもあります。
その殆どが「日本のみをターゲット」にしたビジネスモデルなのです。
そして安定して利益を出している仕組みは、ほとんどが「月額課金」のモデルです。
ソーシャルゲーム、携帯アプリ。最近ではブログで有名になった人のメルマガの発行が目立ちます。

月額課金の強みは、デッドユーザが存在することです。つまり、すでにサービスを利用していないのにお金を払い続けている人が一定以上存在することです。

私は別にこのビジネスモデルを批判する気はありません。新聞購読、NHK料金、携帯料金、全て同じ仕組みです。貨幣社会の現在では、お金が継続的に流れる仕組みは絶対に必要です。お金の流れが止まれば、社会が停滞してしまいます。
私が気になるのは前者。つまり、「日本のみをターゲット」にしたビジネスモデルです。

不況とはいえ、日本にはまだまだ大量のお金が溢れています。
一億人を超える日本語のみのマーケットは十分に大きく、海外でのビジネス展開は考えにくいのが現状です。
ですが、これは小さなパイの潰しあいで、これ以上の市場の成長が見込めません。
日本のIT技術者の待遇が悪いのは、日本の労働システムの問題もありますが、生産性の悪さと、市場が広がらないことにも原因があると思います。
車産業と同じように、ITビジネスも海外を見据えたビジネスに転換していくべきですし、スマートフォンの普及はちょうどいい機会だと思います。
とはいえ、現在の日本のIT企業に海外展開を望むのは無茶でしょう。特に大手ではまず不可能。かといって、メディアも保守的で期待できません。アルファブロガー達も完全に日本市場メインです。
やはり海外市場への進出は、技術力の高い個人やベンチャーが少しずつ市場を切り開いていくしかないと思います。

今後私は、海外展開を含めたビジネスモデルもいくつか試していきたいと考えています。
今はクラウド化が進み、ほぼ無料で、サラリーマンをやりながら誰でもビジネスを展開できる世の中です。
それなりの技術レベルがあれば、いつでも開始できるでしょう。
我々技術者は、もうちょっと貪欲に海外にちょっかいをだしていくべきだと考えています。

そんな感じの現状報告でした。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2011年2月11日金曜日

Android市場の拡大 スマートフォンビジネスモデルの考察

Androidの市場が拡大してきました。
来年くらいには、Androidでも利益を見込めるようなビジネスもちょこちょことでてくるのではないでしょうか。

私も技術の勉強と平行して、マーケティングの本を読み始めました。
こういったマーケティングみたいな勉強はあまり好きではないのですが、会社の一構成員としてはそうもいってられません。
マーケットを海外に全部取られて、中国とかに出稼ぎにいくようになるのはさすがに嫌なので。

個人アプリは趣味なので、たいして利益が出なくても構わないのですけどね。(新しい個人アプリに取りかかりましたよ~)

というわけで、これからは技術の情報だけでなくWEBのビジネスについても扱っていきたいと思います。
主に、スマートフォンやSNS関連になると思います。

新たなビジネスモデルの実験も色々と行っていきたいと思います。

というわけで今回は
iphone版産経新聞アプリの情報です。

http://www.sankei-digital.co.jp/advertising/pdf/iphone_userdate/110203.pdf

ユーザの平均年収が高いですね。
個人的には、ソーシャルゲームみたいな搾取システムより、こっちのほうが好みです。
ソーシャルゲームほどは稼げませんが、ビジネスアプリは安定しているのが特徴です。
スマートフォンアプリの開発者・開発を考えている人は、是非目を通してみてください。

でわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加
Related Posts Plugin for WordPress, Blogger...