国語力とプログラミング力の関係 解説編

国語力とプログラミング力の関係 解説編 → jibun.atmarkit.co.jp/ljibun01/rensai/genius/04/01.html

関連のブログエントリ → www.lowvism.com/wordpress/wp-trackback.php?p=407

ソフトウエアプログラミングで使用するプログラミングは、あくまでも言語であって、それ以外の何者でもない。だから必然的に、美しいソースを書いてスマートなコーディングを仕上げるスキルは言語力で決まる。今時のオブジェクト思考言語は、この言語力が大きなウエイトを占めており、コンピューターの中に仮想空間を作り上げるときに、オブジェクトをしっかりととらえておき、それを言語(ことば)でどのように整理するか、どのように組み立てるか、どのように解決するかで、コードの善し悪しは決まると思う。そして結果的には美しい言語であるほど後々の修正もやりやすくなるしバグも少なくなるといった具合。余談だけどrubyの開発をしたマツモト氏は、ソースそのものがドキュメントになると言っていたけど同じくそう思う。実際のところ、よいソースほどメンテナンスの必要はないので、後は仕様書などにdocすればいいだけになってくる。いかにして丁寧に記述するかが、やはり手間を少なくするかのこつかなと最近、やっとわかってきたところ。なので最近はかなり丁寧にソースを記述しているし、今まではあまりコメントをつけなかったんだけど、なるべくつけるようにしている。これはソースが1000行、2000行、大規模になると数万行になってくると歴然である。
ただし、組み込み系の、いわゆるミドルウエアと呼ばれる商売では言語力よりもアルゴリズムの設計の方でたけた人が、やっぱり優秀で優れたコードを書いているように散見される。ハードウエアベースの開発を行う場合は0と1の世界と、後はメモリアドレスの管理に集約されてくるので言語の見栄えにこだわっている場合じゃなく、数学的に完成されているかだけになってる。こっちの方は僕自身は正直得意ではないかもしれない。(やらざるを得ないことはいくらでもある)

残業時間に対してぼんやり思ったこと

VS2008の開発環境のアップデート最中で、今は何もできない状態なので、なんか書いてみる。(たいていブログは休憩時間に書いたり、昼休みに書いたりしてる)
この時期は年末以上に忙しくて、うちの職場でも猫も杓子も借りたいところ。4月から6月にかけて新商品をリリースすることで開発の人間はもう何が何だかわからない状態で仕事してる感じ。また一部の開発メンバはアメリカの某イベントに開発中の製品を出展するというので、今週は何かと大変な時期。幸いなことに、自分自身は今回の新商品リリースのプロジェクトには絡んでなくて次期製品へのバイパスを模索してるところで、ダイレクトには仕事が回ってこない。とはいえ来週の学会に向けてプレゼン資料を作成したり、その合間を縫って開発もしてるから、残業しないようにしようと思っていても、どうしてもそれをしなければならない状況が生じてる。学会で出張する代わりにアメリカ切符はなしよ、と言わんばかりに、ちゃんと発表してこいよという声が聞こえてきそうだ。(まあアメリカから帰国直後に島根という強硬手段はちょっとどんだけな感じだが)

このブログを職場の人も見ているのでやたらなことはかけないのだけど、そこで、社会人になってから思っていること。残業をキーワードに、ふと思ったこと。

残業することが仕事に一生懸命取り組んでいる姿勢ですと言わんばかりに、当然のように残業を毎日する人がいる。何となく周囲もこの人一生懸命なんだなという印象を与えることがあるのが不思議。そもそも残業って、通常の時間内に作業仕切れなかった場合に、やむを得ず就業時間を延長して働くこと。自分からすれば、残業するぐらいなら、昼をつぶしても、休憩時間をつぶしても、仕事するけれど、人によっては昼もしっかり取ります、休憩時間もしっかり取ります、でも残業します、という人がいる。残業してるから仕事に対して一生懸命です・・・。それはおかしいと思う。残業するぐらいの仕事能力だということを周りにひけらかしてるような印象を持ってしまう。残業しないでスマートに仕事を終わらせて帰るのがいい感じなのに。なお、管理職の場合は、残業手当が出ない代わりに、管理職手当でこれを補うことが行われる場合があると思うんだけど、だから管理職であれば、いくら仕事してもそれはマネージメントに必要な作業項数であるとして認められてるはずだし、そうじゃないとおかしい。

