正論をいう無職

有職になった

駆け出しエンジニアが就職する前に学んでおくべきこと

こにゃにゃちわ〜 無職やで。

今日はスクールを卒業した駆け出しエンジニアがほんまにエンジニアとして就職する前にやっとかなあかん勉強を教えるで!

今から教えるのは通り一辺倒のこの本やっとけってだけやない。実際にワイが独学エンジニアからほんまのエンジニアになってめちゃくちゃ苦労した体験を踏まえて教えたるんやで。

スクールの勉強こなすだけで大変や〜って思うこともあるやろけど、エンジニアとして働き出したら今やっとる内容の10倍は難しいから覚悟しといた方がええで!ビビらせるわけちゃうけど、これほんまなんや。うまくエンジニアとして転職するのもそら狭き門なんやけど、入ってからの勉強の辛さはハンパないってことは肝に銘じておきや。下手したら3ヶ月で退職するなんてザラやねんから。

そういう辛い現実にぶち当たる前に心の準備ができた方がええやろなと思ってこの記事を書いてるんや。

確かにエンジニアとしてやらなあかん勉強は果てしなく多い。特にスクールとか独学とかでやってたやつがやらなあかんことは星の数ほどあるわ。でもな、その中でも優先順位ってやっぱあるんやわ。駆け出しエンジニアには時間がない。全部の分野やっとったら貯金してたお金尽きてまうやつもおるやろ。ここは抑えとかな死ぬ思いするでっていうところをピンポイントで突いていくわ。

ほないくで。

どんなルートでエンジニアになるんかは人それぞれやろうけど、たぶん今の日本でエンジニアへ転職するやつは Rails やっとるんちゃうかな。スクールもたくさんあるし。やから一応 Rails をやってて Rails をベースにした小さなベンチャーに入ることを想定するで。

まずやらないかんのは Rails や。

当たり前やんけ!って思うやろ。そう、当たり前のことや。やけどじゃあ、「こういう画面欲しいから API 側作って」って言われてハイーってすぐ作れるかな? なかなか難しいんちゃうかと思うで。まずやらないかんのは Rails の開発の流れを頭で整理しておくことや。

具体的に言うと、Raills での API 開発をするとしたら、まず routes.rb でルーティングを作る。api/v1 とかの namespace と resources の表現でどんなルーティングになるかはわかっといた方がええ。ある程度 REST の考え方はスクールとかでやったんちゃうかな。

ルーティングができたらモデルを作る。マイグレーションとバリデーションを考える。locale も必要かもしれん。ほんでそれに対応する controller に空の CRUD 処理を作る。binding.pry を入れてアクセスしてちゃんと通ってるかパラメータが渡ってるかとかを確認する。API 開発の場合、 postman っちゅうので確認することもある。strong parameter を作って、 CRUD の中身を作成する。権限系の policy を作成する。N+1 になってないかログを見て確認する。

こっからはテストや。factoryBot を作って request spec とかを作る。Rspec は読めるようにしときや。ドキュメントは AUTODOC とかでやってれば自動作成できるかもしれんな。ほんで seed data を作る。Rakeタスクとかがあったら適宜修正する。

ここまでがめちゃくちゃザザーッとした説明や。フロントがある場合はこれに加えて View の部分を作る感じや。

出てくる言葉がわからんときは調べときやー。今書いたのは知っといた方がええとこやで。

流石にこれを今すぐにパパっとできるようにしとけっていう話やない。要は開発の流れをちゃんと理解しとかないかんということや。

最初は一つ一つのポイントで詰まるのはしゃあない。そら未経験やねんから。やけど全体の流れを分かってて詰まるのと、ただわけわからんで詰まるのとメンタルの落ち具合が全然ちゃうで。なんもわからんで詰まると、ほんま超絶ダウナーになるで。経験者は語る、や。

次に大事なのはデータベース周りや。

Rails 開発しとる時によう詰まったと思うけど、マイグレーションとかのDBのあたりはようわからんのちゃうか? 

