文系エンジニアとして成功する人の素質と考えてみた

こんにちは、MIYACHIN(@_38ch)です。

この記事では、ソフトウェアエンジニアになろうかと考えている学生の方に向けて、エンジニアとして成功する、もしくは楽しんで仕事をしている人が持っている素質はどのようなものがあるかをご紹介していきます。

目次

  1. 僕の経歴紹介
  2. エンジニアに向いている人の特徴3つ
    • 整理整頓が好き・無駄が嫌い
    • ナレッジシェアが好き
    • 課題解決が好き
  3. 素質がないとエンジニアになれないのか

僕の経歴紹介

この記事を書いている僕は、文系(経済学部)の大学を卒業し、卒業後、ITスタートアップで、1年プログラミング(PHP, Java, Node, Angularあたり)を勉強したのち、新卒で某外資系のIT企業にソフトウェアエンジニアとして入社しました。

入社後も、特に精神的な負担なく仕事自体を楽しめていますし、今年(2018年)は毎週末同期とオフィスに出社し、業務外のアプリ開発をしてたりしたので、プログラミングにおいて圧倒的な才能があるわけではないですが、どちらかというとエンジニアという仕事を楽しんでいる部類の人間かと思います。

また、僕の同期のソフトウェアエンジニアは50名くらいいて、そのうち半分くらいは文系なのですが、その中でも、学生時代は情報系でプログラミングを経験していた同期を入社1年くらいで追い越してバリバリコードを書いている同期も何名かいます。

そういう人たちにはどういう素質や特徴があるのかなんとなくわかってきたので、この記事で紹介していきます。

エンジニアに向いている人の特徴3つ

それではどういう人がエンジニアに向いているかをみていきましょう。これはあくまで僕個人の意見や感想なので、こればかりではありませんのでご留意ください。

① 整理整頓が好き・無駄が嫌い

これは例えば、オブジェクト志向などの概念を理解できた時に、「すげー!!」と思えるかどうかという話かもしれません。

オブジェクト志向とは、分からない人のために超簡単に説明すると、コードを部品化して、簡単に再利用するという考え方です。

整理整頓が好きな人は、自分が管理しているものの秩序を乱したくない、秩序を整えることに快感を覚えます。なので、コードを綺麗にかける喜びに取り憑かれやすいと思います。僕とかもそうなのですが、綺麗にかけた自分のコードは何度も見返してニヤニヤしてしまいますね笑

また、この項目に当てはまるかはちょっと分からないですが、数学の長い式展開の中から計算ミスを見つけて、答えが1とかの綺麗な数字になった時に快感を覚えられる人は確実にエンジニアに向いていると思います。

基本的に開発している時は何百何千というコードの中からバグを引き起こしている箇所を発見し、それを修正することで機能を作っていく時間が大半です。

② ナレッジシェアが好き

ナレッジシェアが好きな人は、ナレッジシェアができていない人に比べて、圧倒的にインプット量が違います。なぜなら、アウトプットする時に、「これで発信しても大丈夫かな」と再度自分の知識を見つめ直すからです。

ナレッジシェアをしないのであれば、自分の知識が曖昧なままでも他人に迷惑をかける可能性はないので、知識は曖昧なままです。ナレッジシェアをすることで、自分の知識に磨きをかけることもできますし、常にナレッジシェアコミュニティに身を置くことで、インプット自体にもレバレッジがかかり、正のサイクルが回っていくでしょう。

ちなみに、ナレッジシェアを好きになるにはどうしたらいいかというと、個人的にはまず、一回Qiitaとかを書いてみて、他人のリアクションやコメントをもらうという経験をすることだと思います。

僕は、2018年の上半期は、同期と週一でQiitaを書くSlackグループを作って頑張っていたのですが、その時に書いた記事が今でもデイリーで120~130PVくらいはあります。

③ 課題解決が好き

これは要するに、プログラミングはあくまで課題解決のツールでしかないと理解している人です。もちろんコードを書くこと自体を楽しんではいますが、今自分のレベルで、どんな課題を解決できるだろうと常に考えています。

例えば、僕が最近ローンチしたアプリ「Walica」では、旅行先やホームパーティなどで発生する複雑な割り勘を、あらかじめアルゴリズムを書いておけば簡単に清算できるのではないかという発想から生まれたサービスです。

何度か試行錯誤して、アルゴリズムを調整し、与えたテストデータに対して、最適な割り勘清算方法が出力された時は、嬉しさのあまり一緒に開発していた会社の同期とハイタッチをしました笑 ですので、ある種、実験とか試行錯誤がすきな人はかなりプログラミングに向いているかもしれません。

素質がないとエンジニアになれないのか

結論からいうと、NOだと思います。

もちろん、SI系の企業とかには、別にプログラミング自体を楽しんでいる人ばかりではないですが、それでも仕事としてこなし、十分な給料をもらっている人もいます。

しかしながら、普通に考えて、プログラミングを楽しみながらやっているひとにはスキルで勝つことは難しいと思いますし、もちろんスキルのある人たちの方が年収も上がっていきます。

そういう人たちにどうやって市場価値で勝負していくかというと、いかに課題解決ベースで物事を考えていくかだと思います。エンジニアは時として、テクノロジーベースで物事を考えてしまう人がいます。

これはどういうことかというと、例えば、「ブロックチェーンを使うには、どういう市場でプロダクトを作ればよいか」と考えてしまうことです。

本人は、ブロックチェーンというテクノロジーを使うということが優先的で、どの課題を解決するかということが二の次にきてしまっています。やはり企業に属していても、スタートアップをするにも結局、お金を稼げるのは課題解決ができる人なので、その辺りを意識すれば良いのかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です