不景気ですもの。NECだって残業時間の無駄な増加を減少させるためにフレックスタイムを廃止したもん。

逆に残業しないでいつも早く帰宅してしまう人がいる。頼んでいた仕事をそのままにして、今日は都合が悪いのでと言って帰ってしまう人。こういう人はもう論外として、早く帰宅していても仕事をきちんと終わらせて、きちんと連絡して帰宅する人は、ほんとにすばらしいと思える。

どこかのデータでSE(プログラマ含む)は、残業するよりも、自宅で仕事の続きをすると回答したのが半分以上だったというような話があった。全く根拠も何もなくて申し訳ないのだけど(ネット検索すればわかるだろうけど、今はそんな時間がないので)、これはけっこう妥当なところのように思える。自分の場合も、いったん帰宅して風呂に入りながら、頭を整理してコードの実装の仕組みを改めて考え直すと、頭の中で整理できて、寝る前に少しコードを直して、うまくできるということがある。

というわけで、そろそろアップデートが終了した。以上は雑多なメモ。

大学院に行くならキャリアビジョンの準備を

大学院に行くならキャリアビジョンの準備を
http://jibun.atmarkit.co.jp/lemb01/rensai/kktj22/kktj01.html

社会人で現在企業で働いている人が、これから大学院へ進学する場合について触れた記事。一つ事例を紹介しつつ、社会人で大学院へ進学して、その後のキャリアプランを計画するときのアドバイスを掲載してる。先に激しく共感したところだけ引用する。

>  キャリアカウンセリングを受けて思い出したのは、「スペシャリ
> ストになりたい」「1番になりたい」という当初の強い考えでした
> 。大学院で学び直したのは、どこかで「周囲に負けたくない」とい
> う気持ちがあったからこそ。加藤さんは「音声認識のキャリアを極
> めるべきだ」と気付きました。

記事の全体を読めば「1番に」の文脈の意図はわかるんだけど、これは現在、同じく?社会人で大学院生をしてる自分でも同じ志望動機があったことは確か。すでに働いてるのに、なぜ今からまた勉強するの?と聞かれたら、やはり学生時代からやっていたことの研究を極めたいからと答えるケースと、今仕事でやってることを研究として確立させて大成したいということがある。ただ自分の場合は、大学院(マスター)を終了してから、すぐに研究機関に配属となって、この流れに身を任せていたら、次の配属先が決まって、というように、悪く言えば芋づる式に、「研究」というキーワードにそれなりの(国内では有名な)ところで働かせてもらうことができた。そして僕のケースはまれで、きっと運がいい方なんだということはわかってる。

で、僕の場合、その仕事をしているなかで博士の学位をとって、やってることを研究として究めたいと思うようになった。補足しておくと学部生の頃から研究の道に進みたいとは思っていたけれど、マスターコースで研究しているうちに研究の厳しさや博士の学位をとってメリットが何があるのかという疑問を持つようになっていた。疑問の中で徐々に博士の学位というライセンスにこだわりだけが残り、何を研究したいのかがわからなくなっていた。また、自分の場合はマスターまでにやっていた研究と、マスター終了後から現在までの研究とは相反して異なる分野で携わっている。専門分野を表す一つのキーワードとして「心理学」は神髄として布石してはいるけれど、中身は全く異なってる。そこで、マスターを終了後に取り組み始めたことが現在も研究テーマとなってる。このテーマが僕を取り巻く社会の社会問題となっていて、それを解決していかなければある意味、自分も含めて将来取り残されてしまうんだということも理解しているし、問題を強く感じてる。

