エンジニア?アーキテクト?なにそれ美味しいの?
最近、仕事では難しいことを任せられています。
協力会社の方々と一緒に作業することが多くて、たまにおしゃべりすることもあります。それでふと思ったことを書いてみます。
始まりの始まり!
未経験から転職して、今年の4月に入社した会社なのですが、アプリエンジニアを志望して着任しました。
今までは自分の勉強で様々なプログラミング言語を勉強してきて、実際ものはどういうふうにつくって行くか、下流レベルまでは多少の理解がありました。
未経験で入社したのは、現場レベルの開発はどういうふうに進められているかを知りたいのと、自分に不足している上流工程に関する知識だったことに気づき、それが経験できそうな会社を探していて、入社することができました。
IT会社に入ったのはいいのですが、イマイチピンとこないところがあります。
それは、エンジニアのあるべき姿についてでした。
あるべき姿?
転職活動をする上でIT業界について調べてきました。下請け、元請け、下請けの下請けなどについてはなんとなくイメージは持っていました。
現在自分が入っている会社は、いわゆる元請けという立場です。お客さんの直接接することができて、協力会社の人たちを引っ張っていくようなところで仕事ができています。プロジェクトの体制ではうちの会社からは私以外はPMとその他リーダー陣でした。
ですが、元請けであるため、開発やテストなどの下流工程について、やはりリーダー陣は直接的な関わりを持たず、方針や対応のフローについての検討がメインになっていました。
エンジニア、という単語について考え始めました。
チャレンジャ、「エンジニア」登場。
辞書を調べていくと、エンジニアというのは「機械・土木などの技師」とかかれていましたが、技術者という意味もあるようです。
技術者とは、とまたさらに深く掘り込んでいくと、
「科学上の専門的な技術をもち、それを役立たせることを職業とする人。」
という定義にたどり着きます。
科学的、機械や土木関係は置いといて、一般的にIT企業に努めている人、かつ技術的なことに関わっている職業をシステムエンジニア(SE)と呼びます。
一応エンジニアらしいです。
専門的な技術とはまた、なんでしょう?
SEという職業に就いている人たちは、何を目指せば良いでしょうか?
新キャラクター登場、その名は「アーキテクト」と呼ぶ…
現在、私がやっているプロジェクトでは、リーダーの何名かが「アーキテクト」という称号を持っているようです。
プロジェクトにアサインされた際、プロジェクトマネージャーからとある発言がとても印象に残りました。
「うちの会社の人たち、システムの設計やプロジェクトの管理ができる人は多いけど、実際プログラミングができる人は少ないよ」
、と。
衝撃的でした。
作り方がわからないのに設計はできるってどういうことなんでしょうか?
作業者が実際作業しているところをイメージした上で設計を行うべきではないでしょうか?
作り方がわかってないのに、設計はできるのでしょうか?
それが「アーキテクト」というものでしょうか?
全く想像ができない世界でした。
称号、つまりアイデンティティ。
何を目指せばいいんでしょうか?
いま、開発、プログラミングに関わっている協力会社の人たちと、リーダー陣の間にいるような立場です。
開発に興味があると言ったら、開発にも関わらせていただいています。
上流の勉強もしてみたいと言ったら、上流の設計タスクもいただいています。
下流にも上流にも関われて、架け橋のような存在になっています。
私はどこに向かってるのでしょうか?
それは、向かって良い場所なのでしょうか?