-
Being Perfectionist
-
โPlease, give me some time to refactor!โ
-
Misunderstanding what โlegacy codeโ means
-
โFunctional programming is the best!โ
-
Following the โbest practicesโ blindly
-
Struggling alone
-
Falling into the โflowโ, without self-awareness
-
Not moving your body
-
Forgetting how fun it is to be a programmer
-
Being a โcoderโ, not a software engineer
-
๐ฉโ๐ป Opinion
Things You Should Never Do As A Software Engineer
Here are some of the things that software developers should avoid when coding to improve their work performance and mental health.
favtutor.com
Being Perfectionist
๋ชจ๋ ๊ฒ์ ์๋ฒฝํ์ง ์๋ค. ๊ทธ๋์ ๋๋ โ์๋ฒฝํ ์ฝ๋โ๋ ์กด์ฌํ์ง ์๋๋ค๊ณ ํ์ ํ๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ฐ๋ณต์ ์ธ ํ๋ก์ธ์ค์ด๋ค. ์ฝ๋๋ฅผ ์ง๊ณ , ํ ์คํธํ๊ณ , ํผ๋๋ฐฑ์ ๋ฐ๊ณ , ๋ฆฌํฉํ ๋ง ํ๊ณ , ์ด๋ฅผ ๋ฐ๋ณตํ๋ค. ์ค๋ ์ ๋์ํ๋ ๊ฒ์ด ๋ด์ผ ๋์ํ์ง ์์ ์ ์๋ค. ๋ฐ๋ผ์ ์ํํธ์จ์ด๋ ์ ์ฐํ๊ณ ๋ณ๊ฒฝํ๊ธฐ ์ฉ์ดํด์ผํ๋ค. (์ด๊ฒ์ด soft-ware ๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ด์ ์ด๋ค!)
์๋ฒฝ์ ์ถ๊ตฌํ์ง ๋ง๋ผ๋ ๊ฒ์ ์๋๋ค. ๋จ์ง ๋๋ฌด ๊ฒฝ์ง๋๊ณ ๋ณต์กํ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๋๋ก ์ฃผ์ํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
์ ๋ฌธ๊ฐ๊ฐ ๋๋๊ฒ์ ์๋ฒฝ์ฃผ์์๊ฐ ๋๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด๋ค. ํญ์ ์ต์ ์ ๋คํ๋, ํ์ค์ ์ผ๋ก ๊ฐ๋ฅํ ์ต์ ์ ์ํ๋ฅผ ์ ์งํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
โPlease, give me some time to refactor!โ
๋ฆฌํฉํ ๋ง์ ์ด๋ฏธ ๋์ํ๊ณ ์๋ ์ฝ๋๋ฅผ ์ธ๋ถ ๋์์ ๋ณ๊ฒฝ ์์ด ์ฌ์ค๊ณํ๋ ๊ณผ์ ์ด๋ค. ๋ฆฌํฉํ ๋ง ์๋ ์ฝ๋๋ โ์ฝ๋ ์ ์ทจโ๋ฅผ ์ ๋ฐํ๊ธฐ ์์ํ๋ค. ์ด๊ฒ์ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ด ์ดํดํ๊ฑฐ๋ ํ์ฉํ๊ธฐ ์ด๋ ค์ด ์ฝ๋๋ฅผ ์๋ฏธํ๋ค.

์ฐ๋ฆฌ ๊ฐ๋ฐ์๋ค ๋ชจ๋๋ ํ๋์ ๊ธฐ๋ฅ์ ๊ตฌํํ ํ์ ๋ฆฌํฉํ ๋ง์ ์งํํด์ผํ๋ค๋ ๊ฒ์ ๋ชจ๋ ์๊ณ ์๋ค. ๋ฌธ์ ๋ ๋น๊ฐ๋ฐ์๋ค์ ์ด๋ฐ ์ํฉ์ ์ ๊ฒฝ์ฐ์ง ์๋๋ค๋ ๊ฒ์ด๋ค. โ์ฐ๋ฆฌ๋ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์๋ ํ์ฌ์ ๋๋ค, ๊ทธ๋ฌ๋ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋จผ์ ์ด์ ์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋คโ ๋ผ๋ ์์ฒญ์ ๋ฐ๊ธฐ๋ ํ๋ค. ๊ทธ๋ฌ๋ ๊ณง ๊ทธ ์ฝ๋๋ ์ ์ง๋ณด์ ๋์ง ์์ ๊ฒ์ด๊ณ , โ์ ๋ฐ ๋ฆฌํฉํ ๋งํ ์๊ฐ์ ์ฃผ์ธ์!โ๋ผ๊ณ ๊ฐ์ ํ ์์ฒญํ๊ฒ ๋ ๊ฒ์ด๋ค.
๋ฆฌํฉํ ๋ง์ ์ํด์ ์ถ๊ฐ์ ์ธ ์๊ฐ์ ์๊ตฌํ์ง ๋ง์๋ผ. ๋ฆฌํฉํ ๋ง์ ๋์ ๊ธฐ๋ฅ ๊ตฌํ์ ํ ๊ณผ์ ์ผ๋ก ๋ง๋ค์ด๋ผ!
Misunderstanding what โlegacy codeโ means
์น ๊ฐ๋ฐ ์ํ๊ณ๋ ๋น ๋ฅด๊ฒ ๋ณํํ๊ธฐ๋ก ์ ๋ช ํ๋ค. Next.js ๋ฒ์ 10์ผ๋ก ๋ง๋ค์๋ ์น ํ๋ก์ ํธ๊ฐ ์ ๋ฌด๋ฅผ ํ๊ธฐ ์์ํ์ ๋๋ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ ํฅ์์ด ํฌํจ๋ ๋ฒ์ 11์ด ์ถ์๋์๊ณ , ๋ฐ๋ก ๋ฒ์ 10 ํ๋ก์ ํธ๋ legacy ํ๋ก์ ํธ๊ฐ ๋์๋ค.

