코딩의 28가지 법칙을 읽고나서

박희주·2022년 11월 24일
1

이번에 커리어리에서 좋은 게시글 알람을 받았는데 마켓컬리에서 백엔드 개발자로 근무하고 계신 조서희 님의 좋은 글을 보게 되었습니다.
주니어 개발자로써 하나하나 공감이 되고 이렇게 나아가야겠다 라는 생각이 들어 개인 수첩에도 적어놓고 좋은 글을 공유하고자 블로그로도 옮겨 적어봅니다.

1. 질문하기

질문하는것을 두려워 하지 마십쇼. 모든 사람이 100% 알지는 못합니다. 저도 마찬가지로 궁금한게 생길 때는 질문을 자주하는 편입니다. 하지만 모르는게 생길 때마다 질문하는 것이 아닌 제 자신이 모르는 부분에 있어 개인적으로 찾아보려는 노력을 해보며 그래도 모르는 것이 있을 때 기승전결을 명확하게 알 수 있는 즉, 자신이 무엇이 궁금한지 포인트를 딱 집어서 얘기 할 수 있는 질문을 생각해서 해보는것이 좋다고 생각합니다.
물론 이 방법은 초기에는 매우 어려울거라 생각합니다. 왜냐하면 이렇게 해본적은 없었기 때문이죠 자주 해보면서 습관을 기르다보면 질문하는 방법을 스스로 터득할 수 있을 것입니다.


2. 프로젝트를 만들고, 만들고, 만들기

코딩을 더 잘하게 되는 유일한 길은 코딩을 하는 것입니다. 무엇이든 만들어보아야 합니다. 처음에는 무엇을 해야하나 막막하실거라 생각하지만 어떤것이든 상관없습니다.
저는 무엇을 해야할지 몰라 계속해서 TODO리스트를 만드는 것만 했었습니다. 벨로퍼트님의 리액트를 다루는 기술이라는 책을 구매해서 수십번 읽어보며 TODO리스트를 그냥 쌩 리액트로만 만들어보고, Next.js로 SSR을 경험해보기 위해 만들어보고, 또한 실질적으로 만들어진 TODO가 저장되어 꾸준히 활용하게 만들어 보기 위해 Firebase와 리액트를 통해 DB가 있는 TODO를 만들어보았습니다.
또 전역상태관리를 공부해보기 위해 리덕스를 통해서 리액트와 만들어 보았으며 그리고 Vue.js를 익혀보고자 이를 통해서 또 같은 TODO를 만들었습니다.


3. 코드 복사도 OK

1번과도 연관되어 있는 사항인데 검색을 해보다가 스택오버플로우나 깃헙, 혹은 다른 개발자 분들의 블로그나 회사의 기술 블로그 등 소스는 넘치고 넘칩니다.
이를 복사해서 사용하는 것도 도움은 된다 생각합니다만 그냥 복사하고 붙여넣기로만 끝나는건 전혀 도움이 되지 않습니다.
그 코드를 읽고 해석 할 줄 알아야 복사하고 붙여넣는것도 도움이 된다고 생각합니다.


4. 유튜브만 보지 말기

유튜브를 보는 것이 지식을 얻는데는 도움이 충분히 된다고 생각합니다. 하지만 한계가 있는것은 분명합니다. 만약 코딩을 하는데 있어 튜토리얼이나 영상 없이 할 줄 모른다면 문제가 있는겁니다.
유튜브를 통해서 따라치면서 학습하는 것도 중요하지만 따라치는데만 그치는 것이 아닌 지식을 얻는데에 집중하는 방법이 더 좋을 것이라 생각합니다.


5. 서로를 가르치기

