본문 바로가기
주니어 무 지성 고군분투 일기

~ 9/9 까지 의 회고

by Integer Essence 2023. 9. 23.

 

 

질문의 변경

 

 

스스로에게 질문을 하며 코딩을 하게 된 것 같다.

 

예전에 내가 나에게 했던 질문들은 이나 궁금증은 거의 대부분 이런것들이였다 

 

"이거 도대체 어떻게 만들지?" 

 

요새는 나에게 하는 질문이 좀 변경되었다.

 

 

이거 어떻게 하면 좀 더 좋은 구조, 코드로 잘 만들지?

 

 

 

코드의 질이라는 것을 점차 생각할 줄 알게되는 것 같다. 

 

어디까지나 자기 평가에 불과하지만...

 

나는 이 변화가 코드에 의도를 담게 될 줄 알아 가게 되어가고있다고 스스로 느낀다.

 

코드에 개발자가 담을 수 있는 의도는 한단어로 하자면  유지보수성 이라는 말에서 끝나겠지만 굳이 내 머리로 나눠보자면  다음 4가지와 같지 않을까 생각한다. 

 

1.가독성

2.성능최적성 

3.모듈성,확장성

4.패러다임 ,디자인 패턴

 

 

처음 부트캠프에서 개발을 배우고 인턴십에서 

 

기능 구현을  완료한 나에게 좀 더 독립적이고 배포 가능한 수준으로 분리했으면 좋겠다던 피드백을 받았을때 

 

당시의  나는 몸도 아팠거니와 부정적인 생각이 먼저 들었다.

 

 

그래서 속으로  '근데 그게 무슨 의미가있는거지?' 라고 생각했다.

 

정말 몰라서 그런 생각을 했다기보다. 알긴 알겠는데 굳이 꼭 해야되나? 하는 

 

머리로는  이유를 알고 있었지만 공감은 못하는 상태였다고 말하는게 가장 적합할 것 같다.

 

왜 확장성을 생각해야되고 왜 독립적인 코드를 적어야되는지 에 대한 더욱 정확한 이해와 공감은 그해 말 참여한 우테코 프리코스에서 테스트 코드를 쳐보며 처음으로 느꼈다. 

 

덕분에 새삼 교육의 중요성 도 느꼈다. 혼자서도 테스트와 설계 같은것들의 중요성을 느끼고는 있었지만 이런 체계적인 훈련이 가능한 교육과정에 임하면서 배우는것은 느낌이 많이 달랐다. 

 

만들고 단순히 구현하는 건 가면 갈수록 특별히 어려운 것이 없었다. (물론  취준생 입장에서 답이 있는 것들을 만들다 보니 어느정도 한바퀴 도니까 그런 것일 것이다.)

 

특히 웹앱이라고 하면 거진 대부분의 것들은 다 어렵지 않게 금새 만들어 낼 수 있었고 그렇게 만들어 내고 나면 허탈한 느낌 까지 났다 물론 내가 목표하는 개발자 적 역량의 끝은 단순 구현이 아니였기에 할 것들은 여전히 무궁무진하게 많다. 

 

 

 

 

 

 

 

코드의 질을 생각하게 해준 것 -  GPT와의 소통 

 

제정신입니까? 휴먼

 

나는 그동안  의미불명의 에러를 해독시킬때 빼고는 chat-gpt를 거의 사용하지않았다. 

 

경험상 틀린 내용도 당당하게 말하는 할루시네이션이 심하다고 느꼈던 것이 가장 큰 이유 였던 것 같다. 

 

그래서 직접적으로 만드는 작업에는 거의 이 녀석을 활용하지 않는다

 

근데 이녀석 을 좀 더 넓게,  의견을 나눠 보는 형태로써의 유용한 조수 혹은 선생 으로써 써먹을 수있겠다는 생각이들었다.

 

그래서 코드의 질 과 관련된 질의응답을 이녀석과 하게되었는데 덕분에 생각지도못했던 관점이나 생각들을 많이준다.

 

타입스크립트 Enum 상수 관리 에 대해서도 생각하지 못했던 방향으로 더 많이 생각하게 된것도 물론 기초적으로 공부가 되어있는 부분도 있었지만 이녀석과의 대화와 문답에서 몇가지 새로운 생각들과 오류들을 잡게 되기도했다.

 

그런 의미에서 이녀석과 효율적으로 대화하기 위한 질문하는 법을 좀 더 배워야되지않나 하는 생각또한 강렬하게 들기도 했다. AI와의 대화에서  바보같은 질문에는 바보같은 대답만이 따르니까.

 

이런 경험들 덕분에 그동안 전혀 관심없다가 다른 사람들은 어떻게 이녀석을 쓰나 생각해보고 둘러보게 된 계기가 되기도했다. 

 

혼자 공부하는 사람, 특히 개발자에게 이 녀석은 굉장히 유용한 도구이지 않나 하는 생각이들었다.

 

사람들은 이녀석이 모든것을 대체할수있다 ai 혁명이다 라고 하는데 나는 확실히 이녀석이 구글 검색 엔진의 역할을 약간은 대체 하거나 자기만의 고유한 영역을 가질 수 있을것 같다는 생각은 드는데 사람을 대체할 수준인지는 잘 모르겠다.

 

