実務未経験者がエンジニアの人と面談して分かったこと
最近データサイエンティストという職業に憧れているkingsmanです。
TRUNKという学生にプログラミングのインターンを紹介するベンチャー(認識が間違っていたらすみません、)で、エンジニアの人とキャリア相談をしてきました。
忘れっぽい性格なので、聞いてきたことを書き残して共有したいと思います。
もしあなたがprogateとかでプログラミング勉強しており、インターンとかやってみたいなと思っていたら、この記事は役に立つかもしれません。
プログラミングやってる会社ってどんなのがあるのですか?
緊張してアバウトな質問をしてしまいましたが、丁寧に答えてくれました。
業界は大きく分けて、Web系と金融系と機械系があるそうです。
Web系:・人の入れ替わりが多い(2,3年で転職する人が多い)
・プログラムの多少のバグがあっても平気で上げてしまうらしい
・リモートで働くこともできる
金融系:・Web系と比較すると人員は固定がち
・めっちゃ沢山コードテストする
(銀行の預金履歴とかがバグで消えたら大変!!)
リモートで働ける企業は、割と小規模なところが多いみたいだ。大きい会社は社員の統制を取るためだったり、株主の目をあるからあまりフレキシブルにやれないと教えてもらった。
私は特に、機械学習やディープラーニングに興味があったので、その辺のエンジニアの状況も教えてもらった。
どうやら分野的に、ディープラーニング、自然言語、画像の3種類に分かれるらしい。
ディープラーニングと画像処理については、アメリカや中国が勢いがすごいけど、自然言語に関しては、まだ日本も頑張っているらしい。自然言語って、日本語とか英語のことだけど、外国人の研究者は日本語分からないから、日本語の処理は日本人に任せとけって感じらしい。
AIエンジニアとかデータサイエンティスト、機械学習エンジニアとかの言葉は、混合されやすい。Googleではそういう人たちは、複数のチームで仕事をする。
極論すると、コンピューターは0と1を入力して、0と1を出力するもの。
例えば機械学習のために、ある画像を入力しようとしている。その画像には、立ち止まっている人が映ったいるが、なぜその人が立ち止まっているのかを機械に教えてあげる必要がある。ここにチームで動くことの利点がある。
もしあなたが法律家だったら、人が立ち止まっているのは信号が赤だからとかいしゃくしる。もしくは行動心理学者であれば、目の前に人がいるからだと解釈するだろう。
機械学習によって出力された値にも、同じプロセスが必要になる。
データサイエンティストのお仕事は、機械学習から得られた知見を経営に生かすことです。解析したデータを見せておしまいではなく、そこから何が言えるのかを考えるのが重要。
データサイエンティストとか機械学習でインターンしたかったので、どれくらいスキルがあればOKなのか聞いてきました。
面談に行った時の私のPythonスキルとしては、クラスがまだ完全に理解できていない。
Juypter notebookを少し触ったことがある位です。面談の前にチュートリアルで
Django使ってWebアプリ作る。それをGithubで公開しようと目論んでいましたが、無理でした。
イントロダクション · workshop_tutorialJP
あとKaggleは挑戦した方がいいみたいです。
Kaggle: Your Home for Data Science
これで上位入賞できれば、一発でインターン受かるよwとまで言っていました。
ぼちぼち取り組んでいきたいです。
一人で悩むよりも、思い切ってエンジニアとして働いている人を聞けて良かったです。
※ここで書いたことは、面談の中で言われたことですべてのプログラマーに当てはまるとは限りません。私の勘違いもあるかもだし、間違っている可能性もあります。参考程度でお願いします。