가르치는 것은 최고의 스승중에 하나입니다. 누군가를 가르쳐야 한다는 것은 자신이 올바른 지식을 갖춘 상태에서 시작해야 된다 생각합니다.
또한 내가 아는 지식을 누군가에게 가르치는 과정에서 그 지식이 한층 더 자기 자신에게 올바르게 자리를 잡을 것입니다.
저 또한 제가 아는 지식을 가르친다고 하기보단 공유하는 차원에서 입으로 얘기하면서 설명을 하다 보니 제가 놓친부분이 무엇이 있었는지 무엇을 더 알아야하는지에 대해 감이 잡히기 시작하고 아는 부분에 있어서는 좀 더 머릿속에 각인이 잘되는 걸 몸소 느꼈고 지금도 그러는 중입니다.


6. 기술 뉴스 / 커뮤니티 구독하기

기술 뉴스를 구독하고 기술 커뮤니티에 들어가는 것 또한 중요합니다. 이건 장기적으로 매우 긍정적인 효과를 미칠것입니다.
저는 이 부분을 집단지성의 긍정적인 영향으로 생각하고 있습니다.


7. 긍정을 퍼뜨리기

이건 각 개인적인 사항으로 항상 긍정적으로 생각하시고 타 동료분들이나 개발자분들을 커뮤니티에서 대할 때 긍정적으로 대하시는 걸 추천드립니다.
개발은 혼자서는 절대 할 수 없습니다.


8. 버그를 수용하는 법을 배우기

대부분 주니어 개발자분들은 버그가 생겼을 때 좌절하고 거기서 의욕이 떨어지는 것을 많이 보았습니다.
버그는 당연히 발생 할 수 있습니다. 첫 판에 완벽하게 해결 할 수 없는 것처럼 버그가 생기는 것을 두려워하지 마십쇼 저는 버그가 생기는 것을 즐겁게 생각합니다. 오히려 한 번에 해결되는 것에 대해서는 지속적으로 의심을 해보게 됩니다.
버그가 생기는 과정은 개발의 일부분이기 때문에 절대 피할 수 없으며 오히려 이를 해결하는 과정에 있어서 자신을 더 성장시킬 수 있는 좋은 발판이 될 것 입니다.
오탈자나 ';'하나로 몇시간을 헤매어도 좋습니다. 저도 그런적이 많았었거든요....


9. 하루에 6시간씩 코딩하지 말기

물론 열심히 하고자 하는 열정은 높게 살 수 있습니다. 하지만 이러한 시간늘이기는 오히려 당신을 지치게하고 번아웃이 발생되게 할 수 있을 겁니다.
저는 시간보다는 목표량에 집중하여 목표량 달성하면 그날은 바로 휴식에 들어갑니다. 그렇다고 소홀하게 공부하고 개발한 적은 없었습니다.
시간을 채운다는 느낌보다는 집중할 수 있을 때 빡 집중해서 자신의 목표량을 하나씩 채워가는 방법도 좋다고 생각됩니다.


10. 생략

이 글을 읽어주시는 것에 대해 감사를 드립니다.
10번 사항은 원 저자분의 셀프 브랜딩 부분입니다.
(구독 좋아요 알림설정까지 잊지말고 해주세요의 느낌)


11. 구글 사용법을 배우기

1번의 질문하기와 상당히 겹치는 부분입니다. 질문을 하기 이전에 미리 찾아보는 걸 말씀드렸었는데 이 부분이 바로 구글링입니다.
우스갯소리로 개발을 공부할 때 여러 개발 게시물들을 보면서 '개발자가 주로 개발할 때 하는 것'이라는 컨텐츠에서 80%가 구글링이고 20%가 코딩이라는 글을 본적이 있었습니다.
그만큼 구글링은 개발자에게 하나의 기술이라고 할 수 있을 정도로 중요한 부분 중 하나입니다. 저 또한 구글링을 통해 코드나 방법을 찾는 것을 부정적으로 생각했으나 이는 절대 부정적인 것이 아님을 깨달았습니다.
구글링은 필연적인 것이며 개발 뿐 아니라 모든 분야에 있어 강력한 무기라고 생각이 됩니다.


12. 스택오버플로우 사용하기

