🥺

プログラミングむずくてぴえん🥺やっぱ基礎しか勝たん

に公開

おはこんばんちは〜(定番の挨拶)
スペースマーケットでWebエンジニアをしています、s0arです。

ついに日本から四季は消えました。
完全に三季です。秋さん、クビ!w

この記事はそんなクソ寒い季節にも半袖短パンで元気にプログラミングしている
そんな皆さんへ贈る、エンジニア歴12年新米おじさんからのクリスマスプレゼントです。

プログラム書いてると、ふとした瞬間に
「なんで動いてるかわからん」みたいなことないですか?
あとは、ちょっとプログラミングできるようになったら、
アーキテクチャとかに興味が湧いていろいろと学びたくなったりしませんか?
しますよね?しろ。してくださいお願いします。

而して妾はこう思うぞよ。 「結局、基礎しか勝たんな」 とな。

基礎ってなんやねん問題

「基礎が大事」ってたぶんみんな耳にタコができるとかを遥かに超えたレベルで
AirPodsでもノイキャンできないぐらい、もはや46億年前からひたすら言われてるけどもやね。
言われるたびに「わかった!(わかってない)」ってなってて草。

基礎ってなんやねん?

「ひとつのプログラミング言語を使いこなせるレベルになること」

ここがまず最初の壁で、最強のブーストポイントだと妾は思うぞよ。

ほな、「使いこなせる」ってどのレベル?

これ、地味に言語化むずいです。
でも安心してください。先生、みんなのために考えました。

  • 自分で小〜中規模のアプリが作れる
  • 標準ライブラリは必要なときに迷わず使える
  • 「なんでそう書くの?」と聞かれた時に言語仕様レベルで説明できる
  • 他人のコードを読んだ時に、だいたいの意図が追える
  • バグが出ても「何を疑えばいいか」の当たりがつく
  • ベストプラクティスが見えてきて、意識してコードを整えられる

たぶん、ここまで来ると
その言語を「使ってる」から「使いこなせている」 にランクアップしてるんやね。

で、他の言語でも吸収がめちゃくちゃ速くなる。

「言語が違っても概念はわかる」
「非同期の仕組みは違うけどやりたいことは同じ」
「オブジェクトの扱いは違うけど設計思想は理解」

進研ゼミやね(?)

「使いこなせる」に至るには?

じゃあどうやって「使いこなせる」に到達するか?
答えはシンプル。

書く・読む・レビューしてもらう
この3つだけ。この三位一体がさいつよ。

ただ書いてるだけだと、知らず知らずに癖がどんどん強まってしまって、
いざ人にレビューされると「バチクソ読みづらいやんけ!」ってなる。

レビューされることで、

  • 可読性
  • 保守性
  • 変数名の付け方
  • 関数の分割
  • ムダな責務
  • 想定外のバグの種

こういう「自分では気づけないこと」に気づける。

粗品「ただぁ!!!!!!!!!!」

個人開発だとレビューってめちゃむずいねん。
でも現代、とてもいい時代。そう、AIってな、200種類あんねん(真偽不明)
吐き出したコードをAIに読ませるだけで、レビューしてくれる。うーんSUGOIやね。

個人開発+AIレビュー、
コレ鉄板の自己鍛錬セットね。

コードが読めると世界が変わる

基礎力が上がってくると、コードリーディングが上手くなる。
これデカい。爆アド。

  • OSSのコードが読める
  • 会社のプロジェクトのコードが怖くなくなる
  • 「なんでこう設計したんだろ?」の答えが自力で拾える
  • 「動いてるけど分からん」現象が激減する(なくなるとは言ってない)

基礎は、ただプログラムを動かすスキルじゃなくて、理解するための土台。

だからこそ、アーキテクチャを焦る必要はない

ようやくアーキテクチャさんの話ね。

よく「クリーンアーキテクチャが〜」とか「DDDが〜」とか言うとりますけどもやね。
コードが読めないままアーキテクチャを学んでも効果薄い。

設計ってな、200しゅr(しつこい)
「コードの集合体をどう束ねるか」の話をするのにコード読めませんじゃ厳しいって。
そりゃあ頭に入らんし、現場に応用もできない。

目隠しして迷路に入るようなものよ。大丈夫そ?

もちろん興味を持つのは素晴らしいことだし、早く触れるのも悪くない。

でも、基礎 → コードリーディング → 設計 → アーキテクチャ
って感じで段階踏んで経験を積むほうが圧倒的に効果高くて、理解の深さもダンチ。
ワイトもそう思います。

結論:やっぱ基礎しか勝たん

結局これね。

  • まず、ひとつの言語を扱えるレベルまでやり切る
  • 読む・書く・レビューの三点セットを回す
  • コードを読めるようになる
  • その先にアーキテクチャへの理解が自然と開ける

異論は認めます、でもこれ経験則ですのでね。

ぴえん🥺ってなる日もあるけど、
焦らず地道に楽しく、基礎から一歩ずつ。

結局基礎しか勝たんのよ。

GitHubで編集を提案
スペースマーケット Engineer Blog

Discussion