๋ง์ ์ฌ๋๋ค์ โ๋ ๊ฑฐ์ ์ฝ๋โ๊ฐ โ๋ก์ ์ฝ๋โ๋ฅผ ์๋ฏธํ๋ค๊ณ ์คํดํ์ง๋ง, ๊ทธ๋ ์ง ์๋ค. โWorking Effectively with Legacy Codeโ์ ์ ์ Michael Feathers์ ๋ฐ๋ฅด๋ฉด, ๋ ๊ฑฐ์ ์ฝ๋๋ ํ ์คํธ๊ฐ ์๋ ์ฝ๋์ด๋ค. ๋ง์ฝ ํ ์คํธํ ์ ์๋ ์ฝ๋๊ฐ ์์ผ๋ฉด, ์ด ์ฝ๋๋ ๋ฆฌํฉํ ๋ง๋ ๋ถ๊ฐํ๋ค. ๋ฆฌํฉํ ๋ง์ด ๋ถ๊ฐํ๋ค๋ฉด, ๋์ด์ ์ ์งํ ์ ์๋ค.
โoldโ Next.js ํ๋ก์ ํธ๋ ์ฌ์ค ๊ฝค ์ข์ ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๊ฐ์ง๊ณ ์์๊ณ , ๋ชจ๋ ๊ฒ์ด ์ ๋์ํ๊ณ ์์๋ค. ์ด๋ โ์ ์ง ๋ณด์๊ฐ ์ ๋ ์ฝ๋โ์ด์ง โ๋ ๊ฑฐ์ ์ฝ๋โ๊ฐ ์๋๋ค. ์ ๋ฐ, ์๋กญ๊ณ ๋ฉ์ ธ๋ณด์ธ๋ค๋ ์ด์ ๋ก ์ ๊ท ํด์ ์ซ๋๋ฐ์ ์๊ฐ์ ๋ญ๋นํ์ง ๋ง๋ผ. 17๋ ๋์ ์ ์ง๋๊ณ ์๋ Github๊ฐ ์ฌ์ ํ Ruby on Rails๋ผ๋ ์ฌ์ค์ ๊ธฐ์ตํด๋ผ.
โFunctional programming is the best!โ
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์์ฆ ์๋กญ๊ฒ ๋ ์ค๋ฅด๋ ํธ๋ ๋์ด๊ณ , ๋ง์ ๊ฐ๋ฐ์๋ค์ด ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ์ ๋ง๋ค. ํ์ง๋ง ๊ทธ๋ ๋ค๊ณ ํด์ ๋ชจ๋ ๊ณณ์์ ์ด๊ฒ์ ์ฌ์ฉํด์ผํ๋ค๋ ์๋ฏธ๋ ์๋๋ค.
์๋ฅผ๋ค์ด, ๋ง์ฝ Flutter ํ๋ก์ ํธ๋ฅผ ์์ ํ ๋, UI ๋ ์ด์ด์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ข์ ์๊ฐ์ด ์๋๋ค. UI ๋ ์ด์ด์์ ๊ณผ๋ํ โ์์ ํจ์ํโ ์ฝ๋๋ ๋ถํ์ํ ์ฌ๋ ๋๋ง์ผ๋ก ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์๋ค. Flutter๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ์ ์ฌ์ฉํ๋๋ก ์ค๊ณ๋์ด ์๊ธฐ ๋๋ฌธ์, ๊ทธ ๋ฐฉ์์ ๋ง์ถฐ์ ์ฌ์ฉํด์ผ ํ๋ค.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ค๋ฅธ ๋ฉ์ง ๊ธฐ๋ฒ์ ์์ ํ ํผํด์ผ ํ๋ค๋ ์๋ฏธ๋ ์๋๋ค. ๊ฐ์ ์์๋ก, ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ์ ํฉํ ๋น์ง๋์ค ๋ก์ง์์๋ ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ค์ํ ๊ฒ์ ์์ ์ด ์์ ํ๋ ์ปจํ์คํธ๋ฅผ ์ ์ธ์งํ๊ณ , ์ํฉ์ ๋ง๋ ์ ์ ํ ๋๊ตฌ๋ฅผ ์ ํํด๋ผ.
Following the โbest practicesโ blindly
ํด๋ฆฐ ์ํคํ ์ณ, SOLID ์์น, DRY, KISS, YAGNI, TDD, BDD, CI/CD ๋ฑ๋ฑ, ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ์๋ง์ best practices๊ฐ ์กด์ฌํ๋ค. ์ด๋ฐ ์์น๋ค์ ์ข์ ์๋๋ก ๋ง๋ค์ด์ก์ง๋ง ์ด๊ฒ๋ค์ ๋งน๋ชฉ์ ์ผ๋ก ๋ฐ๋ฅผ ํ์๋ ์๋ค.
์๋ฅผ๋ค์ด, TDD(Test-Driven Development)๋ ์์ฑํ ์ฝ๋๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ(์์๋๋ก) ๋์ํ๋์ง๋ฅผ ํ์ ํ ์ ์๋ ํ๋ฅญํ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋ฌ๋ Clojure ๋ Python๊ฐ์ REFL ์นํ์ ์ธ ์ธ์ด๋ฅผ ์ฌ์ฉํ ๋์๋ ๋ชจ๋ ๊ฒ์ ๋ํด TDD๋ฅผ ์ ์ฉํ ํ์๊ฐ ์์ ์๋ ์๋ค.
TDD์ ์ ์ผํ ๋ชฉ์ ์ ๊ฐ๋ฅํ ๋นจ๋ฆฌ ํผ๋๋ฐฑ์ ๋ฐ๋ ๊ฒ์ด๋ค. ๋ง์ฝ ํ ์คํธ ์์ฑ ์์ด ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์๋ค๋ฉด, TDD๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์๋ค. (๊ทธ๋ผ์๋, ํ ์คํธ๋ ์์ฑํด์ผํ๋ค!)
Struggling alone
๋ง์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ค์ด ์์ ์ โ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅโ์ ์๋ํ๋ ค๋ ๊ฒ์ ๋ง์ด ๋ณด์๋ค. ๊ทธ๋ค์ ์ด๋ฏธ ๋ค๋ฅธ ์ฌ๋๋ค์ ์ํด ํด๊ฒฐ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ๊ตฐ ๋ถํฌ ํ๋ค. ์ ๋ฐ ๊ทธ๋ ๊ฒ ๋์ง ๋ง๋ผ. ๋ฐํด๋ฅผ ๋ค์ ๋ฐ๋ช ํ์ง ๋ง๋ผ.
์ธ์์์ ๊ฐ์ฅ ์๋ํ ๋ง์ธ๋๋ ๊ฑฐ์ธ์ ์ด๊นจ ์์ ์์๋ ์ฌ๋๋ค์ด๋ค.
ํ์์ ์ผํ๊ธฐ ์์ํ๋ฉด, ๊ฒฝํ์ด ๋ ๋ง์ ๋๋ฃ๋ค๋ก๋ถํฐ ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ฒ ๋ ๊ฒ์ด๋ค. ๊ทธ๋ค์ ๋์ โ๊ฑฐ์ธโ์ด๋ค. ๊ทธ๋ค์ ์ด๊นจ ์์ ์ฌ๋ผํ์, ๋ค์ ๋ ์ผ๋ก ๋ด๋ ค๊ฐ๋๋ฐ์ ์๊ฐ์ ๋ญ๋นํ์ง ๋ง๋ผ. ์ด์ ๋์ ๋ชฉํ๋ ๋ ๋์ ๊ฑฐ์ธ์ ํฅํด ์ฌ๋ผ๊ฐ๋ ๊ฒ์ด๋ค.
Falling into the โflowโ, without self-awareness
โflowโ๋ฅผ ๊ฒฝํํด ๋ณธ ์ ์๋๊ฐ? ์ด๊ฒ์ ์ ๋ฌด์ ์์ ํ ๋ชฐ์ ํ๊ณ , ์๋์ง๊ฐ ๋์น๋ฉฐ ์ง์ค๋ ์ํ๋ฅผ ๋งํ๋ค. ํ๋ก๊ทธ๋๋จธ๋ก์ โflowโ์ ๋น ์ง๋ฉด ๋๋ ๋จ์ํ ๋งค๊ฐ์ฒด์ผ ๋ฟ ์ฝ๋๊ฐ ์ค์ค๋ก ์์ฑ๋๋ ๊ฒ ์ฒ๋ผ ๋๊ปด์ง๋ค. ๋๋ ๋จ์ํ ๊ทธ ์์ญ ์์ ์๋ค๊ณ ํ ์ ์๋ค.