스택오버플로우는 질문과 답변도 할 수 있으면서 과거 질문들까지 모두 확인이 가능한 유용한 웹사이트 입니다.
저도 코딩을 하다 막힐 때는 블로그글도 많이 참조는 하지만 스택오버플로우에서 주로 확인을 합니다.
구글링에 더해서 스택오버플로우까지 활용을 잘 하신다면 문제해결을 하는데에는 전혀 무리없이 나갈 수 있을 것입니다.


13.GitHub과 Git을 과소평가 하지 말기

버전 컨트롤 시스템은 매우 중요합니다. Git과GitHub는 필수적으로 사용할 줄 알아야 합니다. 자신의 프로젝트에 대한 저장소 역할을 함과 동시에 포트폴리오가 되기 때문에 절대 무시해서는 안됩니다.


14. 공식문서 읽기

모든 언어 / 프레임워크 / 라이브러리들은 공식문서가 존재합니다. 이 또한 구글링을 통해서 찾을 수 있습니다.
저는 무조건 궁금한 것이 생길 때는 공식문서 먼저 보고 제가 이 메서드나 api들을 올바르게 사용하고 있는지 체크를 한 후 추가적인 궁금증이 생길 때 스택오버플로우나 기타 블로그들을 참고하고 있습니다.
단, 모든 공식문서가 쉽게 설명이 되어있지는 않습니다.


15. 치트시트 사용하기

치트시트란 자주 사용하는 명령어와 기능들을 보기쉽게 한 장에 정리한 문서를 말합니다.
새로운 것을 배울 때 모든 것이 패턴을 가진 다는 것을 느끼실 겁니다. 또한 반복되는 문장들도 많을 것입니다.
이를 사용하게 된다면 시간적인 측면에서는 매우 효과적일 것이라 생각합니다.


16. 다크모드 사용하기

여러분들의 눈은 소중하니까요
잘못된 습관으로 건강을 해치지 마시길 바랍니다.


17. 한 번에 한 가지만 배우기

코딩을 처음시작 할 때 욕심내서 여러가지를 하다 모든 것을 놓치기 십상입니다. 이건 자기 자신을 망치는 길이기도 합니다.
저도 마찬가지로 뒤쳐지기 싫어서 이것저것 손 벌렸다가 이도저도 아니게 된 기억이 있어 그 이후부터는 하나를 집중해서 목표량을 정해 공부하기로 계획을 세워서 진행하고 있습니다.
하나씩 도장깨기를 하신다는 생각으로 진행하시면 성장은 금방 이루어질 것 입니다.


18. K.I.S.S (Keep It Simple Stupid: 간단하게 만들기)

코딩할 때 복잡하지 않게 만드는 노력은 매우 중요합니다. 가장 간단하게 해결책을 만들기 위해 노력하십쇼
일을 복잡하게 만드는 방법은 아주 쉽습니다 다만 해결하기가 까다로울 뿐.... 복잡하게 일을 저질러 놓고 추후 수정하고 유지보수 단계나 거기에 새로운 기능을 얹을 때가 온다면 그때 그렇게 코딩했던 자기 자신을 원망하게 될겁니다. (이건 저의 경험입니다.)


19. 코드 재사용 하기

같은 코드를 재사용하는 방법을 배워야 합니다. 이는 프로세스를 굉장히 빠르게 만들어 주고 개발속도는 물론이고 퍼포먼스 상으로도 긍정적인 효과를 줄 것입니다.


20. 하드코딩 하지 않기

하드코딩이란 상수나 변수에 들어가는 값을 코드에 직접 쓰는 방식입니다.
자동화가 가능 하다면 자동화 하는 것이 좋습니다. 하드코딩은 나쁜 습관이며 성장을 멈추게 할 것입니다.


21. OOP(Object Oriented Programming)를 배우기

언어 자체를 배우는 것 보다 객체지향프로그래밍의 안팎을 아는 것이 더 중요합니다. OOP는 원칙이고 당신이 하는 것의 원칙을 아는 것도 중요합니다.


22. 반복하지 않기

19번의 코드 재사용하기와 연관이 있습니다. 같은 코드를 두 번 이상 반복하지 마시고 메서드, 변수, 루프 등으로 재사용을 하시는 걸 추천드립니다.


