「転職活動する暇があったらブログを書け」について
「転職活動する暇があったらブログを書け」についてです。
わたしがブログ(コラム)を書き始めたのは、仕事が少なくなりそうというのを察知してからで、従来の顧客から仕事が確保できている間はそんな気にはならないものです。書き始めると分かりますが、実際にブログを見て声を掛けることはよくある。
わたし自身、これほど煽って書いても、声がかかって仕事につながることもあるのですから、転職を考えているならブログを書くのは非常に良いアプローチだと思います。
で、ブックマークのコメントを見ていると勘違いしている人が多いように思う。まず、小飼氏も書かれているとおり、ブログといっても漫画の書評や、食事の話の合間に技術的なことを書いていてもマイナスの意味しかない。転職活動の一環として書くのですから、技術に対する思いのたけを伝えたい人に向けて書かないと意味ないわけです。
FizzBuzzを書けばよいというのも、当たり前の話ですが、FizzBuzzを必死で書いていた人が3カ月でどれぐらい伸びるか伸び率をアピールすればよい。ということが書いてあるのであって、決してFizzBuzzが書けたから仕事がくるのではありません。若い非プログラマがFizzBuzzを書いているなら、わたしも第二新卒として食指が動くかもしれませんが、しゃれではなく、わざわざFizzBuzzを書いているプログラマはちょっと厳しい。「伝えたい人(採用担当者)が、(最低限の足きりの)FizzBuzzを見たいと思っている」と思って、「どうだ~!」って、イタいとしか言いようがないでしょ。
また、自分にはブログを書くなんてことはできないというなら、多分、会社に対して依存しようとしていると思います(個人的には、言い訳の多い指示待ち人間じゃないかと……)。そんな人を採りたいと思う会社というのは、「従順な社員を数多く集めたい」と考えるような、つまり、好景気のときに多かった派遣型の会社ですね。
従順さや忍耐力をアピールしたいならブログを書いても意味がないです。しかし、逆に考えると、ブログを書いていることによって、強制されなくても(これだけのことが)できるというアピールになるのです。
ちなみに、わたしは半強制で始めましたけれど、なぜ書いてなかったかというと「これ以上とんがってもな~」と思って避けていただけです。絶対コメント欄とかでぶつかるし(苦笑)。小飼氏もどちらかというとそうかもしれませんが、とんがっている人は日本の組織には向いてない。それでも、組織はカンフル剤としてであったり変革期には、そういうとんがった人を求めるので、一定の割合で仕事は常にある。安定してないのに安定できるのです。(社員を抱えるとちょっと違うけど)
わたしは個人的に技術者ならとんがっていて欲しい、自立しないと技術者である価値がない(会社に依存するなら作業者じゃないの?)と思っているので、他の方法もあるけれど、「自分にはできない」と思う人にこそ、自分を変えるためにもやって欲しいと思う。もちろん、性格の問題ですから全員に適しているとは言わないけどね。
また、ブログを書くからといって、Googleなどで技術的なキーワードで上位表示とか目指す必要は実はありません(もちろん、目指すことは良いことですよ)。
以前、Find Job!のスカウトメールのことについて書きましたが、転職サイトに登録して、プロフィールに自身のブログのURLが書いてあると非常にポイントが高いです。転職サイトはFind Job!に限らず無料で登録できるところはいくらでもあるのですから、3ヶ月ぐらいブログに書き続けた後に、転職サイトに登録するぐらいの転職活動をすればよい。内容がマッチすれば、勝手に相手が見つけてくれます。
スカウトする人は必ずあなたのブログを見ていますから、面接の会話も盛り上がるでしょうスカウトメールが来ても、プロフィールしか見てなかったり、話が盛り上がらない会社とは、そもそも志向性があなたとは合ってないのですから、その会社に入ってもうまくいくことはないですから、お互いに良いスクリーニングになり得ます。
ちなみに@ITにもスカウト機能はあります。料金はウン十万~で、弊社では高くて使えなかったけど、ウン十万出しても使いたいという会社からのアプローチがあるかもです。この不況下にウン十万出すところはかなりまじめにプロフィールを見るはず(@ITはプロフィールは見れなかったっけな?)ですから、ブログは非常に効果があるはずですよ。
以前は、スカウトメールを派遣型の会社が投網方式で機械的に出していたようですが、この不況下では派遣型の会社はほとんどスカウトメールを送らないでしょうから、そういう企業からのアプローチは相当減っているはずです。余談ですが、ちょっとした大きさの派遣型の会社なら仕事がたくさんあった2年ほど前なら、100万掛かっても1名採れたら元が取れる計算に……。100万掛けたら500通ぐらい送れるから、売れる言語でヒットした人全員に送ってたのでしょうね。
それはさておき、頭数ではなく技術を求めている会社は、同じスキルなら確実に「ブログを見てください」とアピールしている方を採ります。ブログを書くことによっていろんなスキルもアップしますから、やった方が良いと思います。
FizzBuzzについて(世界のナベアツ……)半年で2割ですか……。
中学から散々英語をやっても、できるようにならない(お前が言うなと……)ことに似ているなと思うけれど、これが実態なのでしょうか。
剰余の計算方法が分からない(関数、演算子を忘れた)ということで詰まるのであればどうでも良いことです。わたしも使ってきたあらゆる言語で書けるかというと、PHPで剰余の計算って言われたらすぐにはわかんない。
SQLではこの手のプログラムを苦手とするのですが、いくつか方法はあるけれど、0~9までのビュー(実テーブルでも良いけど)を作って、デカルト積をとって、CASE式で……、2分でできて欲しいな。※ しっかし、SQLは剰余ごときで方言が出るのは許し難いね。
ともかく、FizzBuzzのアルゴリズムが秒単位で思い浮かばない人がプロを名乗っているとしたら、正直怖い。自称プログラマが15分って……、そんなものなのでしょうか? であれば、なおさらSQLを覚えた方が得ですよ(爆笑)アルゴリズムないし。
SQLはさておき、弊社の入社試験に、「1から10までの自然数の合計を出すプログラムを書きなさい」というのがあるのですが、ほとんどの人はループで書けていた。足し算だからかな?ちなみに、もちろんわたしが望んでいる答えは、ガウスが8歳だか、10歳だかにあみ出したというあのやり方で、まぁ、いわゆる引っ掛け問題です。今まで正解者はいない(苦笑)
ループができるかは「カレンダーを書く仕様書を書きなさい」という問題で見ています。けっこう癖が出て面白いはずですけれど、時間内にできる人はいない。FizzBuzzではあまりに簡単すぎて失礼と思って、そんな問題を10問出しています。
難しすぎるのかな……。
弊社の入社試験は単純ですが難しいです。どの辺が得意で、どの辺が不得手か見ているだけで、入社試験の成績で入社を決めているのではありません。
いつか、「満点をとった者だけ採用」なんて上から目線で言ってみたいな~。
コメント
EarlGrey
解:
f(n)=(1+n)*n/2
n=10の場合、11×10÷2で55
・・・ですか。これは知っててもなかなか『入社試験』では書けないなあ。
目の前に確実な答えがあるわけで、そちらにすがってしまう私・・・。
でも、10までの加算ならループでありなんですが、
10億とかのオーダーになったらNGですよね、これ。
まあ最近のサーバなら問題ないかもですが、思想として。
そういう問題が出たらどういう解答になるのか、
やっぱりループが主流なのか、ひねる人が出てくるのか!
興味が湧きました。
本筋(ブログ論)とずれていてすみません!
EarlGreyさん、こんにちは。
昔、Pentium 200 で1000万で数分かかって居たような気がする。
その頃から同じネタ(エクセルマクロ)で新人教育していたりして(苦笑)
今、私の環境で10億で40秒ぐらいでした。びっくりした。
入社試験では、間違ってても良いから考え方を見せてください。と最初に書いてある。それで、敢えて、言語も、何を引数に使うかも、問題には入れてない。
初期値、終了値、ステップ間隔を引数にして、ステップ値から終了値はにならない(踏まない)とき、エラーとするか、終了値の手前までの合計としてコメントでも入れておくとか、そういうのを見ると惚れてしまう。(それも、かつてないな)
しかし、ほとんど、直値(マジックナンバー)で書いて、バグがないか必死で見直している姿を見ると、細かい方が気になってるな~と……。
いや、細かい方をしっかりこなす人も必要ですから良いので、採用の判断に入社試験を使っているわけではないのですけれどね。
なぜ、そんなに意地悪かというと、とんがった方を見つけたいと思ってたり、弊社のお客は中小企業が多いので、依頼が本当にアバウトで抜けている。そのアバウトな依頼で本質をどこまで見抜けるかというのを見ていたりするのです。
kim
こんばんわ、生島さん。
>弊社のお客は中小企業が多いので、依頼が本当にアバウトで抜けている。
>そのアバウトな依頼で本質をどこまで見抜けるかというのを見ていたりするのです。
アバウトな依頼の本質を見抜くのは、本当に難しいと思います。
先輩社員からは
「お前の設計は、家に例えると、玄関からトイレを必ず経由しなければ居間に行けない家を作っている」
とよく怒られました。
つまりユーザの依頼の本質を見抜けず、依頼を鵜呑みした設計をしていたということです。
(今でもやってしまうことがありますが。。。)
技術トレンドの本質を見抜くのも難しいです。
「RIAで運用コスト削減」。「Saasでレンタカー感覚で気軽に導入」。
そんな記事を見るたびに、
・基幹系システムに「じゅわ~」とアニメーションで現れるグリッド画面が必要なのか?
・「WindowsForm+IIS(Webサービス)+データベース」の連携方式で
ClickOnceで最新モジュールを自動配布はいいかもしれない。
でもC/S型の方が開発はラクなんだけどな~。
と自問自答している毎日です。
ちなみに今回のブログは、アルゴリズム的発想が弱い私にとっては心が痛い内容でした。
やはり私はループで足し算しちゃいますね。
kim さん、おはようございます。
> 「お前の設計は、家に例えると、玄関からトイレを必ず経由しなければ居間に
> 行けない家を作っている」
いい表現だ。
今度使わせてもらおう(笑)
> 「RIAで運用コスト削減」。「Saasでレンタカー感覚で気軽に導入」。
> そんな記事を見るたびに、
> ・基幹系システムに「じゅわ~」とアニメーションで現れるグリッド画面が必要なのか?
> ・「WindowsForm+IIS(Webサービス)+データベース」の連携方式で
> ClickOnceで最新モジュールを自動配布はいいかもしれない。
> でもC/S型の方が開発はラクなんだけどな~。
Saasは、まぁASPが良くなったぐらいのモノで、適応できる範囲はそんなに大きくない。完全な基幹システムでは無理でしょう。そんなものができてたら、基幹システムはパッケージの導入で終わってるって。
Web化の流れは、営業が流行で提案を出すうちは変わらないでしょうね。
「インストーラを工夫することでこれだけ安くできます」
って提案になぜしないのか、私にも理解できません。
いや、理解はできているのですけれど……。
「1から10まで足すプログラム」と言われると、90%以上のPG/SEがループで考えるようです。
そりゃ、SQLはしっくりこないでしょうね。
Jitta
「1~10」と決まっているなら、
10 PRINT 55
だな。
10億とかのオーダーになったら、int の範囲におさまるかどうかを心配します。32ビットだと符合無しでも約40億なので、オーバーフローしちゃいます。
Jittaさん、こんにちは。
> 「1~10」と決まっているなら、
>
> 10 PRINT 55
では、
> なぜ、そんなに意地悪かというと、とんがった方を見つけたいと思ってたり、
> 弊社のお客は中小企業が多いので、依頼が本当にアバウトで抜けている。
> そのアバウトな依頼で本質をどこまで見抜けるかというのを見ていたりするのです。
クイズとか試験ってのは言葉遊びみたいなところがあり、大手とか官僚はそういう能力を尊ぶところはあるでしょうが、一般社会ではそれではダメで、意図がまったく読み取れてないからゼロです。
客先で言葉遊びを始められるととっても困るので、そういうのはいらない。
> 10億とかのオーダーになったら、int の範囲におさまるかどうかを心配します。
> 32ビットだと符合無しでも約40億なので、オーバーフローしちゃいます。
もちろん、intでやる必要はないしオーバーフローの説明にも使います。
Ike
> FizzBuzzではあまりに簡単すぎて失礼と思って、そんな問題を10問出しています。
> 難しすぎるのかな……。
難しすぎます!(笑)
7,8年前に勤めていた会社で入社試験を導入したことがあるのですが、
・2つの配列を前後に繋げる時の添え字
・1~5までの合計処理の終了条件
の様な流れ図の穴埋め問題でした。FizzBuzz よりよっぽど簡単です。
新卒用に作ったのですが、中途でもできない人がかなり多くいました。2割程度の正答率だったと思います。
特にできない人を足切りしようと思っていたのに、ほとんど残りませんでした・・・。
○| ̄|_
ただ、できた人は「なんでこんな簡単な問題を?」という感じで、ハッキリと差が出ましたね。
やっぱり↓こういうことなんでしょうかね?
http://d.hatena.ne.jp/masatoi/20090707/1246965336
Ikeさん、こんちには。
そうですか、難しすぎますか。
ゾウリムシ1匹をコップに入れておくと1時間後には2匹、2時間後には4匹、3時間後には8匹となり、72時間後にコップ一杯になります。では最初に2匹入れていた場合、何時間で一杯になりますか?
とか、
28ビットのサブネットマスクを4オクテット(xxx.xxx.xxx.xxx)で書きなさい。
とか、
最後が、副問合わせが2つほど要るSQLだったりします。
分かっている人には、簡単なんですけどね……。
俺様基準なので分かりませんけれど、
http://d.hatena.ne.jp/masatoi/20090707/1246965336
からすると、弊社に応募する命知らずは、40~60点ぐらいは答えますから、既にレベルが高いのかもしれませんね。
Ike
生島さん、レスありがとうございます。
> 既にレベルが高いのかもしれませんね。
明らかに、一般的な応募者レベルより高いと思います。
ゾウリムシの問題でも「36時間」などと答える人の方が、世間的にはむしろ多そうな気がします・・・。(^^;
FizzBuzz ブーム?の元ネタ?のページでも言及されていますが、入社試験をしてみて、大げさでなく、応募者中のほんの一握り以外はどんな簡単なプログラムでも書くことができないと実感しました。
http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
その入社試験導入のきっかけも、それ以前に採用した40代の自称ベテランオープン系プログラマの「ポインタ・・・って何ですか?」という衝撃の一言だったのですが、ITブーム直後でにわかプログラマが多い時期だったのかも知れませんね。
ただ、プログラミングのスキルは連続的なものでなく、FizzBuzz をできるかできないか辺りで、大きな断絶が有るように思えます。
FizzBuzz を自力で数分以内に書けるのであれば、再帰処理やポインタを普通に使える程度になる資質は有るのではないかと。(この資質も特に高い訳では無いですけど・・・)
Ikeさん、こんばんは。
ゾウリムシの問題ですね。「キモッ!、えっ?何時間ですか?……あっという間?」ってのが忘れられない最高の答えです。
FizzBuzzで断絶ですか。確かにそうなのですよ。
それで、エクセルの講習会をしてたり……、事務処理が得意な人で、FizzBuzzじゃないけれど、エクセルマクロを2時間でスパァーーと理解してしまう人が大当たりと思っていたり。
実際、埋もれている人がいるんですけどね……。
CMP
すみません、kimさんのコメントで気になったもので。
> ・「WindowsForm+IIS(Webサービス)+データベース」の連携方式で
> ClickOnceで最新モジュールを自動配布はいいかもしれない。
> でもC/S型の方が開発はラクなんだけどな~。
「ClickOnceで最新モジュールを自動配布」はC/SシステムのClientアプリの配布や更新を自動的に行うのが売りなのですが。
しかも配布サーバはIISだけでなくWebサーバならなんでもOK!とMSにしては太っ腹な
仕様になってます。
駄文失礼しました。
CMPさん、こんばんは。
弊社では、.Netのツールを販売しているのでClickOnceはお勧めです。
しかし、ClickOnceを使わなくても、自動更新ツールを毎回起動するつくりにすれば、C/Sで十分なのですけどね。
ClickOnceって、データ通信がXMLになる?、小さいのしか経験ないので、大きいとき不安になったり……。
それでもWebシステムより軽いけど、それも逆に言う人が出るからね……。
Jittaさん、見れました。
プログラムの問題で、どんな問題であっても直値(マジックナンバー)を入れてしまう時点で私の採点では超減点対象です。どんな言語であっても、入社試験のレベルでそれをやってしまう人はプロとは認めません。
採点ポイントが分かってない時点で話しになりません。
ゲイツ氏の「富士山を動かしてください」と同じかな(笑)
「55でよい」と考える時点で、プロと学生の区別が付いてないって判断になりますね。
採用者がどこを見ているかという参考になればよいと思って書いているのですけれど……。
「ここは直値(マジックナンバー)で書いてください」という顧客は居ませんね。顧客は打ち合わせの席で、半年、1年分と話しますが、それを直値で書いてしまう人は、既にプロとして「あるレベル」にきてないのです。
10億とか?
そりゃ、エクセルマクロでやってるのですから、Double使って概数しか出ませんね。そういう説明をするだけです。
友ぞう
生島さんこんにちは。
ちょっと本文とズレたことを書いてしまいますが、
ゾウリムシの問題・・・。
ゾウリムシがコップいっぱいになっていく様子を思わず想像していまし。
うっ!!と思ってしまいました(笑)
1匹を入れたときはよかったんですけど、
2匹入れた場合にあっという間に増殖していく姿が思い浮かび
コップからあふれたゾウリムシをどうやって片付けるか・・・
が気になったりして。
あ、すみません。まったく余談でした(汗)
友ぞうさん、こんばんは。
女性はそうなんですね。
そっちに反応する人が多いです。
男性とは不思議な違いだ……。
ちなみに2の72乗匹になるのですが、
つまり、2の24乗の3乗匹= 16,777,216 × 16,777,216 × 16,777,216匹で、そんなに入るコップはないと思う(笑)
答えは、1匹のとき1時間後は2匹になって、最初から2匹いる場合と同じになるから1時間だけ短くなる。つまり、71時間です。
パッと見では同じところは見つからないのですけれど、反対から見たら同じ。「同じところを探す」というのは設計能力として非常に重要で、そういうのを見てたりします。
計算しだすと、最後まで計算して答えを出すのは不可能だから気づくはず。というサービス問題だったりするのですけど、私のサービス精神はあまり理解してもらえない。
友ぞう
こんにちは。
(しつこくて申し訳ないのですが・・・)
ゾウリムシを2匹で2倍の速度で増える感じを想像してしまい、
うっ!と思ったんですけど、
冷静に考えたら増え方は変わらないんですよね。
1回分分裂が少なくて済むだけだから、全体から1回分引くだけジャン
と、お風呂の中で思い直してました。
お風呂の中で考える話題じゃないし(笑)
というか、1日中ゾウリムシにとりつかれてる私もどうかと。。。
意外と気に入っているかも(笑)
>パッと見では同じところは見つからないのですけれど、反対から見たら同じ。「同じところを探す」というのは設計能力として非常に重要で、そういうのを見てたりします。
その反対から見たらっていう発想の転換ができたときにスッキリしますよね。
脳トレ問題みたいに。
友ぞうさん、こんばんは。
解けましたか。
おめでとうございます。
紙に書くと割と簡単に気づくのですけど、書かずにやるとなかなか難しいものです。
なんか面白そうなので、弊社の入社試験を3回に分けて書きました。
同じことを書いているのでコメントを読んでる人には申し訳ない。
Jitta
サーバーが、悲鳴を上げているそうです。個人が運営されているところなので、まぁ、仕方がないかな、と。
> どんな問題であっても直値(マジックナンバー)を入れてしまう
違います。私が言いたいのは、「意図は、読まずに確認する」ということです。ここで、出題に対して質問できるのかどうか、わかりませんからね。だったら、奇抜なことをして目立とうという意図です。目にとめていただけて、「何でこういう答えなの?」と聞かれれば、自分を売り込むチャンス。聞かれなければ、「あら、頭の固い人なのね」で残念でした。
> 採用者がどこを見ているかという参考になればよいと思って書いているのですけれど……。
はい、だから、意図は確認しなければわからない、と書いています。
特に、仕様書を出した後、仕様書で「この様にします」と書いているのに、違うことを期待される、なんてことがあると、相手に意図が伝わったか、相手の意図を正しく理解しているか、確認せずにはおれません。相手が「こういうのが欲しい」というので提供したのに、似て非なるものを使われたりしたら、仕様書の書き方がまずかったかと反省せずにはおれません。
この問題は、連続する数列の計算式を知っているか?、という問題なのでしょうか。それとも、より実行時間を短くする方法を知っているか?、という問題なのでしょうか。あるいは、そのような工夫が出来るか、という力を見る問題なのでしょうか。今、「計算式を知っているか」という意図が明かされていますが、問題文だけからは、意図を想像することはできても、特定することは出来ません。ここに書かれているのは「1から10までの自然数の合計を出すプログラムを書きなさい」だけです。これが、「1から10までの自然数の合計を、ループを使わずに計算するプログラムを書きなさい」であれば、生島さんのお望みの回答が出る可能性も上がるでしょう。「1から10までの自然数の合計を計算するプログラムを書きなさい」であれば、私も「10 PRINT 55」なんて書きません。「合計を出すプログラム」だから、合計を出すプログラムを書きました。出題者の意図には沿っていないかもしれませんが、問題文には、忠実に従っています。
すなわち、出題者の意図なんて、確認しなければわかりません。私は、今年4月まで3年ほど、Insider.NET 会議室で行われた質問には全て目を通していました。何通りにも解釈できる質問がたくさんありました。この出題も同じで、何通りにも解釈できます。
意図は読み取ってもらうものではありません。他人の意図は確認するものであり、自分の意図は伝えるものです。私は、そう思います。
Jittaさん、こんばんは。
傲慢ですが、1~10までの合計を出すループが書けるかどうかは、筆記試験をしなくても面接で少し話せば分かりますから、そんなことはどうでも良いのです。
おっしゃるとおり、自分の意図は伝えるものなんです。
私の意図は、ゲイツ氏(でしたっけ?)の富士山を動かしてください。と同じところにあるのかも知れませんが、ゲイツ氏?と違うのは選別するのではなく、どう伝わるかを見ているのです。
私の言葉をどう受けるか、受け方が私にとって良い方が弊社に合ってます。
良いか悪いかではなく、合ってるかどうか、合ってないとすれば、どいう風にあってないか見たいのです。
「10 PRINT 55」は私には合ってないですし、弊社の主要顧客の中小企業の社長にとっても合ってないです。
Jitta
傲慢だとは思いません。御社の採用については、御社の規定で判断するのは、何ら傲慢なことだとは思いません。
しかし、「一般社会ではそれではダメで、意図がまったく読み取れてないからゼロです。」に付いては、訂正していただきたいと思います。「弊社ではそれではダメで、意図がまったく読み取れてないからゼロです。」であれば、特に何も思いません。むしろ、「私には合ってない」の様な答えがあるだろうと期待して、「わはは、やっぱりダメですか」で済ませるつもりでした。しかし、「一般社会では(意図が読み取れていないからダメ)」といわれると、「それは違うだろ?読み取ったとしても、確認しなきゃダメだろ?」と思いました。
意図を察するには、情報が必要です。周りの状況、実績、相手が何をしている最中の言葉なのか、など。
しかし、試験問題には、そういったものがありません。また、試験というものの一般的な性質上、「文意の通りに回答する」ことが求められていると、考えられます。質問しても良いのなら、私の答えは、というか、答えるために「1と10は固定値ですか、それらの数字の根拠はなんですか」と尋ねますね。
(ええ、「固定です」といわれて固定にしたら、「今のところは固定だが、将来変わるかもしれない」といわれたこともありますよ)
Jittaさん、こんばんは。
うむ~。
世の中に如何様にもとれる言葉はいくらでもあるのです。
ループを回すことも、ガウスの考えた公式で解くことも「10 PRINT 55」もすべて答としては正解ですね。
答え方がいくらでもあることを分かって出題者は出しているわけで、答えが正しいかではなく、どう答えるかを見ているわけです。
「答え」を見ていると考えている時点で、学生的で、社会人としては一般的に評価の対象とは言えません。
プログラマを希望して、「10 PRINT 55」でよいと考えるということは、出題者は「足し算の能力を判断したいと考えた」と「解答者として判断した」と受け取られるわけです。
一般的には、評価の対象外と取られるでしょうね。
いや、受け取らない会社もあるかもしれませんけどね。
そういう会社を探すしかないですね。