読者です 読者をやめる 読者になる 読者になる

ソフトウェアエンジニアのブログ

暇つぶしに書いてます。他に技術的なことは[http://qiita.com/nsas454]に書いてますのでそちらも見てください。

Pythonを深く知るために!

Pythonを深く知るために良い本のご紹介

最近の流行りでpythonを始めた方も多いと思いますが、次のステップに進むためにぜひ読んでほしい本をご紹介します 効率的なコードの書き方からクラスの使い方、さらには変数などの名前の付け方まで、、

知らないと恥ずかしいことまでしっかりと書かれています。

たくさんpythonの本は出ていますが、この本は初心者を脱出するために必要な知識がみにつくとても良い本です。

pythonエンジニアなら是非一度は目を通しておいて損はないです。

一家に一冊どうでしょうか?

エキスパートPythonプログラミング

エキスパートPythonプログラミング

ITコンサルタントについて思うこと

今日はITコンサルタントについて思うことをプログラマの観点から書いてみようと思います。ちなみに私も以前はそのような仕事をしていましたが、今はプログラムを書く方に専念しています。

 

ITコンサルタントといえばシステム開発をするときに主に上流と言われる工程を設計する人のことを言います。憧れる方も多い職種だと思います。ただ、現在は主にレガシーな基幹システム開発にだけ存在する奇特な生き物です。

また、上流工程のほうが金額の単価が高いのが現状です。

 

ITコンサルタントが入ったプロジェクトはシステム開発が上手くいくのかとおもいきや、私の経験では、コンサルタントが入るとまず上手くいくことはまずないです。

 

そればかりか、プログラマの負担ばかりが増えてまともに仕事になりません。

その原因はITコンサルタントと言われる人はプログラムが書けない人がほとんどだからだと思ってます。

 

私のいままでに会ったITコンサルタントですが、現場でプログラム書いている人は今まで会ったことがありません。どちらかというと、エクセルやワードをメインに仕事をします。現場のことをよく知ってるのかとおもいきや、以外にユーザ企業での勤務経験もないので上辺だけの知識です。なにがうまいのかというと、お客さんのゴキゲンをとるのが上手なぐらいではないでしょうか?

 

そんな人間がいてシステム開発がうまくいくわけが無いのです。

アプリケーションを作るのが仕事のはずなのに、ドキュメントばかりつくらせて、肝心のプログラムが全く書けないようになるんです。

で、最後は予定位通り納期が遅れる。。。

さらに、ひどいコンサルでしたら、上流のおいしいとこだけやってお金もらって、さようなら。。。

 

ひどい現状です。

こんな状況をつくりだしたのは、ウォーターフォール型の開発に固執するからだと思います。こんな古臭いやりかたやめればいいんです。

そのやりかたをやりぬくために、ドキュメントをしっかり作りましょうとか、イラン仕事が増えるんです。で、ドキュメントづくりで金額が高くなるんですが、下流工程のプログラマはほとんどがその費用を請求できず、見積でいれていたら涼しい顔してそこを値引きされて。。。

ろくなことありません。

 

だいたいドキュメント作らせる理由としてメンテナンスが出来ないからとかですが、優秀なプログラマだったらコードみれば分かります!!

なんで、わざわざ絵にして説明する必要があるのかはなはだ疑問です。

プログラム書いたこと無いので「こんなんすぐ出来るでしょ!」

みたいな発言聞いたらキレそうになります。

 

そういうのが面倒くさいんで私達は基幹システムは手をだしません。

優秀なプログラマは基本そのてのシステム開発には加わらないのが現状だと思います。

基幹システムやってるプログラマいたらさっさとやめてベンチャーやユーザ企業で働いたほうがハッピーな人生おくれますよ!

 

 

 

 

 

JavaScriptで動くscheme処理系

scheme処理系をJavaScriptで実装しました。
SICPを参考に作ったのでいまのところ同じ機能しか入っていません。

基本的な構文には対応していますが、マクロ、継続、クロージャーにはまだ完全に
対応していません。

今後の予定
XHRの実装とJavaScriptの関数がSchemeから触れるように改良していきたいと思います。
最終的にはSchemeAjaxアプリケーションが作れるレベルまで仕上げる予定です。
随時更新していきます。

以下のサイトでソースを公開してます。

https://bitbucket.org/yukimoto/scheme.js

postgresqlをバックグランドで起動させるコマンドの覚書

postgresqlをインストールしたのでコマンドをメモしておきます。


DBを手動でバッググラウンドで動かす

$ pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

バッググラウンドで動かしているDBを手動で止める

$ pg_ctl -D /usr/local/var/postgres stop -s -m fast

MAC標準のJavaScriptの処理系

Mac javascript

JavaScriptのコード書くときにFirefoxのfirebagでちょこほこコードを書いていたのですけど、実行を確認するのに何かいい処理系がないかなって探した結果、V8やRhinoを使ってたりしたのですが、なんとmacには標準で処理系が用意されていたみたいです。
全く知りませんでした。ターミナルから以下のpathでそのまますぐに利用可能です。お試しあれ!!

/System/Library/Frameworks/JavaScriptCore.framework/Resources/jsc

macでpngをepsに変換する方法

texって便利なようで不便なんですが、texに図を挿入するときにいつも忘れるのでメモしときます。pngでも挿入できるっぽいけど、いろいろ調べるの面倒くさいし、そんなところで時間かけてるのも馬鹿らしいのでepsに変換してサクっと終わらせましょう。このコマンド使うときはImageMagickが必要なので、事前にインストールしておいてくださいね。

convert hoge.jpg hoge.eps

学歴と仕事の関係

今日はちょっと学歴に関することついて書いてみたいと思います。大学いくより手に仕事をつけたほうがいいとかいってるそこの若者に伝えることが出来ればうれしいです。

数年前まで学歴と仕事ができるかどうかは全く関係ないと思っていました。むしろ学歴が低い人のほうが仕事を一生懸命する人が多いイメージでした。一時期採用に関わっていた時期がありましたが、学歴は問わずでずっと採用してきました。
大学なんてどうせほとんどの人が勉強してないので、自分もそうでしたが、大学での勉強は社会にでれば無駄だと思っていました。それよりはむしろ専門学校で専門的に勉強してる人のほうがよっぽど立派だとおもっていました。 

しかしここ数年で状況は一変してきました。多くの人と仕事をこなしてきましたが、やはり出来る人は高学歴な人が多いなぁーと思うようになりました。私はプログラマなので、プログラマの採用に関わってきましたが、一緒に仕事をして、この人頭いいなーって思う人ってだいたい高学歴な人がおおいです。難しいことでも試行錯誤しながら解決してくれるのは決まってそういう人です。低学歴な人はきまって「出来ません」で片付けるケースがおおいです。採用にあたってプログラムの試験をするとなると急に採用は見送るというのも決まってそういう人たちです。こちらとしては正解を求めているわけではなく、考え方をみてみたいなーとおもって試験をしているだけなんですがwすべてがすべて同じだとはいいませんが、低学歴の人は諦める人が非常に多いです。

学歴は関係ないとかいいますが、私の中では間違いなく関係があると思っています。やはり、難関大学の試験から逃げることなく臨み、そして卒業するという最低限のことがきっちりできるというところが大きく評価出来るのだと思っています。人間一度逃げるとまた困難に直面すると逃げてしまうもんなんですよね。現場で「うつ」になってこなくなる人もみてみると共通しているんですよね。高学歴の人がみんな優秀かというとそうでもないですが、相対的に見てできない人が少ないのはまちがいないです。

今は不景気で採用となると大量に応募が来ます。以前はすべての経歴に目を通していましたが、いまは最終学歴でまずは判断するようにしています。学歴がなくても優秀な人はいますが、高学歴な人にいわゆる「はずれ」は少ないのでとくに大きな失敗はないです。

結論は「学歴と仕事は大きく関係している」ということです。