ํ์ง๋ง ์กฐ์ฌํด๋ผ. โ๋๋ฌด ๋ง์โ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค. ์ข ์ข โflowโ์ ๋น ์ ธ์์ ๋ ์ค๋ฒ ์์ง๋์ด๋ง์ ํ๊ณ ์๋ ๋๋ฅผ ๋ฐ๊ฒฌํ๋ค. ๋ ๋ฟ๋ง์ด ์๋๋ค, โํด๋ฆฐ ์ฝ๋โ์ ์ ์ Robert C.Martin ๋ ํ๋ก์ฐ ์ค์ ์์ฐ์ฑ์ด ๋ฐ๋๋ก ๋์ค๋ ๊ฒฝํ์ ํ๋ค.
ํ๋ก์ฐ๋ฅผ ์๋์ ์ผ๋ก ๊นจ๊ธฐ ์ํด, โ๋ฝ๋ชจ๋๋ก ๊ธฐ๋ฒโ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํ๋ค. ์ด๊ฒ์ 25๋ถ๋์ ์ผํ๊ณ 5๋ถ์ ํด์์ ๊ฐ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๊ฒ์ ์ง์ค๋ ฅ์ ์ ์งํ๊ณ ๋ฒ์์์ ํผํ ์ ์๋๋ก ๋์์ค ๊ฒ์ด๋ค.
Not moving your body
์ํํธ์จ์ด ์์ง๋์ด๋ก ์ผํ๋ ๊ฒ์ ์ฝ์ง ์๋ค. ๋ช ์๊ฐ๋์ ์ปดํจํฐ ์์ ์์์, ํค๋ณด๋๋ฅผ ๋๋ค๊ธฐ๊ณ , ํ๋ฉด์ ์์ํด์ผํ๋ค. โ๋ชฐ์ โ ์ํ์ ์์ ๋, ๊ฑด๊ฐ์ ์๊ธฐ ์ฝ๋ค. ํ์ง๋ง ๊ธฐ์ตํด๋ผ! ๋์ ๊ฑด๊ฐ์ ์ด๋ค ๊ฒ ๋ณด๋ค๋ ์ค์ํ๋ค. ๋ง์ฝ ๋ชธ์ด ๋ง์ ๋ฃ์ง ์๋๋ค๋ฉด ๋๋ ์ธ๋ชจ๊ฐ ์์ด์ง๋ค.
30๋ถ ๋ง๋ค ๋ชธ์ ์์ง์ฌ๋ผ(๋ง์ฝ ๋ฝ๋ชจ๋๋ก ๊ธฐ๋ฒ์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด 25๋ถ๋ ์ข๋ค). ์ผ์ด๋์, ์คํธ๋ ์นญํ๊ณ , ์ฐ์ฑ ์ ํ๊ณ , ๋ฌผ์ ๋ง์ ๋ผ. ์ด๊ฒ ๋ํ ์ง์ค๋ ฅ์ ์ ์งํ๊ณ ๋ฒ์์์ ํผํ ์ ์๋๋ก ๋์์ค ๊ฒ์ด๋ค.
Forgetting how fun it is to be a programmer
์ฒ์ ์ฝ๋ฉ์ ์์ํ ๋, ํฅ๋ฏธ๊ฐ ๊ฐ๋ํ๋ค. ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค๊ณ , ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ์๋ก์ด ๊ฒ์ ๋งค์ผ ๋ฐฐ์๋๊ฐ๋ค.
๊ทธ๋ฌ๋ ์๊ฐ์ด ์ง๋๋ฉด์, ์ฝ๋ฉํ๋ ์ฆ๊ฑฐ์์ ์์ด๋ฒ๋ฆฌ๊ธฐ ์์ํ๋ค. โํด๋ฆฐ ์ฝ๋โ๋ฅผ ์ง๊ณ , โbest practicesโ๋ฅผ ๋ฐ๋ฅด๊ณ , โ์ด๋ ค์ด ๋ฌธ์ โ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์๋ง ๋๋ฌด ์ง์คํ๊ณ ์์๋ค. ์ ์ ๋ ์์ฃผ, ๋ค๋ฅธ ์ฌ๋์ด๋ ๋ค๋ฅธ ํ์ฌ์ ์ฝ๋๋ฅผ ๋ฐ๋ผ๊ฐ๋๋ผ ๋๋ฌด ๋ฐ์ ๋๋จธ์ง ๋๋ง์ ์ฝ๋๋ฅผ ์งค ์ ์์๋ค. ๋ด ์ฐฝ์์ฑ์ ์ด๋๋ก ๊ฐ๋๊ฐ!
ํญ์ ํ๋ก๊ทธ๋๋จธ๋ก์ ์ฆ๊ฑฐ์์ ๊ธฐ์ตํด์ผํ๋ค. ์ด๋ ต๋ค๋ ๊ฒ์ ์์ง๋ง, ๋๋ง์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ , ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ๊ณ , ๋ฉ์ง ๊ฒ๋ค์ ๊ณ์ ๋ง๋ค๋ฉด์ ์๊ฐ์ ๋ณด๋ด์ผํ๋ค. ์ง์ฅ์์๋ ๋์ ๋๋ฃ๋ค๊ณผ ํฅ๋ฏธ๋ก์ด ์๋ก์ด ๊ธฐ์ ์ ๋ํด ์ด์ผ๊ธฐํ๋ ค ๋ ธ๋ ฅํด๋ผ. ์ด๊ฒ์ ๋๊ธฐ ๋ถ์ฌ๋ ๋๋ฉฐ ์ด์ ์ ์ ์งํ๋๋ก ๋์์ค ๊ฒ์ด๋ค.
Being a โcoderโ, not a software engineer
โ์ฝ๋โ์ โ์ํํธ์จ์ด ์์ง๋์ดโ๋ ๋ค๋ฅด๋ค. โ์ฝ๋โ๋ ์ฝ๋๋ฅผ ์ง๋ ์ฌ๋์ด๊ณ , โ์ํํธ์จ์ด ์์ง๋์ดโ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋์ด๋ค. โ์ฝ๋โ๊ฐ ๋๋ฉด ์๋๋ ๋๊ฐ์ง ํต์ฌ ์ด์ ๊ฐ ์๋ค.
- โ์ฝ๋โ๋ ๋ฏธ๋์ AI๋ก ๋์ฒด๋ ๊ฒ์ด๋ค.(์ฌ์ค ์ด๋ฏธ ๊ต์ฒด๋๊ณ ์๋ค!). ๋ ผ๋์ด ๋ง๋ค๋ ๊ฒ์ ์์ง๋ง, ์ฌํ๊ฒ๋ ์ฌ์ค์ด๋ค.
- ์ฌ๋๋ค์ ๋์ ์ฝ๋๋ฅผ ์ ๊ฒฝ์ฐ์ง ์๋๋ค. ๊ทธ๋ค์ ๋๊ฐ ๊ทธ๋ค์ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ์ ํธ๋์ง์๋ง ๊ด์ฌ์ด ์๋ค.

