プログラマになりたくて、プログラマをあきらめて、それでもプログラムを勉強しようとした話

プログラムとの出会い

どこかのベンチャーで一応エンジニアとして働いている筆者です。
筆者の経歴としては
文系の大学を卒業し
プログラムのプの字もしらない中で
ERPパッケージベンダーに入社しました。 4カ月ほどの研修で初めてJavaという言語に出会いました。

始めのプログラミング言語は全くの「?」状態で
さすがに変数宣言やらif文からLoopなどはわかったものの
メソッド?ナニソレオイシイ?クラス?シラン
状態で研修が終わりました。

さすがにプログラミングはできないし
企業訪問演習やら対人的な研修では割と良い成績だったので
配属は営業職だろと思っていたのですが
まさかのエンジニア職の配属でした。

やらなければならない。

配属当初全くわけのわからないプログラム・・・
後、配属された部署がサポート部隊だったので
他のプロジェクトベースでコーディングを学べる環境になく
クライアントの問い合わせに対して必要であればプログラムを読む
という部署でした。
簡単に言ってしまえばプログラムがわかる前提で仕事をしなければならず
プログラムについてはOJTコストをかけてくれるわけもなく
かといって仕事でコーディングにかかわれる機会もなく
回答に対してはスピード感が求められるのでシステムの仕様も知らない、プログラムも知らない
人間が仕事にかかわれる機会などなく、ほぼ雑務をこなした1年目でした。
さすがにまずいと思い、ここからプログラムを勉強し始めました。

プログラム勉強始める。

いろいろ必要に迫られて始めたプログラミング言語
初めて真面目に勉強した言語はVB.NETでした。
エンジニア界隈では悪名が高いVB.NETですが
パッケージ業界的には割と使われているような気がします。
余談はさておき、勉強するにつれ、まったくわからなかったことがわかるようになり
仕事も徐々に任されるようになり
良いモチベーションでプログラミング言語の学習はできていたのかなと思います。

プログラム好きになる。

良いモチベーションということはプログラムが好きになったということです。
ということで、いろんな言語に手を出しました。
すごい思い入れがあるのはCとC++でしょうか、
学べば学ぶほどレイヤが下になるのは筆者特有の現象でしょうか
マニアックな世界線に行きたいんですよね。
ということでプログラムが好きになりプログラマとして生きていこう
だからこそ学ぶこともできる限りのことはしようと思ったわけです。

井の中の蛙大海を知らず

さて、プログラムを勉強するにつれて
独学でもよかったのですが、やはり自分がやってきたことの証明をとりたいというか
基礎もくそもない人間なのでしっかりしたところで学ぼうと思ったわけです。
いわゆる学びなおしのコミュニティなのですがそこに通う人々というのは
本物のプログラマーが多く存在しておりました。
筆者が所属していた企業ももちろん、プログラマといわれる人は存在し
トッププログラマもいたわけですが、まぁくらべものにならなかったんですね。
その時のカンソウブンを言うと
- プログラムに対する考え方が違う
- オブジェクト指向に対する考え方というか土台が全く違うことを感じました。
- 技術に興味をもち、それに触れる機会を自ら作り出している。
- 筆者はプログラム楽しいウェーイ見たいな人間でしたが、ホントのプログラマーというのはプログラムが好き且つ技術が好きなんだということを感じました。

自分にはできないけどプログラマと名乗りたい。

いろいろ衝撃がはしってわかったことが一つだけあるんです。
自分はプログラマにはなれない
これは別にあきらめではなく、エンジニアとして生きていくためには
プログラムにこだわる必要がないということです。
筆者の考えとしてはいくら努力してもそれより努力している人には勝てないし
人間限界はあるし、モチベーションもあります。
そんな時に考えるのは大枠では同じことをして、細かくは別のことをする。
何が言いたいのかというと
エンジニアとしてプログラムがすべてではないということです。
システムを作る際、主人公は間違いなく プログラマ です。
しかし、プログラマだけでは完結できない小難しい社会が存在しています。
だから設計者が必要だったり、マネジメントする人間が必要だったりします。
筆者はそういうところで生きていこうと思っております。
プログラムが好きです。だからこそプログラミングという思想で物事を考え
エンジニアリングしていきたいと思っています。
コーディングしないプログラマーとして生きていくと思う今日この頃です。