Pythonは、AI, IoT, アプリケーション開発など、様々なの分野で活躍できる言語である。
Pythonのスキルを身に着けたいと思っている人も増加しているが、未経験でも働けるのか?
この記事では、そういった疑問に答えたい。
私自身のこれまでの経歴
私自身、フリーランスのエンジニアになる前は、SIerでシステムエンジニアとして働いて来た。
エンジニアと言っても、実際にコーディングをすることはなくて主にインフラ周りを担当してきた。
インフラと言っても、実際にシステム構築をしたり、ソフトウェアのインストール・設定をするわけでなく、
マネジメントを担当してきた。
プログラミングの経験はあるが、それはあくまでインターンシップでの経験であり、正社員としての経験はなかった。
要するに、エンジニアとしての技術力はゼロとは言わなくても大変低かったのである。
以下が、案件参画時【面接時】の私のスペックだ。
- SEとして4年間勤務(主にインフラ担当)
- Linux, SQLは一通り扱える
- PHP(CakePHP)とJavaのアプリケーションの開発をインターンシップで1年経験
- PythonとアプリケーションフレームワークであるDjangoを独学
こういった経歴ではあったが、無事フリーランスとしてpythonの案件に参画することができた。
次に未経験からPythonの案件に参画するために必要なことについて説明したい。
Pythonの案件に参画するために必要なこと
前述の通り、Python未経験ではあったが無事採用されてフリーランスのエンジニアとして採用された。
その経験から以下の3点があると未経験でも採用されやすくなると考えた。
- プログラミングに関する最低限の経験
- フリーランスとして働く上で最低限必要なスキルがあること
- アピールを良くする
それぞれ、詳細にご説明したい。
プログラミングに関する最低限の経験
やはり最低限、一つの言語についての知識は身に付けておきたい。
業務経験が必要であるとは必ずしも言えないが、基本的なプログラムの書き方、オブジェクト指向の使い方、エラーが発生した場合の調べ方などは、最低限身に付けたい。
それがない場合、まずはそれを会社が教えなければいけないため、採用は見送られる可能性は高い。
ましてやフリーランスは即戦力を求められるため、なおさら採用はされにくいだろう。
そして、ライブラリやフレームワークの知識も身に付けたい。
例えば、Webアプリケーションのサーバーサイドの開発をしたいのなら、サーバーサイドのフレームワークの知識は必須だ。
Laravel, CakePHP(PHP)
Django, Flask(Python)
Spring(Java)
など、フレームワークは言語ごとに色々あり、どのフレームワークも作成方法はある程度共通している(MVCモデル)ため、その共通部分(MVC)を実際に開発して身に付けることが必要なのである。
それに加えて、開発を続けるとエラーが発生し、そのエラーの原因を自分で突き止めてプログラムを修正する経験をする。
その経験を通じて、問題が発生した場合にその問題に対処する能力を磨くことも必要である。
まずは、正社員でも派遣社員でもよいから開発の経験が積める職場で働くことをお勧めする
もし、開発の経験がつめないような職場で働いている場合には、ご自身でプログラミングを勉強して、アプリを作成することができるようになればよい。
今、エンジニアは不足しているため、仮に開発の実務経験がなかったとしても、インフラなど開発以外の経験があり、アプリ開発を独学でできるようになっている人なら採用される確率は高いだろう。
フリーランスとして働く上で最低限必要なスキルがあること
プログラミングに関する最低限の経験が必要があると述べたが、仕事はプログラミングをだけでなくそれ以外の業務もあるため、フリーランスにはプログラミング以外にもある程度持っておきたい知識がある。
専門的な知識に対して、全般的な知識のことであり、エンジニアとして働くためにはある程度身についておかないといけない知識である。
例えば、以下のような知識があれば採用の可能性は高まるだろう。
- LinuxコマンドやシェルスクリプトなどLinux全般
- gitを利用したリポジトリ管理
- 基本情報・応用情報などのIT全般
- SQLを用いたデータベースの操作
- HTML, CSS, Javascriptなどのフロントエンドに関する最低限の知識
また、以下のような知識があればなお良いだろう。
- Docker, Kubernetesなどコンテナ型仮想化
- AWS, GCPなどのクラウドの操作
- Jenkins, Circle CIなどのCI/CD
アピールを良くする
一般的にフリーランスエンジニアとして働くには、以下流れでエージェントへの登録から面接まで行う。
- フリーランスエンジニアのエージェントに登録する
- 経歴書を作成して、働きたい企業にエージェントから渡してもらう
- 面接(現場リーダーと1回のみ)
フリーランスエンジニアのエージェントではあるが、私の場合以下の2社を利用した。
他にもエージェントはたくさんあるので、複数登録して利用するとよい。
自身のスキルに応じて、採用される案件はあるのか相談に乗って頂ける。
経歴書にどういった内容を記述するのかは、エージェントと話し合って決めるのが最もよいと思うが、基本的には、上のプログラミングに関する最低限の経験とフリーランスとして働く上で最低限必要なスキルがあればよいだろう。
これらを、経歴書に書き込みアピールするのである。
私の場合以下のことをアピールした。
- プログラミングに関する最低限の経験・・・Python以外の言語なら業務経験があること(ない場合はプログラミングスクールや独学について記載する)
- フリーランスとして働く上で最低限必要なスキル・・・Linux、SQLなどは使いこなせること、gitについては問題なく利用できること、基本情報・応用情報の知識は持っている事について記述した。また、前職ではマネジメントをしており、リーダシップや作業時間管理もできることなどをアピールした
また、実際にプログラミングの業務経験がないという方は、本、オンライン講座、プログラミングスクールなどで学習した内容をgitに上げて、経歴書にgitのURLを記述するなどでも良いだろう。
採用される難易度は、実際にpythonの案件を調べてみた
未経験でフリーランスのpythonの案件に採用される難易度だが、他の言語と比較してpythonの経験者は少ないため採用されるおそらく可能性は高いであろう。
実際に検索して確認をしてみたい。
案件を検索するには、とりあえずフリーランススタートなどを活用してみると良い。
フリーランススタートは、様々なフリーランスエージェントの求人情報をまとめたサイトのため、ここで検索することである程度の求人情報をチェックすることができる。
案件の詳細は伏せるが例えば、以下のような案件であれば未経験でもpythonの案件に採用される可能性はある。
【開発環境】
言語____:Python
DB____:-
FM____:-
環境・OS_:AWS Lambda,AWS S3
ツール___:-
その他___:-
必須スキル
・Pythonでの開発経験(特にpandas,Requests,jsonモジュールなど)
・必要な知識やスキルを自ら学んで獲得していく意欲が高いこと・社内他部門やパートナーとのコミュニケーションや協働を厭わないパーソナリティ
・外国籍可(ビジネスレベル)
・ご年齢(~49歳迄)
※当業務についての未経験者不可
尚可スキル
【スキル】
・AWSでの開発経験(LambdaやS3など)
【人物面】
・勤怠が良好な方
・コミュニケーションが問題なく取れる方
ちなみに、給料は月額60万以上であった。
上の例なら、pythonの開発経験が必須スキルと記述されているが、実務経験が何年といった要件はない。
また、pandas, Requests, jsonモジュールなどは独学でも十分身に付けることができるので、独学で学んでgitにコードを上げて評価してもらえれば、未経験でも採用される可能性は十分にある。
また、コミュニケーションや協働を厭わないパーソナリティやAWSの開発経験があれば尚可といった記述から、コミュニケーション能力やAWSの経験を重視していることがわかる。
pythonができなくても、コミュニケーション能力やAWSの経験があれば採用される可能性は高いので未経験でもチャレンジしてみる価値はあるだろう。
上の例は、あくまでフリーランススタートでpythonと検索して表示された4627件から7件目を選んだものなので、4627件全て探せば、いくらでも例は見つかるだろう。
いずれにしても、まずはエージェントの方と一度相談するのがよい。
レバテック社であれば、無料でエージェントの方1対1で相談することができて、自分は採用される可能性があるのかどれくらいの月収になるのか確認することができる。
実際に、私も会社を辞める前に相談して月収を伺ったが、採用後の月収は相談した際に提示された月収よりも5万円ほど多い程度で大差はなかった。
以上で、未経験からpythonのフリーランスになる方法についての説明を終える。
pythonは未経験でも働ける可能性は十分にあるが、フリーランスとして採用されるには、pythonもそれ以外の分野もある程度経験が必要であることがわかる。
参考にして頂けると幸いである。