์ฝ๋๋ฅผ ๋๊ตฌ๋ก ์ฌ์ฉํ๋ โ๋ฌธ์ ํด๊ฒฐ์ฌโ๊ฐ ๋์ด๋ผ. ๋ฌธ์ ๋ฅผ ์ดํดํ๊ณ , ์ต์ ์ ํด๊ฒฐ๋ฒ์ ์ฐพ๊ณ , ๋์ ์ฝ๋๋ฅผ ์ฌ์ฉํด์ ๊ตฌํํด๋ผ. ๊ทธ๊ฒ์ด ์ํํธ์จ์ด ์์ง๋์ด์ด๋ค.
๐ฉโ๐ป Opinion
์ ์ ์ฃผ๋์ด๋ฅผ ๋ฒ์ด๋์ผํ๋ ์๊ธฐ์ ์ ์ ํ ๊ธ์ ๋ง์ฃผ์ณค๋ค.
๋น์ฐํ ๊ฒ๋ค์ด๊ณ ์ค๋ฌดํ๋ฉด์ ๋ง์ด ๋๋ผ๋ ๋์ ์๊ฐ๋ค์ ์ ๋ฆฌํด๋์ ๊ธ์ด ์๋๊ฐ ์ถ์ ์ ๋๋ก ๋์ ์๊ฐ๊ณผ ์ ์ฌํ๋ค.
ํนํ ๋ฆฌํฉํ ๋ง ์๊ฐ์ ๋ํด์ ๊ทธ๋ ๋ค :) ๋ฆฌํฉํ ๋ง์ ์ํด ์๊ฐ์ ํฌ์ํ๊ธฐ๋ณด๋ค ๊ตฌํ์ ๊ณผ์ ์ผ๋ก์์ ๋ฆฌํฉํ ๋ง์ ๊ฐ์ ธ๊ฐ์ผํ๋ค๋ ๊ธ์ 100% ๋์ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌด์๋ณด๋ค ๋ง์ง๋ง ๋ง์ด ์ธ์๊น๋ค. "์ฝ๋"๊ฐ ๋์ง ๋ง์๋ ๋ค์ง์ ํ๊ณ ์์ง๋ง, "์ฝ๋"๊ฐ ๋์ง ์๊ณ "๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋"์ด ๋์ด์ผ ํ๋ค๋ ๊ฒ์ ๋ด๊ฐ ๋ชจํธํ๊ฒ ๋๋ผ๊ณ ์์๋ ๋ถ๋ถ์ ์๋ง๊ฒ ์ ์ํด์ค ๋ง ๊ฐ๋ค.
์ค๋๋ ์ฆ๊ฑฐ์ด ๊ฐ๋ฐ์์ ๋๋ชฉ์ ๋ฐฐ์ฐ๋ ๋ ์ด์๋ค:)
'๐ Study > TLDR' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[WebDev] Patterns for building realtime features (0) | 2025.02.12 |
---|---|
[WebDev] Developer philosophy (2) | 2025.02.05 |
[WebDev] Clever code is probably the worst code you could write (0) | 2024.05.23 |
[WebDev] How not to do code reviews (0) | 2024.05.19 |
[WebDev] You probably donโt need microservices (0) | 2024.05.19 |
Things You Should Never Do As A Software Engineer
Here are some of the things that software developers should avoid when coding to improve their work performance and mental health.
favtutor.com
Being Perfectionist
๋ชจ๋ ๊ฒ์ ์๋ฒฝํ์ง ์๋ค. ๊ทธ๋์ ๋๋ โ์๋ฒฝํ ์ฝ๋โ๋ ์กด์ฌํ์ง ์๋๋ค๊ณ ํ์ ํ๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋ฐ๋ณต์ ์ธ ํ๋ก์ธ์ค์ด๋ค. ์ฝ๋๋ฅผ ์ง๊ณ , ํ ์คํธํ๊ณ , ํผ๋๋ฐฑ์ ๋ฐ๊ณ , ๋ฆฌํฉํ ๋ง ํ๊ณ , ์ด๋ฅผ ๋ฐ๋ณตํ๋ค. ์ค๋ ์ ๋์ํ๋ ๊ฒ์ด ๋ด์ผ ๋์ํ์ง ์์ ์ ์๋ค. ๋ฐ๋ผ์ ์ํํธ์จ์ด๋ ์ ์ฐํ๊ณ ๋ณ๊ฒฝํ๊ธฐ ์ฉ์ดํด์ผํ๋ค. (์ด๊ฒ์ด soft-ware ๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ด์ ์ด๋ค!)
์๋ฒฝ์ ์ถ๊ตฌํ์ง ๋ง๋ผ๋ ๊ฒ์ ์๋๋ค. ๋จ์ง ๋๋ฌด ๊ฒฝ์ง๋๊ณ ๋ณต์กํ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๋๋ก ์ฃผ์ํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
์ ๋ฌธ๊ฐ๊ฐ ๋๋๊ฒ์ ์๋ฒฝ์ฃผ์์๊ฐ ๋๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด๋ค. ํญ์ ์ต์ ์ ๋คํ๋, ํ์ค์ ์ผ๋ก ๊ฐ๋ฅํ ์ต์ ์ ์ํ๋ฅผ ์ ์งํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
โPlease, give me some time to refactor!โ
๋ฆฌํฉํ ๋ง์ ์ด๋ฏธ ๋์ํ๊ณ ์๋ ์ฝ๋๋ฅผ ์ธ๋ถ ๋์์ ๋ณ๊ฒฝ ์์ด ์ฌ์ค๊ณํ๋ ๊ณผ์ ์ด๋ค. ๋ฆฌํฉํ ๋ง ์๋ ์ฝ๋๋ โ์ฝ๋ ์ ์ทจโ๋ฅผ ์ ๋ฐํ๊ธฐ ์์ํ๋ค. ์ด๊ฒ์ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ด ์ดํดํ๊ฑฐ๋ ํ์ฉํ๊ธฐ ์ด๋ ค์ด ์ฝ๋๋ฅผ ์๋ฏธํ๋ค.

