始めに
ういっす、まんじです。
今回はぼくも昔というかウェブエンジニアとしてプログラミングで労働する前に独学で勉強してた頃に気になっていた実務レベルっぽい部分について解説したいと思います。
結論的に言うと、最初独学で0~半年?10ヶ月以内?ぐらいの経験だと、一部の本当の天才を除いては実務レベルのコードは最初死ぬほど難しく感じることがほとんどなレベル感だと思います。
あと、なんだか実務レベルっていうとすごいドヤ的な響きがしますが、労働をすれば半年~10ヶ月ぐらいで慣れてくる確率が95%ぐらいだと思います。ただ、入った直後から半年はやっぱり難しく感じると思います。
すみません、さらに追記すると、これはウェブのエンジニアの場合の話で、ウェブ制作とかとは違います。
実務のレベル感
大体のイメージとしては、自分の使える技術領域でgithubに上がってるOSSプロジェクトのコードを動かしつつ読んでPR出せてほぼ問題なくマージされるのが、いわゆる実務レベルかと思います。
もちろん、そのプロジェクトのコードの複雑性や難易度によりますが、、、ウェブアプリ系のOSSリポジトリならあながち間違っていないです。
一方で、もっと根っこの部分のReactのリポジトリとかを読んで修正出せてとかだと、もはや実務レベルというか、多分凄いレベルだと思います・・・が、どうなんでしょう・・・?慣れ・・・なのか?
昔、独学でプログラミングを10ヶ月してた時の感覚
実務の労働に入る前
「おれ結構できるんじゃね?wウェブアプリデプロイできるしwwおれつよwwwwww絶対勝てるwwww」
「JavaScript使うとかww余裕ですwwwww(JQueryコピペ)」
実務の労働に入った後
「何もわからん、てかついていけん、ていうかタスクがこなせない、git使い方わからん、コードレビューが怖い、労働行くのが鬱、上司からクソ雑魚扱いされてつらい、怖い」
JavaScript難しすぎて死にたい。(Promise, Callback, Arrayのメソッドが意味不明すぎて死亡)
React、無限にループするし、もうまぢ無理。
実務の労働に入った直後はやっぱ結構きつかった
- 使い慣れてないプログラミング言語
- 使ったことがないフレームワーク
- システムの構成が色々使ってて何もかもわからない
- gitlabにpushするとなんかバッテンでてダメってなるんだが!?(CI/CD)
- ウアアアアアアアー!!!!◯つけ◯つけ!!!!!!
- Dockerが怖い…
- 上司に質問するのが申し訳ない…
- Slackの使い方が分からない…
- REDMINEの使い方が分からない…
といった感じで、わりとまじでお世辞を言わずにきつかった気がします。
とはいえ、ある程度入る前に準備できるっちゃできるなと今は思ったもします。
イマドキっぽいウェブアプリの一連の開発フローとか周辺知識とはある程度パターンがあるからです。
よくある誤解
誤解1. 入門系のサービス(Progateとかドットインストール)をやってからなら実務についていけますよ💪
×
これは99.9999%無理です。
誤解2. 自分の勉強だけで労働の実務のコードが余裕で読めて書けるようになる
×
基本的には無理だと思いますが、使う技術がほぼ同じなら意外となんとかならなくはないです。
例えば、Reactメインで6~10ヶ月独学しててその後にReactメインで書く実務始めたとかならワンチャンあります。
ただ、労働の場合はなんだかんだで最低限の全体的な知識が必要になって、それプラスアルファで自分の担当範囲って感じの知識が必要にはなります。
例えば、フロントエンドでReact書くだけの簡単なお仕事だおwって労働形態でも、バックエンドのコードが読めて、簡単なSQL使えて、Docker普通に使うぐらいはできる(ログ見たりコンテナのインタラクティブモード使えたり)、ぐらいは必要です。
というのも、フロントエンドのデータってどっからしらのデータベースあたりから取ってくることになるんで期待されるデータがないとかいう時に原因調査ができないからです。
誤解3. プログラミングスクールでみっちりやれば余裕っしょwwww
×
天才か普通に労働実務をやらせてもらえないと無理。
誤解4. 作りたいものが大事
×
労働においては作りたいものとかビジネス寄りの知識は必要なくて、決まった要件を満たす「コードが書けること」以外は基本的に不要。
ただ、個人のエンジニア的なキャリアで言うと、作りたいものというか、どういう働き方とかライフスタイルとか収入とか、そういうところから逆算してどういう時間配分をしていくのかは重要だと思います。
誤解5. 自分で調べることが大事
×
自分で調べるのは息を吸うぐらい当たり前の世界で、コード内部のメソッド読みにいったり、英語のドキュメントとかを読む必要があります。
ただまあ、最初から高いレベルではできないので、経験による慣れの側面が強いので年数と試行回数とかで上がっていくと思います。
実務系の話に関して当時思ったこと
とりあえず実務入ってから最初の半年ぐらいは自分でもビビるぐらいできなくて、ビビりました。
上司とかからはコードレビューを始めとしてタスクを進める時に高圧的にこられたので、そこもわりとつらかったです。
ただ、高圧的に来られるって悪く聞こえるかもなんですけど、高圧的に来られるのはまだマシで、1番いろいろとつらいのは見捨てられていることです(笑)。
なので、まあ、、、最初はほとんどの人にとって結構大変だと思います。
でも1年ぐらいボコボコにされてなんとか生き延びると、ちょっとだけ視野が広がって「ドウシヨッカナー」って考えるぐらいにはなるので、最初は耐えどきっちゃ耐えどきかもしれません。
まとめ
実務レベルを知りたいというか気になってる人は、最低限勉強したりポートフォリオっぽいウェブアプリ作ったりしてから、とりあえず応募して、とりあえず働き始めるのが良いと思います。
昔、ぼくは実務に入るのを先延ばしにしてたんですけど、今思うとさっさと入ってボロカスにdisられてればよかったなと思います。
disられるのも、きもちいよぉ〜(ロリコン)。