大学でCSの学科に行ったからといって安心してはいけない罠(10kgのバーベルで筋トレを10年筋トレしていても筋肉はつかない)
manabuさんが言っていたのだが、相談を受けたことを記事にするのが一番リアリティのあるニーズに対する記事だといっていたので書いてみる
また、自分はこんな記事を書きながら、まだしっかりと言いきれるツヨツヨエンジニアになりきっていないのだが、エンジニアの人ってこういう系の情報発信をあまりされない職人性質の方がおおいので、自分がポジショニング的に書いたほうがいいのかなと思うので書いてみる
大学のCSは「(実践的ではない)教えやすいことを教えてる」ケースが結構ある
自分が大学のとき行ってたのは電子情報学科という半田ごてで半導体の基礎的な回路を作ることがメインだったりする学科だというのもあるが、CSの授業といえば、教えてもらったCSはアルゴリズムとかつまみ食いレベルのものが多かった。
一つだけC言語の授業が半年かけて一つのことを取り組むという授業があり、それでかなり強制的にプログラミングの基礎を学ぶことができたが、、結局それも若干理論的すぎて、非常にマニアックなことしな学べず、大学出てから、Liuxのサーバ管理から、デザパタから、テストから、全てを毎日業務後に勉強して死にそうになった。まじで大学を恨んでいる
そして今でもドイツで未経験からCSの学科に行った人を横目で見ていてもこの傾向があまり変わらない気がしていた
pythonやRで機械学習を教えていたかと思うと、次にはopencvでちょろちょろと画像処理の何かをやって、アルゴリズムをつまみ食いして..若干チーム開発の授業を取り入れたりなんかして..
大学の先生って実際、意外と現場で実用的な事やったことない人が多かったりする。
T字型で説明されることが多いが、知識の肉付けをする上では横に伸ばすことと縦に深堀りすることが大事だが、この横に伸ばすことばかりやってるところが結構あると思っている
現在進行系で現場のエースが教育担当になるべきだがそういう人は忙しいので教えている暇がないというジレンマ
最近流行りだから、CSの学科は沢山設立されているようだが、魂のこもった学部って実はあんま無い気がする。流行りにのってつくったところで、金をふんだくることしか意識が行ってないことが多い。
教育系の陥りやすい罠だが教育をするほどの時間がある人は引退したり時間の余裕のある人で、本来教育担当は「現場のエース」がやるべきだが、そういう人ほど現場から引き剥がせない
CSの学科にいったところで、暇なおっさんが、批判の刃が飛んでこない所で、ぬるい授業を展開していることがおおい
会社でも大体そうで、教育部門は、閑職で、現場で使えなかった人材が飛ばされている。自分の昔いたSIerでは無理やりこの問題を解消しようと、現場のエースを無理やり引き剥がして、教育部門にたまにこさせて教えることをしていが、そこまでの熱量で教育に力を入れているところは少ない。企業体力的にも中小企業では厳しいだろうし。
現場にはいってプチ炎上しながらある程度の規模を開発しないと身につかない(10kgのバーベルで筋トレを10年筋トレしていても筋肉はつかない)
まさに今の自分にブーメランで返ってくるのだが、本来一番いいのは現在進行系で開発をやっているところになんとかバイトでもいいから潜りこむこと。一気にT字の深堀りをする。5−6ヶ月でなんならそこに集中する必要がある。
これを大学という授業はそこそこにサボりながらやることが一番いい。
お金を払うのではなく、もらいながら教育を受けるのだ。ウクライナのエンジニアはそれをやっていました。大学の授業サボりまくってフルタイムで働いてました。
で、現在進行系で開発が行われているので、内製でやってるところがよくて「テストをしていて」「設計に問題意識が向いていて」..まぁなかなか探すのが難しいのでそうでなくてもいい
そこで、現場に迷惑をかけながら、炎上しながらじゃないと割とスキルってつかない気がする。ポートフォリオを作るときもテストとか設計とかあんましっかり考えないと思う。
テーブル設計も、クラスの継承関係の改善とかも、テストとかも、現場でやってるところだとやっぱ学びの質が全然違う。
大学のような、クリーンルームで「ただし摩擦はないものとする」のような存在のしない環境はそこそこに、とにかく無理やりどこかの現場にもぐりこむことが大事。
海外のCSとかに行くとなると、ビザ的にNGかもしれないがそこはうまくやってください.. 意外とそっちのほうが大事だと思います
googleいってもアルゴリズム試験で出てくるような処理を考えることは実際はほぼないらしい(CSって何?
最近聞いたのだが、googleとかで出てくるようなアルゴリズム試験のような計算量のコストを考える場面ってgoogle入社してもほぼ出くわさないらしい。
そもそもgoogleの現在のエンジニアというのは0=>1をやっている訳ではない。googleは大企業だし、中小企業を買収してでかくなっていて、99%のお金を稼いでいるサービスは外部からやってきている(newspicksでやってた)
すでにどこかで0=>1されてできたサービスをある意味、メンテしながらやっていってたりすることも多いようだ。
性能系のことを考えるのであれば、こちらのような場面もありそうだが.. https://note.com/lain21/n/n5fde6f4463bc
設計しなおしとかするときは考えるのかもしれないが.. 特に日本法人とかであまり、計算量を考えるようなそういうことやってなさそうな気がする。
この記事が気に入ったらサポートをしてみませんか?