์ฐ๋ฆฌ ๊ฐ๋ฐ์๋ค ๋ชจ๋๋ ํ๋์ ๊ธฐ๋ฅ์ ๊ตฌํํ ํ์ ๋ฆฌํฉํ ๋ง์ ์งํํด์ผํ๋ค๋ ๊ฒ์ ๋ชจ๋ ์๊ณ ์๋ค. ๋ฌธ์ ๋ ๋น๊ฐ๋ฐ์๋ค์ ์ด๋ฐ ์ํฉ์ ์ ๊ฒฝ์ฐ์ง ์๋๋ค๋ ๊ฒ์ด๋ค. โ์ฐ๋ฆฌ๋ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์๋ ํ์ฌ์ ๋๋ค, ๊ทธ๋ฌ๋ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋จผ์ ์ด์ ์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋คโ ๋ผ๋ ์์ฒญ์ ๋ฐ๊ธฐ๋ ํ๋ค. ๊ทธ๋ฌ๋ ๊ณง ๊ทธ ์ฝ๋๋ ์ ์ง๋ณด์ ๋์ง ์์ ๊ฒ์ด๊ณ , โ์ ๋ฐ ๋ฆฌํฉํ ๋งํ ์๊ฐ์ ์ฃผ์ธ์!โ๋ผ๊ณ ๊ฐ์ ํ ์์ฒญํ๊ฒ ๋ ๊ฒ์ด๋ค.
๋ฆฌํฉํ ๋ง์ ์ํด์ ์ถ๊ฐ์ ์ธ ์๊ฐ์ ์๊ตฌํ์ง ๋ง์๋ผ. ๋ฆฌํฉํ ๋ง์ ๋์ ๊ธฐ๋ฅ ๊ตฌํ์ ํ ๊ณผ์ ์ผ๋ก ๋ง๋ค์ด๋ผ!
Misunderstanding what โlegacy codeโ means
์น ๊ฐ๋ฐ ์ํ๊ณ๋ ๋น ๋ฅด๊ฒ ๋ณํํ๊ธฐ๋ก ์ ๋ช ํ๋ค. Next.js ๋ฒ์ 10์ผ๋ก ๋ง๋ค์๋ ์น ํ๋ก์ ํธ๊ฐ ์ ๋ฌด๋ฅผ ํ๊ธฐ ์์ํ์ ๋๋ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ ํฅ์์ด ํฌํจ๋ ๋ฒ์ 11์ด ์ถ์๋์๊ณ , ๋ฐ๋ก ๋ฒ์ 10 ํ๋ก์ ํธ๋ legacy ํ๋ก์ ํธ๊ฐ ๋์๋ค.