これ、Rails がよしなにやってくれるからええわーって思っとったら大間違いやで。実際働いてる時にマイグレーションとかDB操作周りで詰まると、もう一切動けなくなるで。まるで沼にはまった馬のように、ズブズブ沈んでいくだけや。先輩エンジニアが忙しかったり割と体育会系やったりして助けてもらえなかった時は、もう会社の天井を仰ぐ状態や。リモートやったら泣きながら寝こんでしまうかもしれん。進捗ゼロや。

やから簡単なDB操作はやっとかなあかん。MySQLPostgresql が主要な感じやろか。とりあえず Rails 界隈は MySQL が多いかもしれんな。ログイン方法やテーブルの表示とかカラムの表示周りの操作はできるようにしといた方が身のためやで。基本的にはマイグレーションで失敗してもDB直に操作して整合性合わせて自分で復帰せないかんのやから。

ほんでSQL

これもやっといた方がええ。SQLドリルみたいなやつで手を動かして人と通りの標準SQLはまあ使える状態にしときや。そら Rails だけで大変なのは知っとるけど、お金もろて仕事するときはそれだけでは無理なんよ。ほんまに。とりあえず最初は Rails console でいじるのが実際どんなクエリを吐いてるんか確認する感じでええから、SQLはやっとけ。後で泣きを見るで。

んでそれにも増してめっちゃ大事なんは基本の Linux 操作。

これも別に難しいことできんでもええねん。やけど基本のコマンドでターミナルやらを動かせないとDB周りで詰まったのと同じように、一旦詰まったら身動きできなくなるんやわ。cdとかls -laとかほんまに基本の操作でええ。ただディレクトリ掘っていったりファイル表示したり権限確認したりっていう操作を一応手で覚えておくにこしたことはないで。Linux の基本みたいな本で実際に一冊手を動かしとけば、まああとは調べながらでもどハマりすることはないんちゃうかな。

フロントに関しても書いとくわ。

とりあえず Rails のフロントは Haml か Slim はやっといた方がええ。インデントが最初馴染めへんかもしれんけど、まあやってたら慣れるわ。これは自分でゴリゴリ書けるようになっとけっていうよりかは読めるようになっといた方がええってことや。

現場では個人開発の何十倍もの量のコードを読むことになる。フロントの部分だけでもめっちゃあるんやから、Haml や Slim の記法に慣れてないと読むのにさえ時間がかかってまうんや。CSS と HTML だけやとしても慣れてない記法で読むのはめちゃくちゃきついで。やから今のうちにどういうふうに書くかアタリだけでもつけといた方がええわ。

CSS 設計もやっといた方がええ。ここらは個人開発やスクールではなかなかやらんとこかもしれんけど、RailsCSS 設計せんかったらすぐにえらいカオスがうまれてしまう。FLOCSS やら BEM やらって先輩エンジニア言われてハテナの顔しとったら「はあ?なんやねんコイツ、そんなんも知らんのか」みたいな態度で責められるで。

小さいベンチャーやったら未経験エンジニアにバックエンドの実装させられへんから、とりあえずデザイナーから上がってきた細かい表示修正のイシュー振るってのはめちゃよくあることやねん。そんなときに CSS さっぱりやったらほんまきついで。Flexbox である程度実装できるくらいには CSS やフロント周りはやっといた方がええわ。まあ多分 JavaScript をゴリゴリやる時間はないと思うけど。

あとは grep や。

grep コマンドとか、VSCode 使っとったら検索のとこで既存コードから目当てのものを探せるようにしといた方がええ。クラス名、文言やら色んな情報からファイルを探り当てて読む。ほんでそこから遡っていってどんな流れでそれが描画されてるんか確認する。要は既存のコードをどれだけ効率的に読めるかがめちゃくちゃ重要になるってことや。自分が実装するときも一からコード考えて書くなんてことは実務ではほとんどない。大体が既存コードと照らし合わせながら書いたり参考にして書いたりするんや。個人やスクールで勉強しとるとあんまやらんことやと思うから、これはしっかり理解しといたほうがええわ。

まあまあ、こんなあたりやな。

確かにちょっとワイの個人的感覚も大いに入ってると思うけど、こんなとこやと思うで。これやっとけっていうおすすめ本の紹介記事はめっちゃたくさんあっても、これやっとかな現場でどう詰まるかっていう記事はあんまないんちゃうかな? これはワイが実際現場で詰まって先輩エンジニアにゴリゴリ詰められたところやから、そんなに外れてはないと思うで!