23. 일관성 유지하기

매일 매일 배워야 합니다. 절대 배우는 것을 멈추지 마시고 항상 앞으로 더 나아가야 합니다. 한 줄의 코드라도 조금씩 성장하는 것이 중요합니다. 작은 성장도 성장입니다.


24. 다른 사람을 위해 코드를 쓰기

클린 코드를 작성하는 것이 매우 중요합니다. 클린 코드는 과정을 굉장히 빠르게 만들어 주고 주석과 좋은 원칙, 사이사이 공간을 띄우고, 충분히 좋은 네이밍을 유지하여 주세요
주변에서 얘기를 들어보면 "코드는 나를 위해 작성하는 것이 아닌 남을 위해 작성하는 것이다" 라는 얘기를 자주 들었던 것 같습니다.


25. 실험을 두려워 하지 말기

뭐든지 도전을하고 실험을 해보십쇼
처음 접해서 모르는 건 당연한 겁니다. 새로운 기술을 배우는데 있어 두려운 모습을 보이는 분들을 몇분 봤었습니다.
새로운 기술을 접하는 것은 매우 흥분되고 즐거운 것입니다. 모른다고 멈춰있지 마시고 내가 마주친 기술을 부숴버린다는 생각으로 적극적으로 실험을 해보시기 바랍니다.


26. 음악듣기

7번 사항인 긍정을 퍼뜨리기 와도 연관되어 있다 생각합니다. 코딩을 할 때 즐겁게 해야지 스트레스 받고 귀찮은 상태로 하면 그만큼 나쁜 코드가 나올 것입니다.
하지만 전 개인적으로 집중을 하다 보면 아무것도 들리지 않아 음악을 켜도 듣는게 듣는 것이 아닌것 같습니다.....


27. 포기하지 말기

코딩은 어렵고 해야할 공부는 많아 착잡할 것입니다. 그렇다고 배우는 것을 멈춰버리면 성장 곡선은 급 하향세를 타게 될 것입니다. 그 상태가 계속된다면 자기 합리화를 시작하게 되고 거기서 개발자로써 달려가는 노력을 멈추게 될 것입니다.
노력은 배신하지 않습니다. 제 개인적인 경험으로 비전공자이고 컴퓨터쪽에는 관련없던 군에서 5년넘게 복무를 했었기 때문에 전혀 익숙치 않아 처음에는 애를 먹었었습니다.
그 와중에 포기를 하고 공무원시험 준비아니면 기업에 인사팀으로 입사를 할까 생각도 많았던 시기가 있었지만 그땐 그냥 쉬었습니다.
괜찮아 질때 까지 쉬고 나서 다시 맥북앞에 앉아 시작해보니 정신차리고 공부를 했으며 현재는 커리어 전환에 성공해서 프론트엔드 개발자로써의 커리어를 시작해 나가고 있습니다.
지금의 노력은 당신에게 언젠가 기회와 결실을 가져다 줄 것을 확신합니다.


28. 28가지 규칙 읽어보기

처음에는 그냥 훑어봐야지라는 생각으로 게시글을 읽게 되었는데 읽을 때마다 제가 개발자로써 커리어를 전환하고 현재 주니어 개발자로 개발을 하게 까지의 과정이 규칙들을 읽을때마다 하나씩 떠올라서 초심을 찾게 해주는데 도움이 되어 제 개인 벨로그에까지 글을 다시 남기게 되었습니다.
그냥 한 번 시간날때 훅 훑어보시면서 읽어보시는 것 만으로도 도움이 될 것입니다.


자료출처

  1. 조서희 님의 커리어리 게시글(코딩의 28가지 법칙 시리즈)
  2. 원 저자 블로그(The 28 Laws Of Coding! part1)
  3. 원 저자 블로그(The 28 Laws Of Coding! part2)
  4. 원 저자 블로그(The 28 Laws Of Coding! part3)
profile
하나부터 열까지, 머리부터 발 끝까지

0개의 댓글