話が遠回りしたけど、そのために改めて自分がドクターの学位を取っておかないといけないと思ったし、もともとそういったことが好きということもあって現在企業に身を置きつつ大学院生であり、ドクター論文の執筆を始めているところである。

次に以下の部分を引用。

>  現在、加藤さんは新しい会社で音声認識のエンジニアとして働い
> ています。ただ、加藤さんは「自分は運が良かった」と語ります。
>
>  大学院に行った後のことを考えない状態で入学が決まってしまい
> 、その後は研究のことで手いっぱい。そのまま息つく間もなく転職
> 活動へと移行したため、キャリアの方向性がぶれてしまったのが加
> 藤さんの「悩み」の原因でした。悩みの根本に気付き、結果として
> 研究を生かせる仕事に就くことができましたが、もしこのポジショ
> ンに就いていなかったら、「スペシャリストになりたい」という当
> 初の望みは満たされず、悶々(もんもん)としていたかもしれません。

キャリアプランとの関連を述べるとすれば、大学院を修了したはいいけど研究したことが全く仕事に反映できない状態、反映されない状態は酷だと思う。幸い、僕の場合も今の仕事とドクターの研究が密接に結びついてるからいいけど、そうじゃないとしたら、記事の内容とはちょっと違うけど仕事をしながら学生もします、というのは精神的につらいはず。ってか身が持たないでいずれどこかで飛び降りて死んでしまうぐらい(自分であれば)大変だろうなあと。

とはいってもこのご時世。企業において研究をすることは立場的にけっこう大変なところがある。僕も職場で研究することを業務にすることが公に認められているとはいえ会社の利益を無視しても好きなことをずっとやってればいいということではなくて、研究というある意味非生産的な作業と、開発という生産的な作業のバランス感覚を持ち、これを意識しながら調和を図っていく必要がある。これは民間企業である以上、どの研究者も認識していると思う。特に「研究・開発」という「・」で分けられた業務に従事する人であればよくわかってもらえると思う。それでも大学でする研究よりも民間企業に身を置きつつ研究をする方が社会に直接還元できてるんだと思えることが多いし、ちょっとあぶなっかしいところで足踏みしながら研究する楽しさもあるのは、それはそれで楽しい。余談だけどMicrosoftの研究部門のリーダー(誰か忘れた)が「不景気だからこそ研究の価値を認めるべきだ」というような話をした、ということが最近のニュースであったけど、それも一つの考え方としては研究者からみれば正しいと思われる。

キャリアプランからすれば、何らかのドクターの学位を取りました、ということで給与が上がるとか特別給が与えられるなんていうことは普通ない。職場内で、あいつはドクターの学位を取ったんだ、すごいよね、ぐらいのことは少しはあるのかもしれないけれど、別にそのときだけのことだし。ただし、あいつは此れ此れに関しては極めてるよな、というある学問(分野)に対するイニシアチブを確保できるようになり、関連プロジェクトを推進する場合には助言が与えられるようになる。また職場外からの社会的な地位が認められ、その後もきちんと研究発表していけばだけど、新たなキャリアプランを創出できるかもしれないと思う。

だから大学院に進学したい、いっちゃおう!だと、後々きっと失敗することになる。特にこの時勢では、職場で「大学院に行きたいんですけど・・・」と言うものなら、ちょっとした企業であれば「ああ行っておいで」と言ってくれるかもしれないけど終了してみたら職場にデスクがなかったなんてことは冗談ではなくて、本当にありそうなこととして考えられる。これは今学生の人たちも同様で、企業で研究に従事している立場から言わせてもらうと、今大学院に進学してもほとんどメリットがないと思うので、働いて金を稼ぎたいのなら、とりあえず就活しとけとアドバイスするだろうなと。それぐらい企業の内面は冷え込んでいるし、たぶん国内に関しては今から2年ぐらいはこんな状態かと。まあ3年後まで我慢すればと思ってみる。そして、就職できなかったから大学院へ進学しますだと、将来的に泥沼に落ちることは容易に予想できてしまう。

ということで、それでもドクターの学位を取りたいのか、と自分に問いかけてみる。