ほんまエンジニアになるのって、いきなり数学者目指します!ってぐらいキツイことなんやわ。

未経験エンジニアを採用してくれる会社も減ってきてるけど、この辺りを頑張ってやれれば入れるとこもあると思うで!また運よく入れた後に3ヶ月で大爆死しないためにも、学習しとくとええで!皆の検討を祈るわ!

ほなまたな〜

「Railsチュートリアル何周した」と言う駆け出しエンジニアが面接で落とされる理由

こにゃにゃちわ〜 無職やで。

今回はツイッターによくいる #駆け出しエンジニア の人たちが面接で落とされる理由を説明するで!

結構きついことたくさん書くから、今絶賛面接落とされ中とか、エンジニアに転職しようと思って一念発起して仕事辞めたら彼女に振られた人とか、スクールもう卒業やのに全く授業内容が理解できてへんとかで、メンタル病んでる人はここでそっとこのページを閉じるんやで。

メンタル弱ってる時はあまりにも辛い現実を見たら危険なんや!閉じるんやで!

……

さて、まだ開いとるっちゅうことはキツイことが書かれててもちゃんと直視して自分の糧にしようって思っとるって事やな。ワイはうれしいで。ほな書いていこか。

ワイは独学でRailsを勉強してからサービスを色々作ったんや。その後実際にエンジニアで働いてみようと思って社員数名のスタートアップベンチャーに就職したんやわ。

そういうところは人数少ないから基本なんでもやる。ワイは新人やのにエンジニア採用任された。自分もエンジニアの業務で実装しながら wantedly とか green の出稿してたり応募の管理してたんや。ほんで応募してくる人のプロフィールとか見てまず面接に来てもらうかどうか選んでたんや。ワイも新人やのに。

そこでわかったことがあるんや。

これは書いたらあかん!と。

まず、「Railsチュートリアル3周しました」や。

このタイプの奴らは落ちるで。 

確かにRailsチュートリアルは基本的なことがしっかり学べるええ教材や。ワイも実際何周も写経した。それくらいめちゃええ感じにまとまっとる。

しかしやで、これを面接とか応募シートに書いたらあかんねん。

なんでかっちゅうとな。会社っていうのは学校とはちゃうねん。お金を稼ぐところやねん。採用する時には、その人がこの会社に入ってお金を稼げるんかどうかを見てんねん。

営業職で考えてみ? 「飛び込み営業でもなんでもします」「こんな知り合いすでにいます。獲ってきます」こんなこと言ってたらそらおもろいやっちゃなって思うかもしれんけど、「教科書7周読みました」って言われて採用したいと思わんやろ。

確かにエンジニアは営業とは違う仕事や。でも会社ってところは社員が何にもお金を生み出さなくても一回雇ったらもう解雇できへん場所なんや。結局そいつが直接的にも間接的にもどれくらい稼いでくれるかが一番大事なんやわ。

要するに、「Railsチュートリアル3周しました」マンは採用担当から見るとお勉強だけが取り柄の世間知らずに見えるってことなんや。

確かに3周したのはすごいで! やけど就職したいんやったらグッと堪えて言わん方がええ。先輩エンジニアに「だからなんやねん」って言われるんやから。

次は、「やる気あります」や。

これはあかん。めちゃあかん。

やる気なんてあって当然なんや。コンピュータサイエンスでも情報学科卒でもないやつが転職するんやから、そもそもやる気がなかったらできるわけないやん。

それに加えて「やる気」を強調するやつほどやってへんやつが多すぎるんや。

ほんまに「やる気」というやつがあったらやる気ありますっていう前にサービスを3つでも6つでも作ってると思うんや。Railsなんてレールに沿ってめちゃくちゃ作りやすくなってるやろ? マッチングプラットフォームでもなんでもいくらでも作れるんやわ。ほんで誰か友達に実際に使ってもらうこともできるやん。

