見出し画像

プログラミングの歩み(10) 〜コードは手段でしかない〜

プログラミングを仕事にする人にとって、コードってなんだろうと考えた時、目的になりがちであるなというのを感じます。
ただ、プログラミングすることを完全に目的にしてしまうと、ビジネス的に進めることができなくなり、どこかで妥協しなくていけないところが出てくるので、目的という色を薄くし、少しビジネス色を出す必要があるのだろうと思います。

実際、プログラミングが好きな人にとって、コードを書くことは楽しいと思いますし、僕自身もプログラミングは好きなので休みの日もちょくちょく書いたりしてします。

しかし、好きなプログラミングであるはずなのに、そこには癖というか好き嫌いが発生するのが面白いところですね。
例えば、ある人はPHPやPythonといった動的型付言語を嫌った人がいたり、関数型プログラミングが好きな人もいれば、オブジェクト指向が好きな人もいる。
逆に言うと、好きではないものに対しては、たとえプログラムを書ける状況だとしても書きたいとならないのかもしれないです。

さて、僕の話で言うと、僕は最近プログラミングは手段でしかないのだと割り切るようになりました。
数年前、それこそ去年くらいまでは扱う言語に対する拘りなども持っていました。
厳密には微妙にSwiftであったりPython、Rubyと触って来て、初めての仕事では元々PHPから書き始めた僕ではあるのですが、エンジニアあるある現象として、エンジニアになりたての頃って使用する言語に拘りを持って、仕事でも使いたいと思うようになるんですよね。

当時の僕も漏れなく、PHPを求めて仕事もPHPに限定して探していました。
しかし、その後JavaScriptをメインにし始め、TypeScriptへと移り、Goを勉強始めたら、今度はTypeScriptとGoの仕事を求めて仕事を探すような感じになっていきました。
そして、PHPはもう書きたくないという風に思うようになりました。
なんともミーハーな流れだったと思います。

しかし、最近の僕は、仕事での言語の拘りを持たないように意識を傾けるようになりました。
どんな言語でも良いが、サービスに対するコードを書き、どんなコードにも適用するプログラマーで良いのではないかと言う風に思うようになったのです。
もちろん、上記のTypeScriptやGoをサービスで使うにはそれなりに理由があり、それぞれの利点に基づいて技術選定されているので、そう言う意味では言語の選定というのを行う事はあると思います。

しかし、これから変わっていく仕事の中ですでに選ばれた技術選定に対しては、そこで選ばれたものを武器にしていくという流れでもいいのではないかと思うようになったのです。

より重要なことは、その働く中でチームとしてのマインドであったり、働きやすさへのクリエイティブ性を身につけていくのが重要になってくると思ったのです。

これには僕のプログラミング力も大きく影響します。
僕はプログラミング力が著しく低いです。
単純なアルゴリズムくらいしか書けませんし、レビューを出したら10個は余裕でコメントがついたりします。
そんな僕がこれからプログラミングスキルに焦点を当てていては、年齢的に厳しいのではないかと思い始めたのもあります。

もちろん、プログラミングは好きなので自己研鑽は怠らない予定ですが、言語に拘るフェーズはそろそろ抜けて、プログラミング力は低くとも、チームとしての連携を意識したプログラムの知識を身につけていかなくてはと思ったのです。
そして、その考えは言語に縛られない思考として必要となると思っているので、言語に拘るのではなく、そこで選定された言語をどうチームで扱っていくかに焦点を当て、チームを変えるのではなく自分がそこに馴染んでいくことで柔軟性のあるエンジニアになれればいいかなと思うようになりました。

TypeScriptやGoというのは僕も書いてて楽しいですし、もっと書きたいと思うので言語への興味はないと言えば嘘になりますが、仕事でのマインドは上記のように変えていき、自分個人で言語への理解に努め、プログラミングを楽しんでいこうと思いました。

この記事が気に入ったらサポートをしてみませんか?