판교에서 일하는 개발노예 7년차다. 어차피 인증할 생각도 없으니까 어디서 일하냐 연봉은 얼마 받냐 묻지 말고.
눈팅하면서 가끔 질문에 댓글도 달고 하는데 내가 너네랑 비슷한 상황일 때 미리 알았더라면 좋았을 것들이 많이 생각나서 좀 적어보려고 함. 좋게 말하면 조언이고 나쁘게 말하면 꼰대질이니까 읽기도 전부터 기분나쁠거 같으면 뒤로가기 살포시 눌러주셈.
1. 'ㅇㅇ 해야함?' 유형
흔히 올라오는 질문이 수학이랑 관련되어 있거나 그런거 같은데 그냥 하던거 공부해라. 하다가 수학이 필요하면 거기서 턱하고 막힐거임. 그때가서 해도 늦지 않는다. 개발일 공부부심 부리려는게 아니라 진짜 말그대로 개발자는 자기가 문제해결을 해야하는데 모르는 부분이 나오면 공부하는 것 말고 답이 없다. 은퇴할 때 까지 계속 공부한다는 말이 나오는 이유 중 하나도 거기에 있다고 봄. 이미 해결방법을 아는 문제들은 더 이상 문제가 아님. 해결방법을 모르는 문제들이 나오면 그 해결방법을 배울려고 공부하는거임.
그때가서 수학공부하면 '아 미리미리 해둘걸' 이런 생각을 하게 된다. 근데 앞으로 개발자로 니네가 겪을 일들이 어떤 게 있을 줄 알고 미리미리 하겠냐. 어떤 직종이 뭐가 필요한지 미리 왕도를 알아내서 기초부터 탄탄하게 쌓겠다는 욕심은 버려라. 사람일 자기가 계획한대로만 흘러가지는 않는다. 인생이 스탯 & 스킬트리 찍듯이 계획한 대로 착실히 돌아가는 거였다면 애초에 니네가 프갤에 올 이유가 없었겠지.
정 불안하거나 당장 이거 배워두면 좋을거 같다 싶은 게 있으면 그건 미리 공부해도 된다. 흥미가 있으니까 재미도 있겠지. 근데 막연한 불안감 때문에 재미도 없는거 미리 붙들고 시간낭비 하지는 말라는 거임. 니가 뭐가 필요할 줄 알고 그걸 다 배우냐. 필요할 때가 되면 필요한 것만 쏙쏙 배우는게 효율도 더 나음.
개발자라는게 어차피 쌓아놓은 지식을 가지고는 십년도 못간다. 계속해서 새로운 기술, 더 나은 방법이 나오기 때문이다. 중요한 건 기존의 경험을 토대로 새로운 것들을 빨리 배워서 써먹는 능력이다. 블로그에 정리하는 것도 그냥 나름의 성취감을 느끼기 위해 하는거지 너도 잘 알겠지만 니가 니 블로그를 다시 들여다 볼 일은 거의 없다. 그리고 니 블로그를 보는 사람중에는 너의 인생을 바꿀만한 능력을 가진 사람도 없지. 그냥 배보다 배꼽이 커지지 않게 적당히 써라.
2. 'ㅇㅇ 하면 취직 잘됨?' 유형
성적도 착실히 쌓았고 실력도 날으는 수준은 아니라도 그냥 평타는 친다 싶어서 대기업 갈려는 사람은 대기업 가라. 대기업이 돈 많이 준다. 금융이든 네카라든 가리지 말고 지원해라 어차피 니네가 고르는게 아니라 걔네가 널 고르는 거임.
근데 실력은 좀 되는 것 같은데 성적도 뭔가 불안하다든지, 뭐 이런저런 이유로 중소기업을 가야하는 입장이라면 제일 먼저 목표 기업을 몇 군데 정해라. 니가 하고 싶은 분야랑 관련된 일을 하는 기업이 어디어디 있나 구인공고에 우대사항이랑 이런거 보면 대충 답 나오지 않나. 당장 갈 곳을 고르라는게 아니다. 어떤 회사들이 있나 보라는 거지.
그런다음 그 회사들이 하는 일들을 살펴봐라. 회사에 아는 선배라든지 지인이 있으면 더 좋고. 개발환경은 어떻게 되는지 그런것들 얻을 수 있는 정보는 최대한 알아내라. 어떤 회사는 도대체 뭘 하는건지 남파간첩 비밀 아지트 마냥 꽁꽁 숨겨놓은 데도 있지만 홍보차 해외 전시회를 나간다든지 언론 인터뷰를 한다든지 찾아보면 정보가 있는 경우도 많다. 그것마저 없으면 그냥 우대사항이 니가 알 수 있는 전부다.
그 회사에서 하고 있는 일을 최대한 알아내서 그것과 관련된 프로젝트를 해서 포폴을 만들어라. 아까 어떤 애가 좆소는 "당장 써먹을 수 있는 개발자"를 원한다고 했는데 맞는 말임. 좆소 입장에선 가뜩이나 사람도 많지 않은데 신입 데려왔더니 어버버 하느라 몇개월 월급만 받아쳐먹으며 Re: 병신부터 시작하는 신입개발자 생활 이딴거 즐길 여유가 없다. 당장 일을 맡길 정도는 아니라도 포폴 딱 봤더니 '요놈봐라 꼴에 그래도 이런것도 해봤네' 생각이 들면 면접볼때 질문이라도 하나 더 하게되고 그놈한테 더 관심이 가는 법이다. 당연히 똑같은 스펙이라도 최대한 비슷한거라도 해본 놈을 뽑지 않고는 못배긴다.
3. '이거 안되는데 왜 그러는지 아는 사람?' 유형
여기도 가끔 보이고 옵챗에서도 가끔 보면 질문하는 사람들 중에 "안된다"는 설명 빼고는 아무 정보도 없는 질문을 하는 사람들이 있다. 가령, "~ 했는데 안되네요" 라든지 아니면 제목에 안된다고 해놓고 본문에는 소스코드만 때려박는 경우도 있고. 대체로 그런 애들은 "도대체 뭐가 어떻게 안된다는 건지 설명이라도 해보라"고 그렇게 말을 해도 무슨 소린지 못알아듣더라. 잘 모르니까 그러는 거겠지만 엄청 초보적인 것들이 아닌 이상 그런 질문에는 답변이 잘 안달린다. 옵챗에도 그렇게 물어보면 오지랖 오져가지고 쌍욕 박아가면서 멱살잡고 끌고가며 해결해주는 츤데레가 아닌 이상 사람들이 쳐다도 안본다. 그러다보니 어떻게든 답변을 받으려고 어그로를 끄는 애들도 있고 그러다가 커뮤니티에서 서로 욕박고 감정만 상하기도 하고.
기본은, 완벽하게 다 지킬 필요는 없고, 그냥 대충 이런식이다:
- 하려는 것(최종 목표): 내가 OpenGL로 삼각형을 그리고 싶어서
- 실제로 한 것: 어디어디 블로그에 있는 내용을 보면서 소스코드를 따라 했는데
- 예상 결과: 거기대로 하면 빨간 삼각형이 그려져야 하는데
- 실제 결과: 에러메시지만 나오고 컴파일이 안되더라 + 실제로 나온 에러메시지 또는 빨간 삼각형 대신 파란 사각형이 나오더라
- 예상 원인: 내 생각에는 ~~가 문제인거 같은데
- 시도해 본 것: 그래서 ~~를 해결하려고 ㅇㅇ를 했더니 여전히 에러메시지가 나옴
질문 글 내용이 이런식으로 이야기가 진행되어야 읽는 사람중에 경험이 있는 사람이 그걸 읽어보고 아 얘는 이러이러한 곳에서 문제가 있는거 같구나 하고 의심 원인을 떠올리게 되는거다. 그러면 그 사람이
"너 ㅇㅇ가 문제인거 같은데 ㅇㅇ 확인해봤냐?"
라고 되묻게 되고 그럼 너는 ㅇㅇ 찾아서 공부해보고 해결되면 감사감사 하는거고 해결 안되면 그래도 소용없다 혹은 바꿨더니 증상이 이렇게 변했다 이런식으로 대화가 오고 가는거다. 간혹 니가 찾아보지 않더라도 친절히 가르쳐주는 애들도 있지만 그런거 아니라면 "ㅇㅇ가 뭐임"은 하지말자. 핑프도 문제지만 검색 능력을 키울려면 직접 찾아서 보는게 좋다.
저걸 문장으로 잘 섞어서 쓰면 아주 좋다. 난 도저히 문장력이 딸려서 안되겠다 싶으면 차라리 위에처럼 형식을 갖춰서 써라. 저런것도 안쓰면 결국 답변해주는 애들이 저걸 알아내느라 너랑 문답을 주고받게 되고 질문받는 애들이 니 질문만 받는거 아니잖냐. 저런 패턴 몇번 반복되면 지쳐서 저런 글은 보자마자 뒤로가기 누르는거임.
가끔 보면 자기가 뭘 하는지 말로 제대로 설명도 못하는 사람이 꽤 있는거 같음. 개발자가 모니터만 쳐다보고 하는 직업이긴 하지만 의사소통 능력이 빵점이면 개발일 못한다. 적어도 남의 돈 받으면서는 못함. 도대체 의사소통 능력은 어떻게 배우는거냐 하고 묻는다면... 니가 질문을 했는데 애들이 너한테 되묻는 것들 중에 반복되는 패턴이 보일거다. 그러면 그 부분은 니가 원래 질문글에 설명했어야 했는데 빼먹어서 그런거임. 거기서 배워라.
그리고 소스코드만 달랑 올리지 마라. 애들이 컴파일러도 아니고 니가 소스코드만 달랑 올려놓으면 그거 읽고 싶겠음? 아주 쉬운 코드라면 모르겠다만 그정도 쉬운 코드면 제발 요즘 IDE 좋으니까 빨간줄 뜬거 마우스 얹어서 에러메시지 뭐라고 하나 좀 읽어 봐라.
아무도 내 질문을 받아주지 않는다? 그럼 에러메시지 뜬거 가지고 검색하는 수 밖에 없음. 검색 능력도 개발자의 중요한 소양 중 하나다. 영어도 마찬가지고. 영어 못한다? 개발자로 끽해야 5년도 못버티고 그만둘 운명임. 힘들어도 영어로 된 글 읽는 습관도 들이고 검색어도 영어로 쳐야된다. 네이버 검색하지 말고 구글 써라. 네이버는 웹툰을 볼 때나 쓰는 거다. 국내 블로그보다 번역서를, 번역서보다 원서을, 원서보다 해외 개발자 블로그를, 해외 개발자 블로그보다 스택오버플로우나 개발자 포럼 글을, 그리고 그것들보다 공식 문서를 더 자주 찾아봐라. 저 우선순위대로 정보가 생산/전파된다. 어떤 기술이나 최신 라이브러리가 개발되어서 공식 문서가 나와야 사람들이 그걸 읽고 쓰기 시작하고, 그러면서 스택오버플로우나 포럼에 이야기가 오간다. 그러면서 쌓인 노하우를 해외 개발자가 자기 블로그나 미디엄 같은 곳에 정리하게 되고, 그런 정보들이 쌓여서 누군가 책(원서)을 낸다. 그러면 이제 그 원서를 누군가가 번역해서 번역서가 나온다. 그러면 이제 알만한 사람들은 다 아는 정보가 되었을거고 그렇게 국내의 개발자 꿈나무들이 관심을 가지기 시작하면서 국내 블로그에 올라온다. 항상 다 그런건 아닌데 대체로 그러함.
다 아는 내용을 뭘 주저리 주저리 씨부리느냐고? 고맙다 다 알면서 여기까지 참고 읽어줘서.
아직도 모르겠다면 다시 한 번 꼭 읽어봐라. 두번 읽어봐라.
그리고 마지막으로 부디 이상한거에 집착해서 강박가지고 살지 말고, 유연하게 대처해라. 해보고 안되면 돌아가면 된다. 돌아가는 동안에 니 인생 손해보는게 아니다. 다 경험이고 도움이 된다. 지나온 인생이 후회가 된다면 그건 니가 인생을 낭비해서가 아니라 그 지나온 길을 제대로 즐기지 못했기 때문이다. 웹이 너무너무 해보고 싶으면 개발자 시장 포화상태니 막차 떠났다는니 고점찍었다느니 이딴거 신경쓰지 말고 하고싶은거 해라. 어차피 왕도는 없다. 지금 핫해보이는 길은 니가 뒤따라 갈 즈음에는 이미 남들이 단물 다 빨아먹고 난 뒤일거임. 쳐 놀거면 기왕 노는거 신나게 쳐놀아라. 후회할 거 알면 놀지마라. 기왕 놀거면, 후회없이 놀아라. 공부 해야된다는 생각이 들거든, 공부해라. 이랬다가 저랬다가 어쩌라는 거냐고? 니가 정말로 하고 싶은 것, 되고 싶은 것이 뭔지 알면 그거 놔두고 쳐 놀고 있을 수가 없음. 잘 생각해봐라. "개발자나 되어볼까?"는 개발자가 되고 싶은게 아니다.
아무튼 취준하는 애들은 취업 잘 하길 빌고 하는 일 잘 되길 빈다.
퇴근각 재는 동안 심심해서 쓴거라 질문 및 상담은 못 받는다. 그래도 정말 궁금한게 있으면 댓글 남겨놓으면 나중에 답변해보겠음.
댓글 1