๋ง์ ์ฌ๋๋ค์ โ๋ ๊ฑฐ์ ์ฝ๋โ๊ฐ โ๋ก์ ์ฝ๋โ๋ฅผ ์๋ฏธํ๋ค๊ณ ์คํดํ์ง๋ง, ๊ทธ๋ ์ง ์๋ค. โWorking Effectively with Legacy Codeโ์ ์ ์ Michael Feathers์ ๋ฐ๋ฅด๋ฉด, ๋ ๊ฑฐ์ ์ฝ๋๋ ํ ์คํธ๊ฐ ์๋ ์ฝ๋์ด๋ค. ๋ง์ฝ ํ ์คํธํ ์ ์๋ ์ฝ๋๊ฐ ์์ผ๋ฉด, ์ด ์ฝ๋๋ ๋ฆฌํฉํ ๋ง๋ ๋ถ๊ฐํ๋ค. ๋ฆฌํฉํ ๋ง์ด ๋ถ๊ฐํ๋ค๋ฉด, ๋์ด์ ์ ์งํ ์ ์๋ค.
โoldโ Next.js ํ๋ก์ ํธ๋ ์ฌ์ค ๊ฝค ์ข์ ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๊ฐ์ง๊ณ ์์๊ณ , ๋ชจ๋ ๊ฒ์ด ์ ๋์ํ๊ณ ์์๋ค. ์ด๋ โ์ ์ง ๋ณด์๊ฐ ์ ๋ ์ฝ๋โ์ด์ง โ๋ ๊ฑฐ์ ์ฝ๋โ๊ฐ ์๋๋ค. ์ ๋ฐ, ์๋กญ๊ณ ๋ฉ์ ธ๋ณด์ธ๋ค๋ ์ด์ ๋ก ์ ๊ท ํด์ ์ซ๋๋ฐ์ ์๊ฐ์ ๋ญ๋นํ์ง ๋ง๋ผ. 17๋ ๋์ ์ ์ง๋๊ณ ์๋ Github๊ฐ ์ฌ์ ํ Ruby on Rails๋ผ๋ ์ฌ์ค์ ๊ธฐ์ตํด๋ผ.
โFunctional programming is the best!โ
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์์ฆ ์๋กญ๊ฒ ๋ ์ค๋ฅด๋ ํธ๋ ๋์ด๊ณ , ๋ง์ ๊ฐ๋ฐ์๋ค์ด ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ์ ๋ง๋ค. ํ์ง๋ง ๊ทธ๋ ๋ค๊ณ ํด์ ๋ชจ๋ ๊ณณ์์ ์ด๊ฒ์ ์ฌ์ฉํด์ผํ๋ค๋ ์๋ฏธ๋ ์๋๋ค.
์๋ฅผ๋ค์ด, ๋ง์ฝ Flutter ํ๋ก์ ํธ๋ฅผ ์์ ํ ๋, UI ๋ ์ด์ด์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ข์ ์๊ฐ์ด ์๋๋ค. UI ๋ ์ด์ด์์ ๊ณผ๋ํ โ์์ ํจ์ํโ ์ฝ๋๋ ๋ถํ์ํ ์ฌ๋ ๋๋ง์ผ๋ก ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์๋ค. Flutter๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ์ ์ฌ์ฉํ๋๋ก ์ค๊ณ๋์ด ์๊ธฐ ๋๋ฌธ์, ๊ทธ ๋ฐฉ์์ ๋ง์ถฐ์ ์ฌ์ฉํด์ผ ํ๋ค.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ค๋ฅธ ๋ฉ์ง ๊ธฐ๋ฒ์ ์์ ํ ํผํด์ผ ํ๋ค๋ ์๋ฏธ๋ ์๋๋ค. ๊ฐ์ ์์๋ก, ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ์ ํฉํ ๋น์ง๋์ค ๋ก์ง์์๋ ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ค์ํ ๊ฒ์ ์์ ์ด ์์ ํ๋ ์ปจํ์คํธ๋ฅผ ์ ์ธ์งํ๊ณ , ์ํฉ์ ๋ง๋ ์ ์ ํ ๋๊ตฌ๋ฅผ ์ ํํด๋ผ.
Following the โbest practicesโ blindly
ํด๋ฆฐ ์ํคํ ์ณ, SOLID ์์น, DRY, KISS, YAGNI, TDD, BDD, CI/CD ๋ฑ๋ฑ, ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ์๋ง์ best practices๊ฐ ์กด์ฌํ๋ค. ์ด๋ฐ ์์น๋ค์ ์ข์ ์๋๋ก ๋ง๋ค์ด์ก์ง๋ง ์ด๊ฒ๋ค์ ๋งน๋ชฉ์ ์ผ๋ก ๋ฐ๋ฅผ ํ์๋ ์๋ค.
์๋ฅผ๋ค์ด, TDD(Test-Driven Development)๋ ์์ฑํ ์ฝ๋๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ(์์๋๋ก) ๋์ํ๋์ง๋ฅผ ํ์ ํ ์ ์๋ ํ๋ฅญํ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋ฌ๋ Clojure ๋ Python๊ฐ์ REFL ์นํ์ ์ธ ์ธ์ด๋ฅผ ์ฌ์ฉํ ๋์๋ ๋ชจ๋ ๊ฒ์ ๋ํด TDD๋ฅผ ์ ์ฉํ ํ์๊ฐ ์์ ์๋ ์๋ค.
TDD์ ์ ์ผํ ๋ชฉ์ ์ ๊ฐ๋ฅํ ๋นจ๋ฆฌ ํผ๋๋ฐฑ์ ๋ฐ๋ ๊ฒ์ด๋ค. ๋ง์ฝ ํ ์คํธ ์์ฑ ์์ด ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์๋ค๋ฉด, TDD๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์๋ค. (๊ทธ๋ผ์๋, ํ ์คํธ๋ ์์ฑํด์ผํ๋ค!)
Struggling alone
๋ง์ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ค์ด ์์ ์ โ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅโ์ ์๋ํ๋ ค๋ ๊ฒ์ ๋ง์ด ๋ณด์๋ค. ๊ทธ๋ค์ ์ด๋ฏธ ๋ค๋ฅธ ์ฌ๋๋ค์ ์ํด ํด๊ฒฐ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ๊ตฐ ๋ถํฌ ํ๋ค. ์ ๋ฐ ๊ทธ๋ ๊ฒ ๋์ง ๋ง๋ผ. ๋ฐํด๋ฅผ ๋ค์ ๋ฐ๋ช ํ์ง ๋ง๋ผ.
์ธ์์์ ๊ฐ์ฅ ์๋ํ ๋ง์ธ๋๋ ๊ฑฐ์ธ์ ์ด๊นจ ์์ ์์๋ ์ฌ๋๋ค์ด๋ค.
ํ์์ ์ผํ๊ธฐ ์์ํ๋ฉด, ๊ฒฝํ์ด ๋ ๋ง์ ๋๋ฃ๋ค๋ก๋ถํฐ ๋ง์ ๊ฒ์ ๋ฐฐ์ธ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ฒ ๋ ๊ฒ์ด๋ค. ๊ทธ๋ค์ ๋์ โ๊ฑฐ์ธโ์ด๋ค. ๊ทธ๋ค์ ์ด๊นจ ์์ ์ฌ๋ผํ์, ๋ค์ ๋ ์ผ๋ก ๋ด๋ ค๊ฐ๋๋ฐ์ ์๊ฐ์ ๋ญ๋นํ์ง ๋ง๋ผ. ์ด์ ๋์ ๋ชฉํ๋ ๋ ๋์ ๊ฑฐ์ธ์ ํฅํด ์ฌ๋ผ๊ฐ๋ ๊ฒ์ด๋ค.
Falling into the โflowโ, without self-awareness
โflowโ๋ฅผ ๊ฒฝํํด ๋ณธ ์ ์๋๊ฐ? ์ด๊ฒ์ ์ ๋ฌด์ ์์ ํ ๋ชฐ์ ํ๊ณ , ์๋์ง๊ฐ ๋์น๋ฉฐ ์ง์ค๋ ์ํ๋ฅผ ๋งํ๋ค. ํ๋ก๊ทธ๋๋จธ๋ก์ โflowโ์ ๋น ์ง๋ฉด ๋๋ ๋จ์ํ ๋งค๊ฐ์ฒด์ผ ๋ฟ ์ฝ๋๊ฐ ์ค์ค๋ก ์์ฑ๋๋ ๊ฒ ์ฒ๋ผ ๋๊ปด์ง๋ค. ๋๋ ๋จ์ํ ๊ทธ ์์ญ ์์ ์๋ค๊ณ ํ ์ ์๋ค.

