新卒の頃、英語よりもまず日本語を勉強すべき、とか良く言われていた。
ふーん、そんなもんか?と勧められた「理科系の作文技術」や「日本語の作文技術」を読んでみたが 別段なにかを学びとる事も出来ず、日本語の勉強って良くわからんなと結論づけていた。
さて月日は流れ、年齢的にもだいたいキャリアの主要な成果を出しつつある。 ライフスタイル的にもセミリタイアのフェーズに入って随分経った。 だから自分のキャリアに何が必要だったか、一個人の体験としては結論を出して良かろう。
そうして振り返ると「英語よりもまず日本語を勉強すべき」に必要性はなかった。 英語の学習で助けられた事は多いし、英語の学習の不足で困った事も多い。 一方で日本語の不足で困った体験はあまり無い。 自覚がないだけかもしれないけれど、それは英語についても同じことが言える。 今回は、この手の「よく言われているし正しそうに回覧されがちだが自分の体験とは違った」ような事を考えてみたい。
免責: プログラマの仕事は多様である
各論に入る前の大前提として、プログラマの仕事はとても多様。一概には言えない事ばかりだ。
ある人がXが重要だったと言った時、それが重要でない人はきっとどこかに居る。 そして個人がどんな仕事を選ぶかというキャリアパスは人それぞれで、本人の性格や好みが決めるものと思う。 明らかにまずい方向性も無いでは無いけれど。
だから「Xが大切だった」とか「大切じゃなかった」という話が「一般には」正しいかどうかを論じる事にはあまり意味が無い。 それよりも一個人の経験、体験として何が世の一般論と違ったのかを皆で示し合う方が面白いんじゃないか。
自分の「正しくなかったアドバイス」
という事で自分の体験談を列挙してみたい。
- US系企業は給料は高いが成果を出さないとすぐクビになり、毎日厳しい
- フリーランスのプログラマは会社員よりも営業力が無くてはいけない
- 社会人は英語より日本語をまず勉強すべき
- プログラマはコーディング能力よりもコミュニケーション能力を身につけるべき
昔から良く言われているものもあるし、最近良く見かけるものもある。どれも自分の体験とはあってないなと思う。
外資系企業の厳しさ
すぐクビになり、成果を厳しく求められる話は良く見かける。 ある程度正しい部分もあるとは思っているが、それよりも企業の景気の方がずっと重要なのは結構みんな同意してくれるんじゃないか。 不景気な日本企業は割とリストラとかあるし、成果も求めてくる事もよくある気がする…
フリーランスのXX力
「フリーランスはサラリーマンよりXXが出来ないといけない」系の話も、実体験とは異なる事が多い。
自分はフリーランスになってからほとんど営業とかしてないし、仕事を探した事もほぼ無い。でも仕事には困ってない。 身の回りにも仕事が無くて困ってるプログラマは全然見かけない。
フリーランスでも需給が小さい業種の状況は違うだろう。そのせいでプログラマのフリーランスの実態とは違う言説が出回っているのではないか。 少なくとも「サラリーマンより多くの事が出来ないとフリーランスはやれない」ことはないと思う。
英語と日本語の重要度
英語について。先にも書いたけど、それに加えて自分が新卒の昔と今では必要とされる能力にもだいぶ違いがあると思う。
当時は技術ドキュメントも技術書もよく和訳されていた。 でも現在は、少なくともiOS、Android周辺は公式からの動画での情報発信が増えていて、リスニング能力が以前より求められるようになった。 AndroidのAPIドキュメントにしても最新版の翻訳は皆無で、かつて日本語のMSDNを読みながら頑張ってWindowsプログラミングをした時のようにはいかないと思う。 そういう訳で、2003年にうけた「英語よりもまず日本語を勉強すべき」という将来への助言は、今の時代に全然当てはまってないと思う。
もっと個人的な体験を考える。 仮に日本語ができたらどう嬉しかったかは結局の所分からないので、英語力や日本語力の不足で自分が困ったかを考えてみる。
英語力が足りなくて困った事は多い。また海外出張や外資系への転職を含め英語がある程度喋れるおかげで恵まれた機会は多く、 それは自分のキャリアに大きく影響を与えている。
一方で日本語が足りなくて困ったと感じた事は無い。 もっと日本語ができれば日本企業の偉いおっさんに気に入られる機会は増えたかもしれないが、それが嬉しかったとは思えない。 あの時もっと多くの人を動かせていれば違う未来があったのに…みたいなのも思いつかない。 時代の影響も多いとは思う。自分のいたガラケー産業はちょうど衰退する所にいて、自分の行動で大きく業界の結果が変わったと思える要素があまり無い。
自分はAndroidを支える技術という結構長い本を書いた。これにしても日本語力が高ければ倍売れたのにという気もしない。 Podcastも日本語がもっと流暢ならいまごろ大人気なのにという気も…こっちは分からないか。 でも全体的に、日本語のアウトプットは上手く言っている方だと思っていて、欠点よりは上手く行った理由を考えるべき立ち位置にいるのではないか。
ちょっと話はずれるが、最近自分の周りにあるアウトプットやコンテンツは質よりも量や更新頻度の方が重要なものが増えている気がする。 自分は割と更新頻度を維持できている方だと思っている。でも日本語の能力とかにこだわる人は頻度のために質を落とすのには抵抗が大きいんじゃないか。 気合入れた記事が一本だけ出て更新出来ないとか、いかにも中年ダメ技術ブログの典型では無いかしら。
コーディング能力よりXX
プログラマはコーディング能力よりもXXを身につけるべき、的な話も結構見かける。 XXはコミュニケーション能力だったり人脈だったりが多いかしら。 これは少し事情が複雑に思う。
まず多くの日本企業において、コーディング能力の重要度が収穫逓減して頭打ちになる事はあると思う。 この頭打ちになるタイミングがどれだけ早いかは企業によって大きくばらつきがあるが、 全体を見れば割と早い段階で頭打ちになる企業の方が多いとも思う。
だからある種の企業においてコーディング能力より大切にすべき能力があるのはおそらく正しい。 自分の実感とも一致する。そうした企業の中ではコーディング以外の能力の方が評価され、出世も早いだろう。
ただ眼の前にたまたまコーディング以外を重視する企業があるからといってそれに最適化していくのは、 自分の回りの印象としてはあまり良くない結果になっているように見える。 企業が傾いたとき、残るにせよ転職するにせよ割と困った立場に追い込まれている。 一方で社内で評価の低かったコーディング重視型の人材はその後(別の会社で)だいぶ良い立場になっている。 これはたまたま自分たちがそういう時代にキャリアを形成しただけで、次の時代は違うかもしれないけれど。
コーディング能力が全てという信念
事実はさておき信念としては「プログラマはコーディング能力がすべてでそれ以外のものは何も要らない」という思いが年々強くなっている。 たぶんコーディング能力以外でも良い立場につく事は出来るだろうけれど、 コーディング能力だけでも一切困らない、というのが実際のところではなかろうか。
「プログラマはコーディング能力よりXXを身につけるべき」という時のXXは評価が曖昧なものがほとんどで、「出来る」というのも自己申告に過ぎない。 自分が出来ているかどうかも良く分からない。その効果を測るのはさらに難しい。 身につけられるのか、身につけるために何をすべきかも良く分からないものが多い。 コミュニケーション能力とかそもそも身につくのか。そのために何したらいいんだ。そんな事やりたいのか。
一方でコーディング能力は、自分個人の経験を振り返ると非常に役に立っている。 あまり仕事が好きでない自分だが、楽しいと思える仕事を出来ているのはコーディング能力に依る所が多い。 「出勤せよ」とか「偉そうなおっさんに週に一回進捗を報告せよ」とか言われたら辛くてやっていけない自信がある。 仕事だけでなく、本を書いたりアプリを書いたりコードを読んだり知らない人にプログラムを教えたりpodcastでなんか喋ったり、 趣味的な活動でもコーディング能力がもたらした可能性は多い。
有用なだけでなく、学習可能性も高いように思う。つまり時間を使えばそれだけ身につくものがある気がする。 若い頃には作れなかったような物も作れるようになったし、若い頃には理解出来なかった物も理解出来るようになった。 これはコーディングにまつわる事に時間を使った成果だと思うので、費用対効果の高さを体感している。
さらに半径1m的に雑な話をすると、自分の一世代前はコーディング能力だけは高いけど貧乏くじをひいて立場が良くない仕事をしている人は結構見かけた気がする。 ひとつ下である自分たちの世代に、そういうのはだいぶ減った。 コーディング能力よりXXを身につけるべき系の説得力は時代とともに低下した気がする。
プログラマの地位が上がったのだと思っている。