안녕하세요. 닉값 못하는 C++입니다.
과거에 사용기 게시판에 글을 한번 쓴적이 있습니다.
https://www.clien.net/service/board/use/14908444CLIEN
벌써 저 글을 쓴지 6개월이 흘렀다니.. 믿기지가 않네요. 저때가 본격적인 백수생활을 하면서 생활코딩을 통해 웹프로그래밍을 배운지 정확히 한달쯤 되었을 때 입니다. 동시에 늦은 나이에 롤을 배웠고.. 웹프로그래밍을 배우면서 현재는 실버2를 찍었죠. (후후....골드가즈아..)
저때는 한달 내내 강의만 들어서 이제 강의 듣는게 굉장히 지겨워진 상태였고, 이고잉님께 배운 가르침에 따라 적게 배워서 어떻게든 많이 써먹어 보고 싶은 욕구가 충만할 시기였습니다.(생활코딩에 굉장히 좋은 양질의 강의를 무료로 올려주시는 이고잉님께 다시 한번 감사의 인사를 드립니다 (__) 덕분에 이제 어느정도 자립하여 스스로 삽질할 수 있는 초보 웹린이가 되었읍니다.)
저때 상태를 잠깐 회상해보면 아주 기본적인 형태로 html css javascript mysql nodejs git까지 배운 상태였고 기타 여러가지 웹환경에 대한 기본 강의들을 스쳐지나가면서 들었던 것으로 기억합니다. 그리고 그때 때마침 롤을 배웠기때문에 지금 많은 분들이 쓰고 계시는 롤전적검색사이트 같은 사이트를 나도 만들어보면서(클론코딩이라고 많이들 말씀하시던군요) 웹공부나 하자... 이런 맘을 먹은 상태였읍니다. 어차피 놀고먹으면서 1년 보내고 싶었고 코로나 핑계도 댈 수 있었고 흠흠 백수에게는 매우 핑계거리가 좋은 한해였죠.
그렇게 저 글을 올리고 댓글들로 선배님들께 많은 피드백과 응원을 받았습니다. 피드백을 받아 단순히 nodejs만으로 무언가를 만들기 보다는.. 그 마음을 잠시 억누르고 express라는 프레임워크까지는 배우고 시작하자 라고 마음을 먹었습니다. 실제로 생활코딩에 express강의가 올라와 있었고 그 강의 내용이 많지 않았기때문에 즉시 실행에 옮길 수 있었습니다. 지나고보니 express를 배우고 시작하기를 매우 잘했단 생각을 했습니다. 배우고나니 아무도 nodejs만으로 웹프로그램을 만들것 같지 않더군요. 딱 express까지 강의 들은 소감을 이전 글에 추가하고 천천히 롤전적검색사이트를 만들면서 '쉽게쉽게' 공부하려 했으나.. 그 타이밍에 아는 동생과 커피한잔을 마시면서 제 웹프로그래밍 공부의 고난은 시작되고 말았습니다.
동생 : 롤은 정말 인디게임슈듄이다... 어떻게 친구가 로그인했는지 알려주는 기능도 없냐.... 심지어 클라이언트 망가진게 벌써 몇달째인데 고칠생각이 없는 것 같다... 아니 이전에 클라를 만든 개발자는 때려친 것 같고 후속 개발자들이 어디서 부터 고쳐야 하는지 손을 못대는것 같다.. 이렇게 세계적인 게임이 이렇게 운영되는게 말이 되느냐..
저 : (솔깃) 그런 알림 있으면 좋을 것 같아?
동생 : 불편하잖아요. 우리 멤버들이 롤을 하고 있는지 안하고 있는지 모르니까.. 직접 겜을 들어가봐야 알 수 있고 어플이 있긴한데 여기서 알림을 주는 것도 아니고..
저 : 나 공부하려던 참인데.. 혹시 만들 수 있으면 만들어 볼게.
네 그렇게 시작된 저의 웹프로그래밍 체험은 안드로메다로 가게 됩니다. 수준에 안맞는 무시무시한 것들을 겪어야 했습니다. 그리고 6달이 지난 지금...
잘못된 형식의 이미지 링크입니다.
10월 3일 기능을 완성시켜서 이렇게 알림을 받아 볼 수 있게 되었습니다.
현재까지 친구들과 저는 이 기능을 아주 잘쓰고 있습니다.
하나하나 우여곡절을 풀면서 처음 코딩을 배운 사람이 어떤 부분을 구현하는게 어려웠는지.. 어떻게 극복했는지 이런것들을 쭉 적어보려고 합니다.
글 읽는 독자분들을 그냥 일반분들로 상정해야할지.. 클리앙에는 개발자분들이 많으니까 그냥 개발이야기를 쭉 해야할지 고민이 많았는데 적당히 버무려서.. 그냥 손가는대로 적어보기로 했습니다.
그때의 생각과 감정들이 잘 떠오를지 모르겠는데 어려울 때마다 아질게에 남긴 글들도 있으니 감정적인것이나 기술적인 부분을 떠올리다 보면 잘 정리되지 않을까 싶습니다.
금방 스타트가 될 줄 알고 글쓰기 버튼 클릭하고 열심히 썻는데... 소일거리를 하러 갈 시간이네요... 백순데요... 눈치보이니까 백수 아닌 척 하려고 작은 알바거리를 시작했어요. 곧 일을 하러 나가야 할 것 같네요.
원하던 첫번째 기능이 완성된 지금.. 이 시점에서 지금까지 느꼈던 것들을 종합적으로 간단하게 감상만 말씀드리고.. 추후에 글을 더해서 올리도록 하겠습니다.
1. 웹상에는 코딩하는 법만 나와있지만.. 실제로 독학하는 사람입장에서 극복해야 할 난관이 한두개가 아니다.
html css javascript를 쓰는건 어쨌든 무언가를 구현하기 위해서 굉장히 중요하지만 그 외에도 배우고 극복해야할 요소가 정말 한두개가 아닙니다.
저는 그 스타트가 linux였는데요.. 그래도 어렸을 적에 ms-dos를 만져본적이 있는게 그나마 행운이라고 해야할까요.. 그래픽컬한 환경이 아니라 글자로만 무언가를 하는 os를 경험해보지 않은 요즘 친구들은 더욱 힘들지 않을까싶습니다.
뿐만아니라 대부분의 유튜브, 웹강의 같은것을 보아도 대부분은 본인 컴퓨터인 로컬환경에서 구축하는 것을 설명하기 때문에 실제로 서버에 본인 프로그램을 올려서 구현하기까지 진짜 엄청난 삽질의 연속을 겪어야합니다.
아무도 이부분에 대해서는 중요성을 언급하지 않는 것 같아요. 아마 코딩을 막 배운 초보자와 실제 현업에 계신 개발자 사이의 간극이 가장 큰 부분이 이 부분 아닐까 싶습니다.
유료강의에는 이런 강의도 있는지 모르겠는데 대부분 많은 분들이 쉽게 접할 수 있는 유튜브자료들은 단지 코딩하는 방법만 나와있지 어떻게 서버까지 올리는지는 잘 나와있지 않습니다.
2. 공부의 연속... 그래도 답이 있는 공부의 연속..
저는 대학교에서 통계학을 공부했는데.. 정말 답이 없는 문제들을(예를 들면 어디에도 나와있지 않는 증명같은 과제 등등..) 만나면서 참 골머리 썩었던 기억이 납니다.
매번 새로 배우는 과목은 어렵고 난해하고 낯선 개념이고 그것들은 성실성과 똑똑한 머리를 요구했습니다. 단순히 노가다를 뛴다고 해서 해결할 수 있는것이 아니고.. 시간은 제한적이고 난이도는 높고.. 난 머리가 정말 나쁘구나.. 뭐 그런 좌절감을 느끼면서 꾸역꾸역 졸업은했죠.
근데 프로그래밍을 배워보니까 이 개발이라는 것도 매번 모르는 것을 뚫고 나아가야하는 상황의 연속이었습니다. 한발자국 나아가면 또 모르는게 나오고 한발자국 나가면 또 모르는게 나오고... 계속 안풀리는 숙제의 연속이었습니다.
안될때 짧게는 3일.. 길게는 일주일.. 원하는대로 안될때는 우회방법을 택하면서 어떻게든 다른방식으로 해결하려다가 우연찮게 한달만에 방법을 발견하게 되고 이전 코드 싹 지우고 다시 작성... 이런식이었습니다.
그래도 이게 기계가 하는 일이라 그런지 어떻게든 그 환경에서 정해진 답은 있더군요. 아마 그 답을 빨리 찾는게 고수가 아닐까.. 그런생각을 합니다. 한편으로는 엥간치 숙련자 아니고서는 개발자분들도 새로운것을 개발하라고 하면 이런 공부가 필요할텐데... 매번 그렇게 공부하고 자기개발 하실거라 생각하니 존경심이 절로 생기더군요. 아마 매번 새로운것에 적응하고 공부해야 하는 것에 스트레스가 큰 분들은 적성에 안맞을 것 같습니다.
3. 멘탈관리
제가 원하는 이 기능을 구현하기로 마음 먹었을때 스스로에게 했던 다짐이 있습니다.
조금 오래걸려도 괜찮다. 스스로에게 관대하자. 대신 무슨일이있어도 끝까지 원하는 형태로 기능 구현을해서 꼭 유용하게 써먹자. 힘들때는 오늘 한줄의 코드를 작성했는가... 어제보다 진일보했는가만 관심을 두자. 작지만 그렇게 오늘 무언가를 했다면 자책하지말고 내일 또 다시 해결해보자.
이 다짐은 개발하는 동안 어려움에 처할 때 마다 정말 큰 도움이 되었습니다. 정말로 멘탈관리가 수월하게 되었고 잘 안풀릴 때는 밖에 나가서 운동도하고 산책도 하면서 시간을 맘편히 보낼 수 있게 되었습니다.
어떤 프로젝트를 하는데 무한정 시간을 보낼 수는 없기때문에.. 제 맘속에 8월이 되기 전까지 어떻게든 구현하자는 마음이 있었거든요. 초보치고 시간이 좀 타이트하긴 했는데.. 5,6,7월 세달동안의 프로젝트였으니까요..실제론 훨씬 더 걸렸지만 이유는.. 8월 9월은 롤 티어를 올리느라....쿨럭.. 사실 8월초에 거의 90프로 완성은 되어있었습니다.
여튼.. 초보자에게는 멘탈관리를 하면서 꾸준히 try하는 것이 사실 가장 중요한 것이 아닌가 싶습니다. 왜냐면 이 코딩이라는게 일주일만 손떼고 있어도 또 감각이 죽더라구요. 내가 전에 어디까지 개발했었지... 아 이거 분명 내가 어디서 찾아서 긁어가지고 스스로 짠 코드는 맞긴한데.. 되긴되는데 왜 이렇게 문법이 생소하지... 등등..
아마 학생분들이나 자기개발을 하시는 분들이 프로그래밍을 공부할 때... 실력이 늘지 않는 이유는 존버, 즉 꾸준한 멘탈관리 및 꾸준한 try를 하기가 어려운 환경이 아닐까...생각합니다.
이제 진짜로 소일거리를 하러 나가야 하는 시간이네요.
오늘 하루 일정이 끝나면 시간나는대로 그동안에 겪었던 여정의 일부를 작성해 올려보도록 하겠습니다.
어디선가 열심히 혼자 독학 및 삽질을 하고 있는 그대들에게 응원을 보냅니다. 저도 너무 외롭고 힘들었거든요. ㅠㅠ 읽어주셔서 감사합니다.
-------------------
https://www.clien.net/service/board/use/15475142CLIEN 3탄입니다.
개발자로서 서버세팅에 대해 말씀드리자면...
대부분의 클라이언트 개발자는 본인로컬정도만 세팅할줄알지 운영서버를 직접 세팅하는 경우가 드뭅니다. 거의 다른분야라고 봐도 무방할 정도구요. 이쪽은 따로 공부하셔야 할꺼에요.
로그인 한 상태에서 계속 켜놔야 하나요?
감사합니다!
프로그램 만든 과정을 정리해서 깃허브에 README.md 파일 만들어서 정리해서 공유하셔도 좋을 것 같습니다.
어디서부터 시작했었는지 등등.. 복습 효과도 있고 과정도 기록이 남아서 좋을꺼에요.
또 모르죠~ 코드 기여하는 사람들도 있을지 모르고요~ :D
그럴때 일수록 작은 목표를 자주 달성해서 자신감 채워야해요. 안그러면 우울감에 잡혀먹힙니다.
그리고 모를수록 어렵게 해결합니다. 하지만 공부할때는 그 어렵게 해결하는 과정마저도 반복해야해요.
끈기있게 답을 해결해 나가는게 프로그래밍의 묘미이죠.
응원합니다. 본인 믿고 정진하세요.
저런 마음 자체는 가지는게 좋지만, 까딱 잘못하면 그냥 탱자탱자 노는 핑계가 될 수도 있으니...
매일 느끼는거지만 어렵습니다 정말 ㅜ
초급 개발자님과 함께 일하면서 느낀점은. 이게 생각보다 프로덕션 서비스하기에는 굉장히 까다로운 환경의 언어구나 싶었습니다. (상대적으로 Apache+PHP 조합에 비하면요) 게다가 비동기쪽으로 들어가면서 너무 힘들어하는 것도 보이구요. 게다가 회사가 작아서 백엔드 프론트엔드 구분 없이 풀스택으로 해야하는 지라 React랑 Vue까지 배운다음에 모바일 반응형 들어가면 거의 GG 칠려고 하더라구요 .. 솔직히 10년 전에 비해서 배울게 너무 많아지긴 했습니다. 이젠 버전업까지 따라가기 벅찬 ㅎㅎ NodeJS도 14버전까지 간것 같은데 뭐가 바뀌었는지 트랜드 팔로우도 힘들어요. 그래도 힘든만큼 배워두면 먹고살긴 좋습니다.