ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [진로상담] SI업계 신입 개발자의 미래 고민
    진로상담 및 해외취업 2020. 4. 4. 18:05

    Q:

    대기업  IT 계열사에서 SI 업무를 하고 있는 신입 개발자입니다.  실력있는 개발자로 롱런하고 싶지만 회사는 항상 일정에 맞는 적당한 수준의 업무를 하도록 강요합니다. 그래서 더 좋은 프로그래머가 되기 위해서 퇴근후에 다양한 개발 지식을 공부하고 있습니다.

     

    공부를 통해 지금까지 어렴풋이 알던것을 제대로 알아가는 즐거움과 기초가 조금씩 잡혀가는게 느껴지지만, 한편으로는 이렇게 공부만 하는것만으로 괜찮을지 고민입니다. 사이드 프로젝트라던지 오픈소스 프로젝트, 개발자 모임 참여 등을 해야하나 하는 생각이 들기도 합니다.

     

    1. 물론 회사마다 다르겠지만 자체 서비스를 만들어 경쟁하는 IT 기업에서의 개발자는 제가 그리는 개발자의 상에 부합한다고 생각하시는지

    2. SI회사 -> IT 서비스 회사로 이직한다면 어떤 부분을 준비하면 좋을지

    3. 주니어 개발자로서 지금 제가 공부에 투자하고 있는 시간들을 어떻게 활용하면 좋을지

    4. 개발자로서 개발만 잘하면 된다는 편협한 시각을 버리고 세상을 넓게 볼 수 있는 방법

     

    장황하고 두서없는 글 읽어주셔서 진심으로 감사합니다.

     

    A:

    주니어 개발자로서 매우 바람직한 고민으로 보입니다. 좋은 개발자가 되는 방법은 정말 다양하며, 실천을 하기만 한다면 기회는 너무나도 많습니다. 하나하나 답변을 드리면서 이야기를 풀어가도록 할게요.

     

     자체 서비스를 만들어 경쟁하는 IT 기업에서의 개발자는 제가 그리는 개발자의 상에 부합한다고 생각하시는지

     

    SI업계에 종사 하시면서 소프트웨어 엔지니어로서 당연하게 느끼게 되는 갈증을 느끼고 계신듯 합니다. SI 업계라면 당연히 코드의 품질을 논하는 사람은 도움이 되지 않습니다. 예를들어 마을에 가뭄이 들어서 도랑을 파는 공사를 하는데, 도랑을 더 똑바르고 보기좋게 파기 위해서 궁리하는 사람이 환영 받을 수 있을까요? 애초부터 SI 업계에서는 본인이 원하는 방식의 소프트웨어 개발을 할 수 없습니다. 자사의 서비스를 만드는 회사로 최대한 빨리 이직하시기 바랍니다.

    그렇다고 해서 SI 업체가 소프트웨어 엔지니어에게 나쁜것은 아닙니다. 엔지니어들의 성향이 다 다르기에, 수많은 고급 엔지니어들중에서도 SI 쪽을 더 즐기는 분들도 있습니다. 아마존 에도 다양한 개발자들이 각자 좋아하는 분야가 다 달라서, operation 이나 integration 관련된 팀을 선호하는 동료들도 상당히 많습니다. 한국이 유독 그 분야를 조금 낮게 보는 경향이 있지만, 사실 이 분야 들도 내공이 엄청나게 발휘되는 고급 분야입니다. 단 취향에 맞지 않는다면 당연히 소프트웨어 개발에 더 초점을 맞추는게 좋습니다.

    자체 서비스를 만들어 경쟁하는 IT 기업도 코드의 품질에 올인하는 파트는 매우 작습니다. 그러니 기대에 못미칠 가능성이 높습니다. 하지만 SI 에 비하면 물론 월등히 기회가 많죠. 스타트업들이나 중소기업은 아마도 품질 자체에 많은 시간을 투자하기는 어렵습니다. 새로운 서비스를 만들 때 아키텍쳐 품질을 유지하는것은 엄청나게 어려운 일입니다. 많은 리더십이 필요하고, 훌륭한 동료 개발자와 훌륭한 매니지먼트 마인드가 필요합니다. 이 모든 것을 갖춘 회사는 사실상 그리 많지 않습니다. 특히 매니지먼트가 엔지니어링을 이해하기 어렵죠. 당연한 말이지만, 좋은 IT기업으로 갈 수록 그나마 더 가능해 지기는 합니다. 이는 좋은 엔지니어들이 있기 때문입니다. 엔지니어들의 힘이 센 회사일수록 문화가 급격히 달라집니다.

     

    SI회사에서 IT 서비스 회사로 이직한다면 어떤 부분을 준비하면 좋을지, 주니어 개발자로서 지금 제가 공부에 투자하고 있는 시간들을 어떻게 활용하면 좋을지

     

    두말 할 것 도 없이 사이드 프로젝트를 시작하세요. 사이드 프로젝트를 시작 하되, 설렁설렁 하지 말고 실제로 스케쥴을 잡아서 시작하시길 추천합니다. 만들고 싶은 프로덕트를 정하고, 데드라인을 잡고, 플래닝을 먼저 한 후에 공부든 개발이든 주어진 시간 내에서 스스로 밸런스를 유지하는 방법을 찾아보길 권합니다. 목표 프로덕트를 만들기 위해서 직접 테크 스택을 고르고, 익히고, 실제로 구현하는 과정을 경험해 보는게 중요합니다. 아마존에서는 개개인이 이런식으로 일을 합니다. 사이드프로젝트를 통해서 얻은 경험들이 더 좋은 IT 회사로 이직하는데 엄청난 힘이 될 겁니다.

     

    저는 개인적으로 공부를 위한 공부는 별 의미 없다고 생각합니다. 소프트웨어 개발 패러다임이 바뀌면 필요한 지식도 바뀌고 무엇이 옳고 무엇이 그른지에 대한 영원한 진리는 없습니다. 기본적으로 데이터구조, 알고리즘, 컴퓨터 아키텍쳐, 디자인패턴 등을 학부때 잘 익혀 두었다면, 실전에서는 얼마나 빠르고 정확하게 문제를 이해하고, 다양한 해결 방법을 모색하고, 방법들 간의 트레이드 오프를 빠르게 찾아내서 최고의 선택을 하고, 단기 와 중 장기에 맞는 아키텍쳐 디자인을 하는지를 몸으로 체득해야 합니다. 이런 저런 지식 많이 쌓는것은 물론 좋으나, 그것이 주요 활동이 되어서는 발전이 있기 어렵다고 봅니다. 다른 개발자들하고 논의할때 우위를 점하는것? 엔지니어링 분야에서는 아무리 공자 왈 맹자 왈 해도 "해봤다" 앞에서는 꼬리 내려야 합니다. 해본 사람만이 진정한 실력자입니다. 오히려 어디서 들은것 가지고 진짜 고수 앞에서 공자 왈 맹자 왈 하는 개발자들은 장기적으로 볼때 내리막길 커리어를 쌓기 쉽습니다.

     

    엔지니어의 덕목은 문제를 해결하는 것입니다. 누구도 문제를 한번에 완벽하게 해결할 수 없지요. 이제는 완벽하게 해결할 수 있는 문제는 가치가 없습니다. 문제를 얼마나 빠르게 이해하고 좋은 방법으로 해결해 내느냐가 엔지니어의 가치를 좌우합니다. 아마존에서는 새로운 테크 스택을 접한다고 해서 그것을 공부 할 시간을 주지 않습니다. 새로운 분야에 뛰어든다면 당연히 새로운 테크 스택을 접할 수 밖에 없는 것이고, 새로운 언어를 익히고 문제 없는 수준으로 구사하는것은 소프트웨어 엔지니어가 당연히 가져야 할 소양입니다. "팀장님, 다음 프로젝트에서 자바 쓴다면서요? 한번도 안써봤는데 공부하게 일주일만 주세요." 이런 엔지니어는 도태 될 수 밖에 없습니다. 문제를 해결하기 위한 수단이고, 새로운 수단을 짧은 시간 안에 소화하고 안전하게 사용할 수 있는 능력이 엔지니어의 기본 소양이죠. 이는 공부로는 절대로 되지 않아요. 하지만 프로젝트를 주도적으로 진행하다보면 어느새 몸에 익히실 수 있을 겁니다.

     

    개발자로서 개발만 잘하면 된다는 편협한 시각을 버리고 세상을 넓게 볼 수 있는 방법

     

    개발자가 개발만 잘하면 회사의 부품으로는 최고의 가치가 있겠지요. 하지만 너무 개발 자체에 집착하다보면 큰 그림을 놓치기 쉽습니다. 그리고 개발자에게 주어진 수많은 기회를 못보고 지나치게 됩니다. 개발자가 개발 실력 뿐 만 아니라 탁월한 문제 해결 능력을 겸하게 되면, 그때 부터는 개발자들을 리딩 할 수 있게 됩니다. 개발자들에게 방향을 제시할 수 있게 되고, 개발자와 매니지먼트의 간극을 좁혀 줄 수가 있게 됩니다. 이 능력을 키우는 것이 개발자로서 롱런 하기 위한 매우 중요한 첫걸음입니다.

     

    그리고 마케팅쪽으로 관심을 키운다면, 그때는 1인 기업이 될 수 있습니다. 어떤 제품이 시장에서 경쟁력을 가질 수 있는지, 어떤 방식으로 사용자를 불러 모아야 하는지 등의 다양한 마케팅 이슈 들에 관심을 갖고 개인 프로젝트를 진행 해 가다 보면 개발만 할때는 보이지 않던 것들이 보이게 됩니다. 보통 순수 개발자들은 인테그레이션, 운용등에 관심이 없고, 그들이 어떤 고충에 시달리는지 알려고 하지 않죠. 하지만 본인이 프로젝트 전체를 총괄하게 되면 이 모든것들에 이유가 있다는 것을 깨닫게 됩니다. 이것들을 이해하기 시작하면 본인의 가치가 월등하게 상승하게 되고, CTO의 소양을 갖추실 수 있습니다.

     

    바라시는 대로 좋은 소프트웨어 엔지니어가 되시길 바랍니다.

     

     

    [진로상담] 개발자가 되면 좋은점을 알려주세요.

    Q: 안녕하세요 저는 해외에서 고등학교에 재학중인 학생입니다. 이제 곧 졸업인데 제 진로를 확실하게 하고 싶어 질문을 드립니다. 저는 현재 컴퓨터공학과 진학을 희망하고 있는데요 그 이후를 잘 모르겠습니다...

    poshpaws.tistory.com


    댓글

Designed by Tistory.