ํ์ง๋ง ์กฐ์ฌํด๋ผ. โ๋๋ฌด ๋ง์โ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค. ์ข ์ข โflowโ์ ๋น ์ ธ์์ ๋ ์ค๋ฒ ์์ง๋์ด๋ง์ ํ๊ณ ์๋ ๋๋ฅผ ๋ฐ๊ฒฌํ๋ค. ๋ ๋ฟ๋ง์ด ์๋๋ค, โํด๋ฆฐ ์ฝ๋โ์ ์ ์ Robert C.Martin ๋ ํ๋ก์ฐ ์ค์ ์์ฐ์ฑ์ด ๋ฐ๋๋ก ๋์ค๋ ๊ฒฝํ์ ํ๋ค.
ํ๋ก์ฐ๋ฅผ ์๋์ ์ผ๋ก ๊นจ๊ธฐ ์ํด, โ๋ฝ๋ชจ๋๋ก ๊ธฐ๋ฒโ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํ๋ค. ์ด๊ฒ์ 25๋ถ๋์ ์ผํ๊ณ 5๋ถ์ ํด์์ ๊ฐ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๊ฒ์ ์ง์ค๋ ฅ์ ์ ์งํ๊ณ ๋ฒ์์์ ํผํ ์ ์๋๋ก ๋์์ค ๊ฒ์ด๋ค.
Not moving your body
์ํํธ์จ์ด ์์ง๋์ด๋ก ์ผํ๋ ๊ฒ์ ์ฝ์ง ์๋ค. ๋ช ์๊ฐ๋์ ์ปดํจํฐ ์์ ์์์, ํค๋ณด๋๋ฅผ ๋๋ค๊ธฐ๊ณ , ํ๋ฉด์ ์์ํด์ผํ๋ค. โ๋ชฐ์ โ ์ํ์ ์์ ๋, ๊ฑด๊ฐ์ ์๊ธฐ ์ฝ๋ค. ํ์ง๋ง ๊ธฐ์ตํด๋ผ! ๋์ ๊ฑด๊ฐ์ ์ด๋ค ๊ฒ ๋ณด๋ค๋ ์ค์ํ๋ค. ๋ง์ฝ ๋ชธ์ด ๋ง์ ๋ฃ์ง ์๋๋ค๋ฉด ๋๋ ์ธ๋ชจ๊ฐ ์์ด์ง๋ค.
30๋ถ ๋ง๋ค ๋ชธ์ ์์ง์ฌ๋ผ(๋ง์ฝ ๋ฝ๋ชจ๋๋ก ๊ธฐ๋ฒ์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด 25๋ถ๋ ์ข๋ค). ์ผ์ด๋์, ์คํธ๋ ์นญํ๊ณ , ์ฐ์ฑ ์ ํ๊ณ , ๋ฌผ์ ๋ง์ ๋ผ. ์ด๊ฒ ๋ํ ์ง์ค๋ ฅ์ ์ ์งํ๊ณ ๋ฒ์์์ ํผํ ์ ์๋๋ก ๋์์ค ๊ฒ์ด๋ค.
Forgetting how fun it is to be a programmer
์ฒ์ ์ฝ๋ฉ์ ์์ํ ๋, ํฅ๋ฏธ๊ฐ ๊ฐ๋ํ๋ค. ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค๊ณ , ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ์๋ก์ด ๊ฒ์ ๋งค์ผ ๋ฐฐ์๋๊ฐ๋ค.
๊ทธ๋ฌ๋ ์๊ฐ์ด ์ง๋๋ฉด์, ์ฝ๋ฉํ๋ ์ฆ๊ฑฐ์์ ์์ด๋ฒ๋ฆฌ๊ธฐ ์์ํ๋ค. โํด๋ฆฐ ์ฝ๋โ๋ฅผ ์ง๊ณ , โbest practicesโ๋ฅผ ๋ฐ๋ฅด๊ณ , โ์ด๋ ค์ด ๋ฌธ์ โ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์๋ง ๋๋ฌด ์ง์คํ๊ณ ์์๋ค. ์ ์ ๋ ์์ฃผ, ๋ค๋ฅธ ์ฌ๋์ด๋ ๋ค๋ฅธ ํ์ฌ์ ์ฝ๋๋ฅผ ๋ฐ๋ผ๊ฐ๋๋ผ ๋๋ฌด ๋ฐ์ ๋๋จธ์ง ๋๋ง์ ์ฝ๋๋ฅผ ์งค ์ ์์๋ค. ๋ด ์ฐฝ์์ฑ์ ์ด๋๋ก ๊ฐ๋๊ฐ!
ํญ์ ํ๋ก๊ทธ๋๋จธ๋ก์ ์ฆ๊ฑฐ์์ ๊ธฐ์ตํด์ผํ๋ค. ์ด๋ ต๋ค๋ ๊ฒ์ ์์ง๋ง, ๋๋ง์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ , ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ๊ณ , ๋ฉ์ง ๊ฒ๋ค์ ๊ณ์ ๋ง๋ค๋ฉด์ ์๊ฐ์ ๋ณด๋ด์ผํ๋ค. ์ง์ฅ์์๋ ๋์ ๋๋ฃ๋ค๊ณผ ํฅ๋ฏธ๋ก์ด ์๋ก์ด ๊ธฐ์ ์ ๋ํด ์ด์ผ๊ธฐํ๋ ค ๋ ธ๋ ฅํด๋ผ. ์ด๊ฒ์ ๋๊ธฐ ๋ถ์ฌ๋ ๋๋ฉฐ ์ด์ ์ ์ ์งํ๋๋ก ๋์์ค ๊ฒ์ด๋ค.
Being a โcoderโ, not a software engineer
โ์ฝ๋โ์ โ์ํํธ์จ์ด ์์ง๋์ดโ๋ ๋ค๋ฅด๋ค. โ์ฝ๋โ๋ ์ฝ๋๋ฅผ ์ง๋ ์ฌ๋์ด๊ณ , โ์ํํธ์จ์ด ์์ง๋์ดโ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋์ด๋ค. โ์ฝ๋โ๊ฐ ๋๋ฉด ์๋๋ ๋๊ฐ์ง ํต์ฌ ์ด์ ๊ฐ ์๋ค.
- โ์ฝ๋โ๋ ๋ฏธ๋์ AI๋ก ๋์ฒด๋ ๊ฒ์ด๋ค.(์ฌ์ค ์ด๋ฏธ ๊ต์ฒด๋๊ณ ์๋ค!). ๋ ผ๋์ด ๋ง๋ค๋ ๊ฒ์ ์์ง๋ง, ์ฌํ๊ฒ๋ ์ฌ์ค์ด๋ค.
- ์ฌ๋๋ค์ ๋์ ์ฝ๋๋ฅผ ์ ๊ฒฝ์ฐ์ง ์๋๋ค. ๊ทธ๋ค์ ๋๊ฐ ๊ทธ๋ค์ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ์ ํธ๋์ง์๋ง ๊ด์ฌ์ด ์๋ค.

