プログラミングをもっと細かく

細かいことを言えば、変数、関数、クラス、アーキテクチャ、ドメイン設計、リファクタリング、レガシーコード、テストなんてことまで、事細かに把握できている人が、自分のことを「エンジニア」と呼べるのであって、開発者は誰でも、その辺のことまで本当は把握できていないといけないんじゃないかと思うのです。エージェントから言われたことがあるのですが、「コードを書くだけであれば「プログラマー」ではなく「コーダー」ですね」って感じで、実績のない人はそんな捉え方をされてしまうことがあるのは、この細かいところまでを把握できていないこと、それと、実際にそれらを活用した開発経験がないことが原因になっているのだと思うのです。

最近の企業での新卒研修では、この事細かなことまでも半年か1年くらいかけて学ばせようとする場合もあるようですが、そんな短期間で全部を把握しきれるような人はほとんどいないんじゃないかなぁ。エンタープライズアプリケーションアーキテクチャの基礎的なことなんかにしてもさ、そんな短期間で学べるのなら、みんなやってるでしょ?でもやらずにフレームワークの勉強やったりさ、アプリの作り方だけを覚えれば仕事はもらえるなんてことを安易に考えてしまうのが普通です。でも、一部の人だけが、そうやって細かなところまでちゃんと学ぼうとすることができているってだけで、ほとんどの人は学ぶ機会を作ることもないんですよね。学生さんたちなんかは時間もたっぷりあるんだから、ただコードの書き方だけを学ぶんじゃなくて、広い範囲のところまで手を伸ばした方がいいようにも思うし、いや、実際のところ、大人たちがそれを知らないだけで、若者はとっくにその辺までを把握した上で、コードを書けるようにやっちゃってたりもするんじゃないかな。そんな隔たりがいつまでも埋まることがないから、フリーランスとしての仕事が成り立つのだし、個人的にはとてもありがたい。日本人って協調性で言えば優秀だけど、実力重視という考えに関してはちょっと疎いところがあったりもする。フリーランスとしてはそこが狙い目であって、年齢なんて関係なく、自分がやればやるだけ活動の幅を広げていけるってところで言えば、上流階層の仕事をやる人以上の仕事ができたり、経験できないような仕事ができるようになったりもすると思うのです。


プログラマーだから、エンジニアだから、開発だけを仕事にしなきゃいけないなんてことはない。別に知識を売りにしたっていいし、趣味で個人開発を楽しんだりしてもいい。かえってその方がプログラミングをいつまでも楽しめたりもするもんだ。


%d人のブロガーが「いいね」をつけました。