スポンサーリンク

学生時代に独学でPythonを勉強してみた結果…

学生だった私は、エンジニアってなんかカッコいいなと思いプログラミングの勉強を始めました。

いろいろな人に相談してどうやらpythonがいいらしいということでpythonを勉強することにしました。

確かに、pythonは独学でも初心者向けのサイトや教材が多く勉強がはかどりましたが、実際にエンジニアとして現場に出てから困ったことがありましたのでまとめてみました。

pythonは学習コストが低いらしいしこれから始めてみようという方は多いと思いますので、反面教師として読んでいただけると幸いです。

独学で始めて現場に出てから困ったこと

pythonのメリットとして、学習コストが低いことや、既存のライブラリが豊富な事pythonでのAIや機械学習の研究が盛んな事などがあります。

その反面学習コストが低いゆえに困ったことなど、実際に現場に行って感じたことをまとめてみました。

オブジェクト指向?なんじゃそれ問題

一番困ったのが、この問題でした。

pythonはオブジェクト指向で書いていく言語ですが、エンジニアになるまで全くこれを意識しなかったんですよね。

他の言語でも独学だとあるあるなのかもしれませんが…

ブログや記事で紹介されているものがオブジェクト指向じゃなかったり、部分的なコードしか見れないので全体を通してオブジェクト指向が分かりずらいことが多かったです。

そもそもオブジェクト指向的な書き方してあってもそんなこと意識してなかったのでなんだこの書き方くらいにしか思いませんでした。

なので初めて職場でコードを提出した時に当たり前のように怒られました。

学生の頃は一度書いてそれが動けばよかったけど、成果物として納品するにはそれではダメなんですよね。

エンジニアとして仕事をしていくのであれば、コードを書くより圧倒的に読んだり修正したりする方が多いんですよ。

そんな時にオブジェクト指向的にコードを書いていないと他の人や自分が困るわけです。

学生の時からしっかり勉強しておけばよかったのですが、独学じゃそんなこと誰も教えてくれないんですよね…

今から学習しようと思っている方は必ずオブジェクト指向的な書き方を勉強しておくようにしてください。

日本語のドキュメント少ない問題

何年か前に比べたら日本語のドキュメントも増えてきましたが、まだまだ少ないように思います。

例えば、pythonのフレームワークのDjangoが今年の初めにバージョン3.0をリリースしましたが、それについての日本語の記事やドキュメントは少ないです。

pythonの最新情報はまだまだ海外の記事を読むしかありません。

ある程度分かっているものに関しては英語でもわかりますが、初めて触るライブラリやフレームワークについては英語だと何言ってるか分からないんですよ。

pythonに関していえば海外の方が質問などのやり取りやコミュニティは活発ですね。

もし、Webアプリ開発したいのであればRubyの方が日本では活発なのでいいかもしれません。

海外では、InstagramYoutubeなどがpythonで作られていたりと、有名どころが採用していてドキュメントも多いんですけどねぇ…

処理速度が遅い問題

pythonのデメリットで真っ先に言われるのがこの問題ですよね。

処理速度を上げたい場合は、pythonの内部のロジックが分かっていないとどうにもなりません

ですが、そんなこと勉強していてはとても学習コストが低いなんて言えないくらい難しいわけですよ。

そもそもpythonを採用するメリットって開発コストを下げていくことが主な理由なのであって、速い処理を期待してるんじゃないよと思うんですよ。

そんなに言うなら他の言語採用して開発したらいいのにと愚痴りたくなることもあります。

それでも、アンチpythonや処理速度をやたら気にする人ってどこにでもいますよね。

ということで泣く泣くpythonのロジックを勉強したりしながら処理速度を上げる勉強が始まりました。

独学でも、無駄を省いたりして処理速度を上げたりと、できることはありますので意識するところから始めてみてください。

処理速度のはかり方については下の記事でまとめていますので、参考にしてみてください。

この辺りはまだまだ勉強中なので、いつかまとめられたらなと思ってます。

他の言語が読めない問題

先輩、pythonって簡単に書けるんですよ!

うんうん。じゃあ、次はJavaの案件ね。

すみません、何が書いてあるかわかりません…

なんてことが、起きてしまいました。

中小起業のエンジニアをしているとマルチなスキルが求められます

pythonで楽をしてきた私は、他の言語のお作法がまるでわかりませんでした。

型を宣言する?なんで?

必ずメイン関数がいる?なんで?

pythonでも処理速度を上げるために型を宣言することはありますが、必須ではないんですよ。

pythonのお作法が常識としてコードを書いてきたので他の言語を初めて見た時は何言ってんの?って感じでした。

エンジニアを目指している方で時間に余裕があって、プログラミングに興味あるという方はC言語やC++、Javaから勉強するのをおすすめします。

まとめ

どれもあらかじめ知っておけば、きちんと勉強して対応できる問題だと思います。

とはいえ、こういったことを教えてくれる人もいなかったので仕方なかったかもしれませんが、少しでもこれから独学で勉強しようと思っている方の助けになればうれしいです。

個人的には、独学はおすすめしないのでメンターを探してみたりセミナーに参加してみたりするのがおすすめです!

私の答えられる範囲の質問でしたら全力でお答えしますのでコメントやTwitterのDMにお気軽にご連絡ください。

私の失敗談をまとめてみましたが、私はpythonが大好きなので一人でも多くのPythonエンジニアが増えるととっても嬉しいです。

もふチップス
スポンサーリンク
モフモフチップス

コメント