์ฝ๋๋ฅผ ๋๊ตฌ๋ก ์ฌ์ฉํ๋ โ๋ฌธ์ ํด๊ฒฐ์ฌโ๊ฐ ๋์ด๋ผ. ๋ฌธ์ ๋ฅผ ์ดํดํ๊ณ , ์ต์ ์ ํด๊ฒฐ๋ฒ์ ์ฐพ๊ณ , ๋์ ์ฝ๋๋ฅผ ์ฌ์ฉํด์ ๊ตฌํํด๋ผ. ๊ทธ๊ฒ์ด ์ํํธ์จ์ด ์์ง๋์ด์ด๋ค.
๐ฉโ๐ป Opinion
์ ์ ์ฃผ๋์ด๋ฅผ ๋ฒ์ด๋์ผํ๋ ์๊ธฐ์ ์ ์ ํ ๊ธ์ ๋ง์ฃผ์ณค๋ค.
๋น์ฐํ ๊ฒ๋ค์ด๊ณ ์ค๋ฌดํ๋ฉด์ ๋ง์ด ๋๋ผ๋ ๋์ ์๊ฐ๋ค์ ์ ๋ฆฌํด๋์ ๊ธ์ด ์๋๊ฐ ์ถ์ ์ ๋๋ก ๋์ ์๊ฐ๊ณผ ์ ์ฌํ๋ค.
ํนํ ๋ฆฌํฉํ ๋ง ์๊ฐ์ ๋ํด์ ๊ทธ๋ ๋ค :) ๋ฆฌํฉํ ๋ง์ ์ํด ์๊ฐ์ ํฌ์ํ๊ธฐ๋ณด๋ค ๊ตฌํ์ ๊ณผ์ ์ผ๋ก์์ ๋ฆฌํฉํ ๋ง์ ๊ฐ์ ธ๊ฐ์ผํ๋ค๋ ๊ธ์ 100% ๋์ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌด์๋ณด๋ค ๋ง์ง๋ง ๋ง์ด ์ธ์๊น๋ค. "์ฝ๋"๊ฐ ๋์ง ๋ง์๋ ๋ค์ง์ ํ๊ณ ์์ง๋ง, "์ฝ๋"๊ฐ ๋์ง ์๊ณ "๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋"์ด ๋์ด์ผ ํ๋ค๋ ๊ฒ์ ๋ด๊ฐ ๋ชจํธํ๊ฒ ๋๋ผ๊ณ ์์๋ ๋ถ๋ถ์ ์๋ง๊ฒ ์ ์ํด์ค ๋ง ๊ฐ๋ค.
์ค๋๋ ์ฆ๊ฑฐ์ด ๊ฐ๋ฐ์์ ๋๋ชฉ์ ๋ฐฐ์ฐ๋ ๋ ์ด์๋ค:)
'๐ Study > TLDR' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[WebDev] Patterns for building realtime features (0) | 2025.02.12 |
---|---|
[WebDev] Developer philosophy (2) | 2025.02.05 |
[WebDev] Clever code is probably the worst code you could write (0) | 2024.05.23 |
[WebDev] How not to do code reviews (0) | 2024.05.19 |
[WebDev] You probably donโt need microservices (0) | 2024.05.19 |