2021-06-17

経験から1ヶ月でWeb企業就職する勉強法

取り上げた技術は、本格的な開発でも役に立つもので、最も学習コストが低いものを選んだ。

重要度が低いものは載せていない。たとえばHTMLCSSなんてググりながら書けば全く問題ない。Bootstrapなどのフレームワークも全くやる必要はなく、仮に就職先で使っていたら覚えればいい。

逆に言えば以下に挙げる技術は、そもそも概念自体プログラミングにとって普遍的ものであり、(基礎的な部分を)調べながら使うようではエンジニア失格ということ。

基本的現在では、バックエンドフロントエンド運用保守全てができないエンジニア価値は無い。

以下に挙げた技術(①⑤⑥は他の言語フレームワーク代替可能)が身に付いていなければまともな企業就職することは難しい(もちろん、下らない業務システム下請けで作ってる底辺企業には入れるだろうが)。

経験者でも、これらができない/わからないのは、相当恥ずかしいことだと思った方がいい。

特定言語フレームワークの書き方を知っていること自体意味は無い。

重要なのは、他の言語フレームワークにも共通する基礎を理解すること・保守性やセキュリティなどの品質を高める使い方ができること。

PythonJavaScriptマスターする

この2つは習得が容易だし、今覚えておけば向こう10年腐ることはないだろう。

プログラミング言語完璧理解する必要がある。

基本的な構文や、よく使う標準ライブラリは勿論、高階関数クラス・非同期処理等の発展的な機能も知り尽くしていなければならない。

言語のみではなく、パッケージ管理単体テストタスクランナー等の周辺ツールの使い方も熟知している必要がある。

また、「リーダブルコード」や「コードコンプリート」に書いてあるような良い作法も身に付ける必要がある。


Gitの基本操作を覚える

Gitを使えないのはプログラマーとして論外。細かい機能は調べればよいが、

等の基本的フローは必ずできなければならない。


Linuxの基本操作を覚える

多くの場合、本番環境テスト環境Linuxサーバーであるから、以下のような基本的概念と使い方を知っておく必要がある。


Dockerの基本操作を覚える

環境構築、CIデプロイなどは、現在コンテナを使って行うことが当たり前になっている。

これも細かいことをすべて覚える必要はないが、Dockerfileの書き方や、docker-composeの使い方などは知っておかなければいけない。


⑤ Flaskを覚える

Flaskは、数あるWebフレームワークの中で最も簡単。本当に呆れるほど簡単で、Pythonさえ書ければすぐにアプリを作れる。

フレームワークを覚えること自体重要なのではなく、Web開発の基本を習得することが重要HTTPルーティングデータベースSQL認証セッション管理などは当然すべて覚える。

データベースは、就職したらMySQLPostgreSQLなどを使うことが多いかも知れないが、今はPythonの標準ライブラリにあるSQLite3を使えば十分。

作ったアプリを公開したければ、「Heroku」などにデプロイするのが良いだろう。

追記 2021/06/17 14:07

ブコメで指摘をいただきました。HerokuではSQLite3は使用できないようです。公式ドキュメントに従ってPostgreSQL使用して下さい。

SQLite3はファイルデータを持てる簡易DBなんだけど、Herokuデプロイしてもストレージ的な使い方はできないから、結局PostgreSQLを使う必要あるから注意してね。(DAOを丸ごと書き換える羽目になる)

参考: https://devcenter.heroku.com/ja/articles/sqlite3

ありがとうございます

Vue.jsを覚える

今の時代フロントエンドフレームワークなしで作るのはただのバカ

2021年現在実用的なフロントエンドフレームワークはReactとVueしかない。Vueの方が少し簡単なのでこちらを選んだが、JavaScriptをしっかり理解しているなら大差は無い。

フロントエンドには膨大なパッケージ群があって全部覚えるのは大変だが、とりあえずまずはVue完璧に使えればいい。Webpackの設定などは既存のものを流用すればいい。



基本的アルゴリズムを学ぶ

アルゴリズムは全てのコンピュータ技術の基礎であり、絶対に知っていなければならない。