また、エンジニアの業務知識のジャンルは海よりも広い。やる気があったら死ぬほど勉強することあるし、アウトプットできることも死ぬほどあるんや。やる気を強調する前に学んだ内容を10記事でも書いたほうがええ。しょうもないエラー解消しました記事は流石に要らんで? 自分が学んだことがそのまま研修資料になるって考えて、初学者の視点からまとめた記事を書いたらええんや。WEBの仕組みでもLinuxの歴史でもなんでもええよ。

結局、やる気を強調するやつはできてへんのが多いんよ。

最後は、「ずっとコード書いてます」や。

これはエンジニアをイラッとさせてしまうで。

だってエンジニアは業務中ずっとコード書いてるんやから。それが仕事やで。それでもめっちゃ難しくて脳みそ爆発するから休むんや。休まなやってられるわけないって知ってるんや。

やからずっとコード書いてますって言うやつは嘘やなって思うんや。そんなずっとコード書いてたらここにおらんやろ? 業務で書くコードはそんなおもろいもんちゃうねん。そもそもそんなコードジャンキーみたいな奴らはスクール入ってエンジニアになりますみたいな道におらんわ。……みたいなとこを考えてまうんや。意地悪なんとちゃうで。実際自分のやってる業務を考えると、ずっとコード書いてるなんて言えるってのは砂場で遊んでるみたいなもんやと思ってしまうんや。砂場で作るお城と六本木ヒルズはちゃうやろ?砂場の城はすぐ壊せるけど、六本木ヒルズ壊れたら死人が出るで。

まとめると、「Railsチュートリアル3周しました」「やる気あります」「ずっとコード書いてます」は言わん方がええってことや。ワイからの忠告やで。

そのかわりに1つでええからスクールで習ったやつやない、自分が必死で考え抜いたサービス作ろうや。そんでそれをお父ちゃんでもお母ちゃんでも隣の山田くんにでも使ってもらうんや。ほんで改善するんや。本気で向き合うことが大事なんや。

また、#積み上げ とかいうしょうもないのんツイッターに書くよりは、自分が新人の研修担当教官になったと思って、学んだことのアウトプット記事をZennとかに書こう。最初は誰でも未経験や。わからんことも間違いもあるかもしれんけど、それ読んで新人が育つんやって思ったら嘘は書かれへんやん。しっかり調べるやろ? それも一つの本気の表れなんや。

そういうアウトプットを見ると採用担当もおおっ!となるんや。スクールで作ったのやない、ほんまに考え抜いたサービスを語る目を見て君が本物かどうか判別するんや。自分も新人やのに、後に続く新人たちが道に迷わんように道しるべとなるようなドキュメントを残す君を見て、こいつはすごいわって思うんや。みんなちゃんと君のこと見てるんやで。

まあ、こんなところやな。まだ言うことはあるけど。ここまでにしとこ。またこらあかん思った時に続き書くわ。

みんなちゃんと適切な方向を向いて頑張るんやで!

ほなまたな〜

正論をいう無職は有職になったんやで。

だらけた無職くん

こにゃにゃちわ~

ワイはエンジニアになったんや。WEB系エンジニアと呼ばれるやつや。仕事し始めて何年やろか、しばらく経っとる。

ワイが最初プログラミングやっとったときはprogateもまだできてなかったみたいなときやったから、全部独学で英語とか見ながら一人でRailsとかいじっとったんや。Railsチュートリアルは日本語になっとったからよかった。自分でサービスも何個か立ち上げたで。

ほんで色々やっとるうちにどっかで働いてみたいと思ったんや。wantedlyで仕事探した。最初はRailsを基本に使ってる会社に就職したわ。しばらくやってて何回か転職したで。今は主にTypeScriptを書いてる会社でやっとるでー。フロントもバックエンドもやるから雑に言うとフルスタックってやつやな。スキルはまだまだ弱々やで。

やけど素人の状態から色んなとこ転職しとったから、今の現状のエンジニア界隈がある程度わかるようになったんやわ。ベンチャーは基本人が足らんからエンジニア業務に限らず色々首突っ込んでったしな。エンジニア採用もやったわ。メディア作ったり。新規プロダクト作ったり。そんなんしながらツイッターとか他のニュースとか見てると「こらいかんわ」って思うことが増えていったんや。

