読者です 読者をやめる 読者になる 読者になる

これからのエンジニアとしての自分

気がつけば大学もそろそろ卒業しそうだし自分の将来について考えてた事を書きたい。 どうせエンジニアになるなら一流のエンジニアになりたい。一流のエンジニアとは一体?となりますが21歳の現在の私にとって一流のエンジニアは恐らく以下の要素を持った人だと思います:

  • 新しい技術・古い技術に関わらず学び続ける姿勢を持つ
  • 上司から教わるだけでなく、自分からどんどん考えることが出来る
  • 自分の得意分野のみを伸ばすだけでなく、一見関係のない分野も勉強する
  • ユーザーのためにコードを書いている事を意識する
  • コードを書くだけでなく、どういう設計やアルゴリズムならもっとユーザーのためになるか、などそういった点も考える
  • (コーディングに関わらず)チームで働くのに適した人格である
  • 向上心がある
  • 積極的にアウトプットをする(勉強会・ハッカソン等)

よく「新しい技術を学び続けるべき」的なことは聞くと思いますが、古い技術の勉強も大切だと思います。恐らくこのまま10年、20年先になると低レベルのプログラミング言語を扱っているエンジニアは今以上に減っているだろうと思います。そうなったとき高級なPythonのようなスクリプト言語しか使えないとなるといざ例えばメモリーや速度を気にしたコードを書きたいと思ったら自分の知っているドメインのうちでしかできない(まあその頃使ってるマシンも高速になっているでしょうが)。でも必ず古い技術を学ぶ事にも意味があるんじゃないかと思っています。

自分の得意分野以外を学ぶ理由についてですが、関係のなさそうな分野だとしてもどのように自分の役に立つかわからないからです。例えばフロントエンドのエンジニアでもある程度バックエンドの事も理解してたらバックエンドとの連携ももっとスムーズになりますし、いざとなれば自分1人でウェブサービスのフロントとバックが書けていいですよね。ちなみにこの「関係ない分野のことも勉強する」という点自体、心理学の授業から習ったことなのでまさに心理学の授業がエンジニア志望の私に今役に立っていますね。

(職業)エンジニアは技術大好き!!だけではなくちゃんとユーザーのためにコードを書く事を考える必要があります。自分達が最高だと思ってもユーザーがダメだと思ったらどんなすごいサービスでも意味が無いです。エンジニアがユーザーの考えを知るために一番手っ取り早い方法は恐らく自分で実際に利用することではと思います。あとは実際にユーザーと話してみることなど。サービスの開発が終わったのでそれで全部終わり!ではなく、ユーザーからのフィードバックももらってそれに応じてアップデートもしていくべきなので、開発が終了するのはユーザーが完全に満足したときです。

1人で開発しているサービスなどもありますが、基本チームで開発することが多いと思います。大学でもチームで開発する機会はわりとありましたし、最近はオープンソース等流行っているので色んな人が関わっています。そういうとき他のエンジニアと上手くいかなければいくら技術力があっても一流とはいえないと思います。プログラマーといったらオタクでコミュ障でひきこもりみたいなイメージを持った人もいると思いますが、一流エンジニアはむしろコミュニケーション能力はとても高いと思います。必ずしも人前でのプレゼンテーションが上手いとは言いませんが、少なくともメールやチャットではちゃんと他のエンジニアと上手くコミュニケーションがとれているはずです。

エンジニアはアウトプットをするべきだと思います。画期的なサービスを作ったのならどんどん発表して普及させよう。私は日本で就職するつもりですが、(まず自分の技術力をあげる必要もありますが)日本のエンジニアのレベルを世界にみせてやりたいと思っています。もしも現在低いのなら一緒に技術力あげたいと思いますし、既に技術力のある人は今以上に技術力高めていこう。

まだ実際に職についたことがないので現時点での私の思いを書きましたが実際に働いてまた色々と変わるかもしれません。とりあえず英語もネイティブレベルにできるのでこのスキルも活かし、なんらかのエバンジェリストとして英語の資料しかない技術を日本で啓蒙していきたいと思ってますし、1つの能力を深く細くというよりは、複数の分野を広く深く勉強していけたらいいなと思ってます。あとはプログラミング以外でも例えば絵が描けるようになりたいし、DTM等も興味があるので時間があればそういったプログラミング以外のことも楽しくやっていけたらいいなと思っています。もしも東京の勉強会などで会う機会があればよろしくです。

「英語ができる」みたいな事を言うと、「え、すてにゃん私に英語教えて!!」って色んな界隈の人に言われて嬉しいけどちょっと困るのでそういった勉強会を東京とかで開くのもアリかなとちょっと思っています。仕事がどれほど忙しいかにもよるかな。あまり想像つきませんが仕事はちょっとドキドキすると同時に楽しみです。