거기에 대한 생각은 또 너무 길어짐으로 생략... 

 

아무튼 이녀석이 아주 유능한 비서역할을 하게되면 

 

공부하고 나아지고자 하는 사람에게 더욱  광활한 능력을 부여해 줄 것이라 생각한다.

 

어찌되었건  이런 경험에 의해 gpt ai 에 대한 관점이 많이 긍정적으로 변화했고 코드의 질에 대해서도 더 많이 생각해 볼 수있게되었다.

 

그동안은 혼자 공부하는게 좀 족쇄같이 느껴졌는데 이녀석을 활용하니 전보다는 훨씬 나아진 느낌을 받았다. 

 

읽기 시작한 개발 관련 서적  

 

생각해보니 8월에 들어서  개발 관련 서적들도 더 많이 읽게 되었다. 

 

사실 뭐 시간이 넉넉하진않다. 개발외적으로 원래 늘 읽던 책들도있고 

 

딱히 넉넉하고 안넉넉하고랑 상관없이 해야된다고 생각했다면 아주 작은 시간이라도 할애해서 매일 성실하게 해나가는것만이 가장 빠른길이라고 나는 믿기에 읽기 시작했다 물론 흥미도 있었고 필요성도 조금 느꼈기도하고.

 

내가 개발적으로 읽는 책은 대부분 개념적인 것들이 많다.

 

리팩토링, 클린코드, 모두의 네트워크가 8월에 들어서 새롭게 읽기시작한 책들이며 모두의 네트워크를 제외하곤  올해까지 다읽을수있을지   모르겠다.

 

여느책이라도 다 그렇겠지만 뭐 꼭 다 읽기만 하는 게 중요한 건 아닌 책들이긴해서 완독이 가지고있는 의미는 크게 없다 

 

만일 그런 책이었다면 속독했을것이다. 

 

사실 그이전에도 블로그 카테고리에 독후감 같이 만들어두고 몇개 올렸었는데 현재는 다지워버렸다.

 

'프로그래머의 길 멘토에게 묻다'  나 '커리어 스킬'  'IT좀 아는 사람들'  그리고 내가 좋아하는 작품과도 같은 결과물들을 내는 구글인터렉티브 디벨로퍼 종민님의 '일은 배신하지않는다' 등등 (읽은지 오래되서 몇개는 기억도안난다) 을 나름 대로 정리해서 올렸던 기억이난다. 

 

'모던 자바스크립트' 도 읽으면서 감탄했던 기억이 나는데 주로 내가 개발 언어를 배울때 사용하는건 책보다는 강의를 선호하는편이다.

 

원래는 보통 책으로 , 글로 배우고 만드는것을 더 선호하는 편인데

 

저자가 누구냐에 따라 다르지만 글이야말로 가장 표현에 구애를 받지 않고. 여러 다른 표현수단에 비해  가장 뛰어나게 상상력을 자극하는 수단이라고 생각하기때문에 그렇다

 

 

개발 같은 어떤 만드는 걸 배우는 직군에 한해서는 책보다는 강의가 훨씬 실용적이라는 것이 개인적인 생각이다.

 

물론 내가 클린코드나 리팩토링 같은 것들은 직접 사서 읽듯이,  상황과 경우, 필요 에 따라 다르지만.

 

덕분에 더욱 코드를 보는 관점이 깊어지는 것 같다.  아직까진 물론 다 너무 훌룡한 책들이라 비동의 할 부분도 크게 없지만 그래서 그런지 완전히 내 관점으로 흡수한 것 같지는 않다고 느낀다. 

 

 

처음으로 느낀 상태관리의 필요성 

 

나는 여지껏 주로 context를 이용해서 상태관리를 했다. 왜냐면 내가 공부용으로 만들었거나 어떤 기술을 썼다고 해서 만들만한 프로젝트에는 context를 이용한 상태관리 그이상은 특별히 필요하지않았기때문이다. 

 

물론 그거랑 별개로 대략적으로 recoil 이나 redux 같은경우는 사용해봤고 하는 법은 대략안다. 

 

그러나 props 드릴링 이라는것이 일어날 정도도, 중앙집중화해서 전역상태를 관리할 일도 없었는데 이번에 이전에 개발했던 웅진 씽크빅 쪽 레이아웃 자동화 시스템을  개인프로젝트로 변환시키고 개발하면서 같은상태를 여러곳에서 쓰고. 컴포넌트 레벨로 추상화를 시키고 Frame을 만들고 하다보니 엄청난 props drilling 이일어나고있었다. 

 

그쯤되니 상태관리가 정말 필요하다고 스스로 느꼈는데. 

 

개인적으로 는 감회가 새로운것이 상태관리의 필요성을 느낀것 뿐만아니라 내가 스스로 생각해서 이제 적용해야겠다고 느낀것이 정말 좋은 경험이였다.  덕분에 내 개발적인 생각의 범위 도 함께 넓어지고있다는 느낌을 받았다.