ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 두 마리 냥이 집사 박대성님의 스터디 후기
    카테고리 없음 2019. 5. 20. 18:08

    이 글은 프로그래머스가 운영하는 온라인 스터디인 '프로그래머스가 직접 이끌어주는 코딩테스트 대비반(Python)반' 1기에 참여하셨던 박대성 님과 진행한 인터뷰입니다.

    프로그래머스가 직접 이끌어주는 코딩테스트 대비반(Python) 1기 스터디원 박대성님의 후기

    교육운영자 에밀리: 집사 겸 개발자 대성님, 간단 자기소개 부탁드려요.

    대성: 고양이 '반반' 이랑 '마니' 의 집사인 박대성입니다. 얼마 전 알고리즘 관련 공부를 더 하려고 프로그래머스를 둘러보다가 스터디에 참여하게 되었어요. 임베디드 펌웨어, 리눅스, 하드웨어 제어 관련한 일을 하고 있고요. 물론 반반이와 마니의 충실한 집사 생활도 함께 하고 있습니다.

     

    에밀리: 하드웨어 쪽 일을 하고 계시네요. 그럼 주로 C 언어를 쓰시나요? 근데 우리 스터디는 Python으로 진행했는데.

    대성: 아 물론 업무에서는 C를 많이 쓰는데, 요새는 Python이나 Node.js 도 쓰고 있습니다. 그리고 개인적으로 웹 개발 관련한 분야에도 관심이 많아서 따로 배우고 있기도 하고요.

    실무 개발자도 집에선 한낯 집사일 뿐... 여기서 퀴즈. 누가 반반이고 누가 마니일까요?

    에밀리: 아 네. 하드웨어와 소프트웨어를 넘나드는 인재시군뇨. 그런데 스터디에 보통 취준생이 많은데, 실무자로서 참여하셨잖아요. 어떤 특별한 목적이 있었나요?

    대성: 언젠가 있을 이직 준비도 미리미리 해두고 싶었고, 말씀드렸듯이 지금 하는 일이 임베디드 쪽이라서 알고리즘이나 자료구조를 더 잘 알면 업무에 도움이 되는 부분도 있었고요.

    특히 Dynamic Programming, 탐색 쪽을 이번 기회를 통해 제대로 알고 가고 싶었습니다. 그런데 생각보다 시간이 빠르게 가서 많이 하진 못했네요. 그래도 코드 리뷰를 통해 인사이트를 많이 얻었습니다.

    그리고 다른 스터디원의 코드를 보면서, 내가 생각하지도 못한 방식으로 문제를 푸는 사례를 계속 보면서 생각하는 영역이 넓어진 것 같아요. 역시 다른 사람의 코드를 읽는 것이 성장에 도움이 되네요. 습관을 들이기가 힘들지만요.

     

    에밀리: 한 달이라는 시간이, 시작점에서 바라보면 꽤 남은 것 같은데 일주일이 무섭게 지나가죠. 아마 실무를 하고 계셔서 더 여유가 없었을 것 같아요. 그래도 스터디 후 내게 가장 크게 남은게 있다면, 무엇인가요?

    대성: 이전에는 알고리즘 문제를 그냥 되는대로 풀어나가는 스타일이었는데요. 이제는 문제를 보고 어떻게 풀어야 할지 계획을 세울 수 있고, 내가 생각해낸 방식에 대해 확신을 가질 수 있게 되었습니다. 주먹구구식에서 벗어난 거죠. 단순히 말하면 자신감이 붙은 거고.

    집사여 열심히 공부하여 나중에 이름처럼 대성하여 더 고급진 사료를 가져오라냥

    에밀리: 자신감이 붙은 게 최고로 좋은 거죠. 어쨌든 솔루션을 스스로 찾아갈 수 있는 능력을 기르신 것 같아 운영자로서 뿌듯하네요.
    우리가 스터디에서 단순히 문제를 많이 풀고 일정 점수를 얻는 것뿐 만이 아니라, 파이써닉(Pythonic)한 코드와 클린 코드(Clean Code)에 대해 많이 강조했었는데요. 이런 게 좀 도움이 되시던가요?

    대성: 그렇습니다. 코딩테스트나 알고리즘 문제 푸는 데에 도움이 되었을 뿐 만 아니라 실무에서 파이썬을 쓰는 한 사용자로서도 도움을 받았어요. 정말 단순하게는 변수 이름을 이상하게 짓지 말자는 것에서부터, 적절한 상황에 적절한 파이썬 내장 모듈을 쓰는 방법, 상황에 따라 더 나은 문법을 선택하는 팁 등을 주셔서 좋았습니다.


    여기서 잠깐,
    프로그래머스의 코딩테스트 대비 팁

    Tip1. 내가 쓴 코드, 면접 자리에서도 잘 설명할 수 있어야

    문제를 일단 푸는 일에만 너무 집중해서 변수명을 a, b, c등으로만 짓고, 반복문을 마구 중첩해서 쓰고 있진 않나요?
    테스트도 테스트지만, 나중에 면접 자리에서 내가 제출했던 코드에 대해 면접관들과 이야기를 나눠야 하는 상황이 올 수 있습니다. 그런데 이 자리에서 내 코드를 보고 이때 도대체 무슨 생각을 하고 짰던 건지 설명할 수 없고, 심지어 이게 내가 제출했던 코드인가 헷갈리기까지 한다면 분위기가 아주 싸늘해지겠지요. 집에서 마구 찰 이불 많이 준비하셔야...

    Tip2. 언어의 특장점을 잘 살리면서 풀어야

    예를들어 파이썬으로 문제를 푼다고 가정할 때, 파이썬을 쓰긴 썼는데 정말 문법만 차용하는 수준으로만 써놓았고... 막상 뜯어보니 C 스타일로 짜 놓았으며 좋은 모듈들을 전혀 몰라서 죄다 하드코딩을 하고 있다면?

    효율성 높은 코드를 짜기는 점점 더 힘들어질 테고, 시간도 오래 걸리고, 결과도 좋지 못하겠지요. 즉, 내가 문제를 풀 때 선택한 언어에 대한 이해도 중요하고, 그 언어의 장점을 최대한 살려서 코드를 깔끔하게 짜는 것도 무척 중요합니다.


    에밀리: 아무래도 100% 온라인에서만 하는 거다 보니, 생소한 면도 있었을 텐데요. 아쉬운 게 있다면 어떤 것이 있을까요?

    대성: 스터디원들끼리 뭉쳐서 으쌰 으쌰, 역경을 헤쳐나가는…? 그런 모습을 상상했었는데, 온라인에서 진행하다 보니 그런 교류를 만들기가 어려웠어요. 아무래도 텍스트로 서로를 처음 만나는 거고, 실시간 세션 때도 웹캠이나 마이크를 선뜻 켜고 참여하는 게 어렵다 보니 그런 것 같습니다. 그렇다고 오프라인 모임을 갖자니 멤버들이 전국 각지에서 참여하고 있더라고요.

    에밀리: 앞으로 제가 극복해야 할 부분이지요. 장소의 제약이 없지만, 실제 만남이 없기 때문에 어려운 점이 있으니까요... 아무튼 좋은 말씀 감사합니다. 마지막으로 한 마디 부탁드릴게요.

    대성: 드리고 싶은 말은 이미 충분히 다 드렸지만, 마지막까지 잘 마무리해주셔서 감사합니다. 후반부에 참여율이 저조해서 의도하지 않게(?) 소규모 밀착 코칭을 받는 순간도 있었는데 그것도 좋은 경험이었어요. 또 좋은 기회로 만났으면 좋겠습니다. 감사해요!


    대성님이 경험한 그 스터디, 나도 참여하고 싶다면?
    프로그래머스가 직접 이끌어주는 코딩테스트 대비반(Python)에 대해 더 자세히 알아보세요! (클릭)

    댓글 0

Programmers