コミュニティに出ると視野が広がる。

java-jaとEclipsePlugin勉強会に1度ずつ参加させて頂いただけですが、これは断言してよいかなと思います。1つの業界、1つの会社でずっと働いているとどうしても視野狭窄になるんだな、と痛感です。

私が所属するのはSI(またはブ○○クなIT企業)と呼ばれるような会社なのですが、この業界で用いられる「技術」と、独自のサービスを開発して運営しているIT企業(で良いかな?)で用いられる「技術」は全く別物だ、とか、同じSI企業でもお客様やその企業の文化で仕事の進め方が全然違うとか、頭では分かっていたのですが具体的な差異を目の当たりにするとまた衝撃です。

当たり前ですが、仕事のしかたの違いだけならどの業界にでも存在するんです。するんですけど、Outputしようとしているソースコードは言語の差異を無視すれば基本的に同じ価値観、同じ品質が求められる訳です。そうすると、目先の仕事と他の人の目先の仕事の話を(ある程度隠蔽やフェイクが入るにせよ)聞くだけでぐっと視野が広がります。コミュニティで知り合った人の話を聞いて、その言葉を元に得られるアプローチのバリエーションとか仕事をする上での優先順位とか、自分が知らなかった価値基準になるものがたくさん得られます。


しかも、得られるだけじゃないです。
自分の価値観を開示して、周りからDisられたらNG、Disられなければ少なくとも間違っていない、というジャッジをして貰えます。もし、自分が発した価値観がまた別の方の価値基準を刺激していたら、夢のような話だと思います。


で、これが重要なんですがこの業界で良い仕事をしようとした場合、視野が狭いとどうしようもありません。
加えて、これは私の勝手な思い込みなのですが、現在のテクノロジーとエンジニアリングは確実にWebを媒体としたコミュニティから生まれています。新しい技術を追うにしても、現在の技術の安定性を検証し続けていくにしても、コミュニティから目を逸らす事はあり得ないと思うんです。テクノロジーについてもエンジニアリングについても、コミュニティから生まれてきたいわゆる「技術」をどこまで吸収していくか、が進歩を生む鍵なんだと思います。

さらにSIであれば、お客様の業務上の課題と対峙しなければなりません。業種が近ければまだしも、業界も文化も違うお客様にソリューションを提供しようとするには、お客様について想像力全開で考えなければなりません。これは視野が狭いと絶対出来ない事です。


これらを踏まえて、例えば今の自分を取り巻く開発プロセスを改善しようとした場合、自分自身の持つ知識と経験だけで、果たして成果が出せるでしょうか。
私は、それをしようとする人が相当な天才でない限り、これは無理だと思っています。

1人のエンジニアが出来ることというのは限られていて、しかも我々が対峙するICTについての課題は膨大です。それを全て1人で片付けようとひそかに思うのはとても良い事ですが、それをやろうとするのは無謀です。そんなに人間、万能には出来ていないですよ。


なので、コミュニティに参加したり、コミュニティを自分で立ち上げるなりして自分自身の価値観をよく揉む事が、この業界で良い仕事をする為に不可欠なアクションだと言えます。そこで自分の価値観を磨いた上で、結果に繋げていくべきなんです。そしてその「結果」を生み出すのも、色々な方の意見や手助けを頂いて進めていくべきなんです。
1人で出来る範囲というのは、そう広くないです。でも、手助けをしてくれる方がいるという事は、アプローチが(さほど)間違っていないという事の裏返しでもあります。だからこそ、自分で何かを生み出したい人がコミュニティを作ったり参加したりしているんですよね、きっと。


またぐだぐだと書く悪い癖が出てしまいましたが、こうしてBlogを書いたりするようになるまでの自分は視野が狭かったな。でも、その時よりかは確実に視野が広くなったな。やっぱコミュニティに出ていかなきゃ!
と、7年前の自分に教えてあげたいと思った1日でした。

決して、java-ja第5.5.1回に諸事情で参加できないから時間を持て余しつつ、何ともアレな感情の処理に困っていた訳ではないです。決してないです。