例えばエンジニアスクールを出てからその後の人たちの末路とか、スクール出身の人たちがベンチャー会社からどういうふうに見られてるかとか、キラキラベンチャーやと思って入ったらイジメだらけのメチャクチャな組織やったとか、みんな知らんやん?

スクールでもほんま詐欺みたいなところは流石にわかるけど、ええかんじって言われてるスクール出ても実際の業務はほんまきついのみんな分かっとるんかな、とか。なんやかんや言うてエンジニアになるためにするほんまの学習時間がどれくらいなんかとか、みんな知らんやろ?

フリーランスで自由とか言うとるけど、どんな経歴でどんなことしてたらどんなフリーランスになれるとか、どんなスキルセットでキャリア組んだらフリーランスなれるとかわからんやろ?

どこの転職サイトがベンチャー会社の人事からどういう使われ方してて、どんな評判があるのかとか、探す時にはどんな文言に注意せなあかんのか、その会社のどこを見ればどんな状態なんかとかも最初やとわからんと思うわ。調べ方も注意するところとかもどこみたらええかわからんやろ?

そらエンジニアなったりほんま初期のスタートアップ入ったりしたら普通の会社と違ってええこともいっぱいあるけど、ええことだらけやないんやわ。ドロドロしたとこの現実的な情報ってほんま誰も言ってへんなーって思ったんやわ。

ワイは自分が独学でやって仕事ついて、何回も転職しとるからここら辺がわかるんや。ワイにもそういうアドバイスくれる人がおったらめっちゃよかったなと思う。

やからここでみんなに教えたろと思ったんや。

思いついた順番に記事書いてくつもりや。

知りたいとこあったら知ってる範囲でなら答えるから、どしどし質問してや。 ほなよろしゅ〜

オシャレに芋虫食べる!? ”昆虫食”の5つの【ベネフィットマーケティング】

食料危機になる前に、なにをすべきか

harapeko
こにゃにゃちわ~
世界の人口と食料。
これは、ずっと釣り合ってない状態なんや。
ずっとまえから、食料危機のことは言われとる。
今は、そこに安全性っちゅう観点も加わってきたな。
とくに、タンパク質は難しい。
海の幸も、牧畜も、なかなか現代についていってへん印象や。
やったら、それらのタンパク質は、どうやって摂っていったらええんか。
ひとつの答えが、昆虫食なんやな。
ゲー。
って言わずに、ちょっと考えてみてや?




続きを読む

気持ち別に売り場を分ける!? ”HINKA RINKA”の5つの【ベネフィットマーケティング】

東急プラザ銀座のHINKARINKAや

zakka
こにゃにゃちわ~
またまた東急プラザ銀座の記事や。
わりと盛況のようやで。
前は、全体的な戦略を紹介したけど、今回はHINKARINKAについてや。
まあ、いわゆる雑貨屋さんやな。
やけど、普通の陳列をしてるだけやない。
ここにも、リアルのテーマパーク化があるんや。
どんな戦略でやっとるんやろか?




続きを読む

定時退社で10年連続売上増!? ”ランクアップ”の7つの定時退社マーケティング戦略

日本はほんまに定時退社できへんのか?

boss
こにゃにゃちわ~
日本がブラック企業ばっかりって言われて久しい。
毎日残業残業で、プライベートもない。
マスプロで大量生産の時代に日本は発展した。
それを、まだまだ引きずってる社会なんや。
会社は家族で、プライベートは仕事と同じ。
それって、ほんまに今の時代、今の人にフィットしてるんやろか?
定時退社って、実現できへんことなんやろか?




続きを読む

人事評価がキーポイント!? ”青山商事”のEC刷新の5つの【ベネフィットマーケティング】

洋服の青山」のECサイトに注目や

こにゃにゃちわ~
きみはスーツはどこで買う?
セットプライスのとこが多いんちゃうかな。
スーツの青山も選択肢に入っとるはずや。
その青山やねんけど、最近ECに取り組んどるみたいや。
リアル店舗も、ネット売り上げを無視できんようになってきた。
口で言うんは簡単や。
やけど、ネット対応ってどないすればええんやろか?




続きを読む