高速フーリエ変換のような高度な数学必要ないが、クイックソート木構造のような基本的アルゴリズムは当然、その性質を知っていなければならない。

それらは言語組み込み関数や標準ライブラリでも使われており、理解していなければ、それらの機能を正しく使うことができない。

また、プログラムを読み書きする際には、そのコード計算量を見積もれなければならない。

セキュリティを学ぶ

セキュリティは言うまでもなく学ばなければならない。

有名な脆弱性攻撃手法XSSSQLインジェクション・CSRFなど)が何だか理解していて、その対策実装できなければならない。

各種暗号化技術署名などについても、実装の詳細は知らなくていいが、共通鍵暗号や公開鍵暗号などの特性理解する必要がある。

認証パスワード管理などを実装する際は、当然ベストプラクティスに従わなければならない。

  • ⑦ 基本的なアルゴリズムを学ぶ は不要 それ以外は同意

    • その心は? たとえば、Pythonの標準ライブラリにはheapqというものがありますが、二分ヒープの仕様を知らずにどうやってこれを使うのでしょうか。 Pythonの組み込みのlistと、collections.dequ...

      • この2つはどっちも基本情報に出てくるような常識的なこと ヒープからの要素の取り出しは最小値を取り出すこと リストの左端からの取り出しと、デックの左端からの取り出しは計...

    • 初心者にこんなものやらしたら、挫折しそう。順序がまるで違う。

      • そもそもエンジニアはソフトウェアを作ってお金をもらう人だぞ 能力が低い人が挫折するようなことが出来るのは当たり前なんだよ 会社は社会不適合者にお金を恵む慈善団体じゃない

        • 日本のような超IT途上国で働いている人に言われても説得力ない

      • 初心者にって、、アルゴリズムなんて大学なら1年め(か2年め)くらいには教わる必修事項じゃん。アルゴリズムを通らずにCSをやったとは言えないだろ。(それでもエンジニアの自称...

      • 教える気がないなら何とでも言えるからね 10人中1人いる秀才や適正がある人を見つけるならこれだろうけど

        • 「教えて欲しい」なら、個人の判断でそういうとこ行けばいいじゃん ほとんどのプログラマは(別にプログラマに限らずほとんどの専門技術職は)独学で最先端のレベルまで身に付けて...

          • 元増田の事に対して言ってるのであって、私も同じ意見だよ

    • 基本的なアルゴリズム「名前だけでも覚えて帰って下さい」

      • サンドの人殺してそうな方「スパゲティコード書いてるとこすみません」

    • これはマジ。計算量とかアルゴリズムとかぶっちゃけそんなん気にする人が気にすればいい。 jsとかpythonとかの遅い言語使うならいるかもしれんが、大抵のコンパイル言語なら適当にマ...

  • まーーーーーーたこの手の代わり映えのない虚無増田かよ 手軽にブクマ貰えると思ってゴミを増やすなよ

  • 「当然すべて覚える」と書かれている部分をどう覚えるべきなのかも教われたらうれしい。 FlaskやDjangoの教科書やオンラインのコースを見てもおまじないと写経ばかりで、根本的な部分...

    • flaskやDjangoはフレームワークだから、深く考えずにそんなもんかなぐらいの認識でいいんじゃないの。楽するためにあるわけだし。  

    • じゃあ根本的な理屈を勉強すればいいじゃん

  • 日本でPython使うのは機械学習系ばかりで、初心者エンジニアに最適な言語とはいえない。世界じゃ流行ってないネトウヨが作ったRubyという落ち目な言語をオススメする。自分は使わない...

    • 言語は何でもいい(COBOLとかFORTRANとかを除いて) 「ソフトウェア開発の技術」が身に付いていることが重要

      • オバチャマはね、COBOLを推したいと思うのよね。

      • 実務経験を得るためには就業先ですでに使われている言語の理解をしておく必要がある。その間口を少しでも広げるために広く使われている言語を選択すべきだ。

    • むしろRubyの方が使われている領域が狭いではないか。ほぼWeb系の世界だけだろ。それも日本限定に近い。 それに比べたらPythonの方が実際の守備範囲は広い。また、初めてのプログラミ...

      • 別にどっちでもいいと思うよ Rubyにするなら、Webフレームワークはほぼ必然的にRailsをやることになる RailsはFlaskよりは学習コスト高いが、この「カリキュラム」を1ヶ月でマスターできる...

  • まあまあ、これ系の増田にありがちな強い主張ですこと 実際は半分(4/8)できてりゃ上等

    • それでももちろん就職はできるよ ただ就職先は、ブラック企業か、スキルの低いエンジニアしかいなくて成長が無い会社しかないというだけ

      • では優秀なエンジニアの集まるそのweb企業を屏風から出して下さい

    • 半分でいいわけねーだろ(笑) 別に、世界中に1000万人のユーザーがいるサービスを作れとか言ってるわけじゃない。 こんなん、公式ドキュメントか本読んで一通りの使い方と正しい実用例...

  • web系企業なら未経験でも短期間に技術が身に付いて楽に就職できるという幻想だと思うけど 土建屋の方がずっと楽で金もいいし労働時間も短いよ

    • web系企業なら未経験でも短期間に技術が身に付いて楽に就職できるという幻想だと思うけど 一体どこをどう読んだらそう読めるのか

  • 人事俺「え、未経験なのにjavaやってないんだ笑」

    • 面接された俺(後で「圧迫面接された」「嘲笑われた」「人にマウンティング取る面接官がいる」「オフィス内にモチベーションアップ株式会社のポスター貼られてる」「面接官の顔がチ...

      • 面接官俺「うーん、スラップ訴訟で晒しあげ!wついでにハセカラけしかけとこw」

  • 「未経験」というのは「業務として未経験」という意味であって、「プログラミングをしたことが無い」とか「PCを操作できない」ということではない。 そもそも、なぜそんなレベルの...

  • よいまとめだね JavaScript/Git/Linux/セキュリティ、この4つが優先度高いと思う あとは基本的なHTML/CSSの理解は必須 これ一通りやってれば「とりあえず」の就職は絶対困らないはず ほかのラ...

    • 確かに合ってるんだが、最近はスクールが面接指導でこういう「ツボを抑えたPR」まで面倒見てるみたいで、本当にわかってるのかどうか細かくツッコんで確認しないといけないのが、採...

      • なるほど 実技試験ってすくないのかね まあ面接だけじゃわからんよな ワイの経験ではCSS/JSの簡単なテストはさせられたな30分くらいで

      • コードを提出させても、スクール謹製のチュートリアルに毛が生えたものを提出してくるからな これは詐欺だと思う

        • RailsでCRUDやログインなどの一通りの機能を実装したアプリを提出してきて、結局教材のコピペだったなんてことはよくある

        • スクール業界ってわりと独自の論理=金儲けロジックをもってるからなあ PC教室専門に卸してる教材制作会社とかと癒着しててかなりエグいで

          • スクール業界がいま目を向けてるのがプログラミングだからなw 自学自習という根本的なベースを知らない初学者が食われてしまう・・・

  • 勉強法じゃなくて勉強する範囲を示してるだけじゃん。

    • 何を知りたいの? 単語カードの書き方?

      • いや知りたいとかじゃなくて勉強法って書いてるのに内容違うよねって指摘。

        • あなたの言う「勉強法」って何?

        • 「何を勉強するのか」は勉強法だろう 少なくとも普通の大人にとっては 「どうやって勉強するのか」を教えないといけないのか?公式ドキュメントか本(オライリー、翔泳社、技術評論...

        • Pythonチュートリアルを読みます。 書いてあることを理解して、コードを書きます。 期待通りに動いたら次へ。そうでなければ自分の理解が間違っているところを探して、再びコー...

    • ↓これおすすめ 誰でもプログラムを書けるようになる方法見つけた https://anond.hatelabo.jp/20190311201003

  • これが不必要に高いハードルを課しているとは思わない どれもWebアプリエンジニアには必須の知識でしかない 世の中には、 「プログラマになるには、コンピュータサイエンスの全分野...

  • 未経験者がこれを1ヶ月で覚えられるなんて一体どんな画期的な勉強法なんだ、と思ったら肝心の勉強法が書いてなかった… ワロタ

  • newnakashima エンジニアになって楽して年収1億稼ぎたいとか思ってるカモを集めて1ヶ月でPython + Flask でサイト作らせて「これで君もエンジニアだ!(笑)」でボロ儲けしてるプログラミ...

  • 本当に就職するだけなら、Python か Javascript のどちらか片方とアルゴリズムだけ覚えて、Paiza で A ランクとか取ればそこそこ選んで就職できるよ。 もちろん就職してからこのあたりの知識...

    • Paizaがいいのか…

      • Paiza は AtCoder と比べて簡単な割に、いつでも受けられて、求人もちゃんとそこそこ良い条件のところが揃っていて良いよ。 正直 AtCoder の方がプログラムコンテストとしては質が高いとは...

  • これのどこにマウント要素があるのか分からん クライアントとサーバーそれぞれで使う言語とフレームワークを習得して下さい 業務で使うツールの使い方を覚えて下さい アルゴリ...

    • 未経験者が一ヶ月で学べる量じゃないからだろ

    • ぶっちゃけ研修で全部教えてくれる企業のが多いだろ、未経験者歓迎ならさ 教えてくれない所はそれこそブラックだからやめとけ

    • 全部出来たら企業に就職する必要ないな。 フリーランスで月70~80万はもらえる。

  • 正直、CSの学位や有名企業での経験などが無いのに、この程度のこと勉強せずに就職したいというのは、虫が良すぎる そういう人がいるから、悪質な就職エージェントやスクール業者も...

  • anond:20210617075257 私は一流SIerの上級管理職をやってるけど、こんな要素技術なんて結局意味がないんだって何回いったらわかるんだろうね日本のエンジニア()は。この程度を勉強したと...

  • web技術ってつくづく興味湧かねーな…。技術と言うよりは技能なんだよなあ。原理がなくてノウハウの寄せ集めでしかないというか。それはそれで世の中には求められてるんだけどさ。 ...

  • https://anond.hatelabo.jp/20210617075257 0. 温度感 基本的に現在では、バックエンド・フロントエンド・運用保守全てができないエンジニアに価値は無い。 経験者でも、これらができない/わ...

  • >PythonとJavaScriptをマスターする この時点で趣味程度に嗜んでるレベルなんだなとわかった なんで素人に毛が生えた程度の奴ってすぐ言語を「マスターする」って言い回しするの? 言語...

  • 碌にコード読めない人間がごろごろ参画してるジャップランドではこんな水準必要とされていないシーンのほうが多い。

  • これに文句言ってる奴ってどんだけ意識低いの 書いてあることは、中上級者レベルのプログラミングの本を数冊読んでいればその過程で身に付くような内容ばかり 「言語とフレームワー...

    • そりぁまあ東京大学に受かるためには東京大学レベルの勉強をしましょうって意見に反論する人はおらんやろな。

      • 東大で学ぶことを高校で勉強したら大学いかんでいいやん、

      • 具体的な勉強内容書いてあるんだから、勉強すればいいじゃん

    • 「言語とフレームワークの知識をきちんと身に付けましょう」「Git、Linux、Dockerの基本的な使い方覚えましょう」「アルゴリズムとセキュリティの基本を勉強しましょう」 これに反論...

  • これ、「将棋で初段になるには定跡をひとつしっかり覚えて、複雑でない5手詰は数秒で解けるようになりましょう」程度の内容だろ それに対して、「それが出来たら羽生より強い」み...

  • ここのコメント欄を見てホリエモンの「賃金が安くても働く奴がいるから賃金が上がらない」論がようやく理解できたわ プログラマになるのに「プログラミングを勉強する気がなくて未...

  • タイトルに無理があるけど、やるべきリストとしては参考になると思う。 アルゴリズムを含めるべきかどうかは正直どうでもいいかな。ただ、最初ではなく最後の方に持ってきたのは割...

  • アルゴリズムいらないって言ってる奴いるけど正気か。 そういう奴は、これのどっちが正しいかみたいなことをいちいち個別に覚えるのか。 nodes = get_node_list() // 処理対象のノードをリ...

    • そのnodesのデータ型が分からんからどれが正解か分からん。 っていうか速度とかメモリ使用量って言語に依存する場合もあるし、何が正解かなんて結局分からん。 スレッドセーフなのは...

    • こういうのは中身知らなくてもいいように、引数無しが最も高速なように作ってある とはいえ、知らなかったからググったけど、Pythonのリストは内部的にはCの配列だから、pop(要素を取...

  • 情報系卒業予定のワイ、来年の研修でこれらの一部やらされるのか… それにしてもwebとかシステムのエンジニアを「エンジニア」って表記する人嫌い 機械や化学の分野にもエンジニアは...

    • 業界の人は自分の業界の名前を省略するよ どの業界もだいたいそうだよ

      • インターネットユーザ全員がweb系エンジニアだと思ってそう

        • 単に情報系エンジニアのネットリテラシーが高く他業種のエンジニアはネットに出没しない傾向にあるだけの話だと思ってる

  • これは何がいけないのか分からん プログラミング言語とフレームワークを理屈理解して書けるようになれなんて、プログラマとして初歩の初歩じゃん プログラミング勉強する気ないけど...

    • 1ヶ月でできる、って点じゃないかな?

    • 少なくとも増田にいる連中は年収1000万の夢は見てない定期

    • 「アルゴリズムはいらない」という人がいるのが信じられん たとえばスレッド型掲示板で、各レスに何回アンカーがついたか調べるのに、↓のどっちがいいのかとか考えないのか var repl...

  • 1ヶ月では無理とか言ってる奴いるが 無理なら半年かけてやりゃいいじゃん やるのは自分なんだから 「これをやれ」って示されたことすらアレコレ文句言ってやらない奴が仕事なんかで...

  • 「アルゴリズムはいらない」という人がいるのが信じられん たとえばスレッド型掲示板で、各レスに何回アンカーがついたか調べるのに、↓のどっちがいいのかとか考えないのか int[] re...

  • これのコメント欄を見ていて、日本の(自称)貧困は自己責任だと確信したわ 技術を勉強したくない ぶっちゃけブラック企業でいい 入社してたまたま研修等が充実してたらラッキ...

  • 1ヶ月でできるかどうかはともかく これができるなら弁護士目指した方がいい 就職してから勉強すること無さそう ○年やってるけど、ここに書いてること半分も身に付いてない ...

  • これを批判してるのって、人生においてまともに勉強した経験が無い奴ばかりなんだろうな。 たとえば、大学の教科書なんて、1科目500ページを超えるようなものが何冊もあって、学生...

  • 「言語をマスターする」に食い付いてる奴って、典型的なイキり低学歴だよな 正直、一定レベル以上の技術者からしたら、プログラミング言語において 絶対に覚えてなければいけな...

  • これは何が叩かれてるのかわからん まともなエンジニアなら当たり前のことばかり 「アルゴリズムは学ばなくてもいい」なんて意見が散見されるのは、素人が思い込みで言っているので...

  • 専門技術職として働くつもりなら、このくらいはやろうよ 料理人になるのに調理器具の使い方覚えるようなもんだろ

    • 料理人なら、一流料理店の料理人とチェーン店のキッチン担当で格が違うのは一般人にも明らかだが プログラマの場合、ちゃんとした技術を身につけている人と量産型プログラマが同列...

      • いや腕に見合った会社に入れよ。 ファミレスで働いてんのに、俺の料理の腕は一流なんだから、それなりの給料払え、って通じないでしょ。

  • リンク 2021年度 匿名ダイアリーTOP250 2021年度 匿名ダイアリーTOP251-500 ランキング 順位 ブクマ タイトル 1 2558 当たり屋対策の集合知 2 2336 洪水被害にあったらやる...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん