개발자
안녕하세요 7년차 서버개발자입니다. 문제는 여태까지 7년 개발인생에서 5개 회사를 다녀봤지만, 모두 스타트업수준이라 경력직 사수가 있던적이 한번도없습니다... 그러다보니, 좋은 코드를 경험하거나 실질적으로 함께 일하며 개발자로써 일하는 방법에 대해서 조언을 들어본 경험이 없네요 주변에서 주워들은 최소한의 환경(깃, 린터, 자동배포, 문서화, 테스트코드)만 구축해놓고 일을 하고 있습니다. 그리고 클라우드 서비스를 사용할때도 메뉴얼을 확인해서 우리 서비스에 사용할수 있는 기능인가 확인하고 그냥 적용하는 수준으로 쓰고있고, 깊은수준으로 공부를 한다거나 하지는 않습니다. 코드의 수준도 '돌아가는 코드' 정도이고, 상속이나 다형성같은건 잘 사용하지도 않네요... 객체지향프로그래밍은 대학시절에 과제에나 써봤던거같아요... DB설계도 정규화하는 방법도 다 까고 연결관계도 유연하게 쓰는법을 까먹어서 지금은 그냥 연결관계는 안맺어두고 join해서 쓰는상태입니다.(심각) CS도 거의 다 까먹었네요; 실무에서 쓴적이 거의 전무할정도... 코드작성할때 시간복잡도 정도만 고려하고, 자료구조정도만 가끔 쓰네요 위에 제 상황을 보셨을때 어떤부분이 제일 심각한지, 추천해주실만한 공부방법이 있는지 궁금합니다. 7년차 되시면 다들 매니저급으로 성장하시던데... 전 아직 주니어 2~3년차 실력밖에 안되는거같아서 힘드네요ㅠㅠ
답변 8
인기 답변
딱히 문제가 없어보입니다. 7년간 그렇게 잘 지내오신 것 같습니다. 이제껏 딱히 문제도 없었고, 현재 닥친 문제도 없는 것 같습니다. 그냥 그대로 지내셔도 별 문제 없는 것 아닌가요? 누군가의 기준으로, 7년차면 이래야 한다 저래야 한다 이런 말들에 휘둘리지 않아도 되는 것 같아요. 굳이 문제를 꼽자면, 이렇게 지적해보겠습니다. 7년차나 됐는데 "공부방법"을 묻는 건 어리석다고 봐야죠. 방법을 몰라서 문제인 게 아니라, "공부를 안해서" 문제인 겁니다. 이제껏 딱히 공부가 필요한 환경이 주어지지 않았던 거고, 문제가 없으니 공부를 안했던 거겠죠. 앞으로도 문제가 없을 확률이 높습니다. 왜냐하면, 그 상태에서 갑자기 지속적으로 더 공부를 해왔던 사람을 원하는 환경으로 이직하기도 어렵기 때문입니다. (그리고 그런데로 꼭 이직해야 하는 것도 아닙니다) 제가 요새 달리기에 빠져 있어서 달리기로 비유해보겠습니다. 달리는 방법이 중요하긴 합니다. 발착지는 어떻게 해야하는지 호흡은 어떻게 가져가야 하는지, 심박수는 어느정도로 노력해야 할지 팔흔들기는 어떻게 해야하는지 등등등 수도 없이 챙겨야할 게 많은데요, 그런데 정작 제일 중요한 건 "나가서 뛰는 행위"입니다. 나가서 뛰지 않으면서 방법만 파헤치고 있으니 달리기가 잘 될 턱이 없습니다. 사람들이 다이어트 방법을 몰라서 살이 찌는 게 아닙니다. 그 방법을 실천하지 않기(못하기) 때문입니다. 제가 이제와서 엘리트 러너들의 훈련방법을 따라한다고 해서 엘리트 선수가 될 수 없습니다. 그저 취미 러너수준에서 만족하고 잘지내는 것도 현명하다고 봐야죠. 님이 지내오신 커리어에 문제가 없었다면, 앞으로도 비슷한 트랙이 펼쳐질 확률이 높습니다. 비슷한 환경에서 매니저트랙을 타셔도 되지 않을까요? 이제와서 나는 왜 킵초게만큼 뛰지 못하는가 고민한다면, 이건 괜한 자학수준을 넘어서 병이라고 봐야죠. (저는 가끔 그런 생각을 하긴 합니다만. 헷헴)
김태영
작성자
어센트코리아 백엔드 개발자 • 2023년 09월 20일
현실적인 답변 감사합니다.
Oyatrij
developer • 2023년 12월 12일
이래야 한다 저래야한다 휘둘린다는 말에 공감합니다. 공부 강박이 생겨 스트레스받습니다 ㅠ
인기 답변
저두 7년차에 그러한 고민을 꾸준하게 했던것같네요~ 그때 고민하고 했던 실천한 방법을 공유해봅니다. 내가 이미알고 있는 기술과 경험을 정리하고 공유하는 습관을 가지는 것입니다. 남을 이해 시키려 정리하다 보면 의외로 부족함을 알게되고 다시 공부하게 됩니다. 다음은 5년 넘게 꾸준하게 정리한 자료입니다. https://wiki.webnori.com/x/WgKl 그다음은 OOO에 특화된 개발자가 되기라는 목표 였습니다. 모든것을 평균이상 잘할수 없으며 자신만의 OOO를 찾는것입니다. 저의 경우도 10년간 유지보수만 하다보니 기술스택의 변화가 없었으며 제가 사용하는 스택이 점점 사라져갔으며 성장에 가치있는것을 찾고 그것에 집중하였습니다. 저의 경우 OOO는, 인프라/고성능 메시징이며 적어도 이분야에 전문가와 이야기할수 있는 수준을 목표로 하고 있습니다. 다음과 같이 대용량 처리를 할수 있는 어떤것이였으며~ 서버개발자라고 하셨으니 아마 스킬업에도 도움되는 내용이 될것같습니다. https://wiki.webnori.com/x/hQCeBQ 가장경계해야할것은 자신이 더이상 배울게 없다고 착각하는 거만한 개발자의 시절에 오랫동안 갇히기도 했는데~ 이 시기를 잘극복하고 오픈마인드가 되면서 배움길을 꾸준하게 탐구했던것같습니다. 마지막으로 과거에는 msdn이 바이블이였으나~ MS-Lern 컨텐츠도 추천해봅니다. https://learn.microsoft.com/ko-kr/training/modules/develop-growth-mindset/
인기 답변
삭제된 사용자
2023년 09월 22일
다행히 고민을 하고 계신것만으로도 계속 나아가시는 겁니다. 다른 회사라고 다 기품있고 아름다운 아키텍처에 우아한 코드만 있지는 않습니다. 수많은 레거시에 고민과 실천이 쌓여 지금에 오게된 거죠. 1. 깊은 수준으로 공부 하지 않는다. - 하시면 됩니다. 하시고 더 좋은 방향으로 리팩토링 해보세요. 그리고 그 경험을 꼭 기록한뒤 공유하셔서 조직에 기여 하시고 본인의 자산으로 만드세요. 2. DB사용방법을 다 잊었다, CS 거의 까먹었다. - 다른 분들도 마찬가지 입니다. 사용방법이야 그때 그때 찾아보면 되구요, 뭘 찾아봐야 할지 키워드 정도만 기억하고 계시면 됩니다. 그리고 연차에 맞는 직책이란건 상황에 따라 다르니 너무 조급해 하지 마시기 바랍니다. 인프런 같은 플랫폼에서 '고급실무' 동영상 강의 추천합니다. 다양한 실무처리 방법을 배울 수 있어 좋으니 같은 분야라도 여러 강사 여러 플랫폼 돌아가면서 봐보시는것 추천합니다.
김태영
작성자
어센트코리아 백엔드 개발자 • 2023년 09월 23일
진심이 담긴 조언 정말 감사합니다! 어떤걸 참고해서 봐야하는지 감이 안잡혔는데, 인프런 '고급실무' 오늘 바로 공부시작해보겠습니다!
인기 답변
> 개발자로써 일하는 방법에 대해서 조언을 들어본 경험이 없네요 혹시 책 "실용주의프로그래머"를 읽어보셨나요? 아직 안 보셨다면 추천합니다. 간접적으로 나마 조언을 받을 수 있는 방법인것 같아요. 책 "실용주의프로그래머" 를 늘 대선배가 해주는 조언으로 가득찬 책이라고 생각했습니다. 공부 방법은 "실용주의프로그래머" 에도 많지만 그 책 저자 중 한 분이(앤디 헌트가) 따로 쓰신 "실용주의 사고와 학습" 을 같이 보시면 더욱 도움이 될거라 생각합니다. 즐거운 한가위 되세요.
인기 답변
일단 공부를 통해서 얻고자 하는 것이 무엇인지 궁금합니다. 너무 범위가 넓고 추상적인 질문인 것 같아요. 그럼에도 질문 하신 내용을 보며 드는 생각을 적어보겠습니다. 질문의 내용을 살펴보면 이미 회사내에서는 좋은 코드가 없고 기술의 수준이 낮다고 생각을 하고 계신 것 같습니다. 본인이 생각하는 높은 수준의 코드가 있다면 그런 수준의 코드를 회사내에 적용하기 위해 노력을 하는게 가장 좋은 공부법이라 생각합니다. 공부를 해도 막상 본인이 해보려고 하면 적용이 쉽지 않습니다. 그것은 아직 체화가 되지 않았기 때문이라고 생각이 되는데요. 실습을 하지 않으면 배우는 것도 적습니다. 그러므로 학습 대상도 현재 일을 하면서 부족하다고 느끼는 것을 고르는 것이 중요할 것 같습니다. 하지만 간혹 보면 배운 내용을 회사의 상황을 탓하며 실습 해볼 수 없다는 이유로 포기하는 경우들이 있습니다. 물론 실제로 그런 경우들이 있을 수 있지만 정말 불가능 한 것인지 스스로 도전을 해보지 않은 것인지 돌아볼 필요는 있을 것 같습니다. 배운 내용이 있다면 항상 작은 부분이나마 적용을 해보려는 노력을 해야할 것 같아요. 그런 노력들을 쌓아 갈때 기술을 보다 깊이 이해할 수 있게 되고 상황에 따라 필요한 부분만 적절히 응용 가능한 수준이 될 거라 생각됩니다. 누군가의 조언을 구하는 것이 어렵다면 책을 통해서 조언을 들어도 좋을 것 같아서 두권의 책을 소개드립니다. 좋은코드, 나쁜코드 / 훌륭한 프로그래머가 되는 법 가볍게 한번씩 읽어보시면 좋을 것 같아요
Lee공룡
강남에서 당근팔고있어요 • 2023년 09월 22일
pmp공부는 어떻게 해야하나요?
hi_김일영_
한국결제데이터 CTO/CISO • 2023년 09월 22일
pmp 학원 다니셔야 합니다.
김태영
작성자
어센트코리아 백엔드 개발자 • 2023년 09월 23일
Project Management Professional 을 말씀하시는게 맞으실까요? 좋은 정보 감사합니다! 참고해서 공부 해보겠습니다!
공부를 해야 할 것 같은데 스스로 하지 않는 상황인 것 맞죠? 누군가 이런 말을 하더라구여 내 돈이 아까워야 내가 움직인다 온라인 강의 수강 정도가 아니라, 운동 PT 받는 것처럼 정식으로 시니어분에게 코칭받을 수 있는 플랫폼에 비용 지불하시고 할 수 밖에 없는 상황으로 자신을 밀어 넣으시는게 어떨까요?
이러저러한 글이 많습니다만 숟가락 얹어보겠습니다. 저역시 해당 연차에 같은 고민을 했던 사람으로서, 그후로 많은 시간을 보내고 지금도 업계에 아직 남아 있습니다. 몇몇 분이 말씀하셨듯이, n년차면 뭘 해야 된다 이런건 사실 딱히 없습니다. 주변에서 기대하는 수치가 있을 뿐이고 그에 맞게 맞춰주는 것이죠. 일종의 연극을 한다고 생각하면 되겠습니다. 다른사람에게 맞춰주는 것도 사실 꽤나 중요한 것이죠. 사회생활이니까요. 기대하는 수치는 사람마다 다릅니다. 제가 있던 회사들의 개발자분들은 경력은 10여년이 훌쩍 넘으나 팀장은 안하시는 분들도 수두룩 합니다. 이처럼 꼭 리더를 맡는 것이 필수는 아닙니다. 그렇지만 주변에서 바라면 그 길을 생각은 해보는 것도 좋습니다. 일례로 저도 요즘에는 면접을 보러 다니면, 리더로서의 요구를 받을 때가 있습니다. 이런 점이 사실 어렵습니다. 저는 개발이 사실 더 고픈데 면접관은 리더의 자질을 봅니다. 이럴땐 저는 두가지를 선택할 수 있습니다. GG치거나, 요구에 맞추거나. 선택은 자신이 하는겁니다. 그 어떤 방향도 자신이 선택한 길로 가는겁니다. 질문자님께서 우선 매니저로서 성장을 못한 자신을 탓하는 것 같아 서두를 말씀드렸습니다. 탓할 필요는 없습니다. 좋은 시니어가 되기 위한 과정을 밟는다고 생각하면 좋겠습니다. 학습의 부분에서는 자신이 고픈 방향으로 학습을 하는 것이 제일 좋겠습니다. 리더를 하고싶다면 지금부터 개발보다는 리더십을 연마하심이 어떨까 합니다. 리더십에 관한 서적들을 읽어보는 것이 좋겠습니다. 개발쪽의 지식을 갈고 닦는 부분도 당연히 필요할 수 있습니다. 하지만 사람은 모든 것을 한번에 다 할 수 없는 법이니, 비율을 스스로 정하셔서 8:2 혹은 7:3의 비중으로 학습을 하시길 권장드리겠습니다. 그게 아니고 개발자로서 우선 확고히 서고 싶다면 그때는 개발 지식을 더 쌓는겁니다. 토이프로젝도 열심히 해보고요. 이미 7년의 세월이 있으시니 어느정도는 몸에 배어 있을겁니다. 이처럼 저는 어떠어떠한 구체적인 학습을 하시기 전에, 우선 자신이 나아갈 방향과 정체성부터 확립을 잘 하시고 그후를 결정해 보심이 어떨까 싶습니다. 모든 일에는 순서가 있는 법입니다. 공부 방법 질문은 그 다음일 것 같습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!