【相談】Java案件、Python案件の参画に必要なスキルは何ですか?
現在SE、プログラマーとしてオープンCOBOLを使った開発に8年間従事して現在32歳となります。
8年間と行っても保守が主で新規プログラム作成も類似機能のあるプログラムを元に作成しており仕事に面白みを感じる事が出来なくなっています。
開発の面白さや技術は勉強しないと身につかないことはわかっているのですがCOBOLの学習には身が入らず転職も視野にProgateを利用しJavaとPythonの学習をしています。
やまろうさんに質問があります。
Java、Pythonを使用した開発に参画した場合、どのようなスキルを持っていればよいでしょうか?
読者の方から相談メールをいただきました。
同じような悩みを持っている方向けに回答内容を一部紹介します。
Java案件に必要なスキル
Javaの案件は大きく分けて3種類あります。
1. Androidアプリ開発
2. スマホアプリ・ゲームのバックエンド開発
3. Webアプリケーション開発
ですので、Javaと言っても、どのタイプの案件に入るかで必要なスキルは変わってきます。
具体的に言うと、
1なら、AndroidのAPIを使ってアプリを開発する技術
2なら、JSON APIやデータベースアクセス、サーバーサイドのフレームワークなどの技術
3なら、2の技術 + HTML、JavaScript、CSS、Servlet、JSP等
です。
Python案件に必要なスキル
Python案件は、
1. AI・機械学習機能の開発
2. スマホアプリ・ゲームのバックエンド開発
3. Webアプリケーション開発
に分かれます。
1なら、TensorFlow, scikit-learnなどの機械学習ライブラリに関する技術
2なら、JSON APIやデータベースアクセス、サーバーサイドのフレームワークなどの技術
3なら、2の技術 + HTML、JavaScript、CSS等
つまり、プログラミング言語の基礎知識(文法や標準APIの知識) + 開発対象の知識があればいいということです。
どちらを選ぶべきか?
転職のしやすさで言うと、JavaでWebアプリケーション開発しているSIerが一番入りやすいんじゃないかと思います。
とはいえ、入りやすさだけじゃなく、何をやりたいかで考えることもとても重要です。
自分が興味があるのは、Webなのか、スマホアプリなのか、ゲームなのか、AIなのか?
を考えてみて、かんたんなものでいいので実際に何か作ってみるといいとおもいます。
勉強にもなりますし、実際に作ってみると、やっぱおもしろいな、あるいはなんか思ってたのと違ったな等の発見があると思います。
作ったものをネット上に公開して職務経歴書にURLを貼っておけば、選考時のアピールにもなりますし、面接時に話すネタにもなります。
そんなわけで、自分の興味ある分野が何かを考えて、かんたんなものをまずは作ってみるのがいいんじゃないかと思います。