아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
고혹적인푸들162
고혹적인푸들16221.03.27

언어 한가지를 집중적으로 해야 좋을까요?

안녕하세요 저는 비전공 6개월 국비지원 교육으로 시작해 6년차 프로그래머 입니다.

첫번째 회사가 소기업이라 C#, java둘다 다루게된 이후로 이직해서도 두가지 언어를 사용하고 있습니다.

현재는 이직해서 두번째 회사를 다니며 얼마전에 같은 동료 분이 말씀해 주시기로는 멀티가 되는건 좋지만 경력직으로써 한가지 언어를 전문가처럼 다루는게 좋다고 조언을 해주셨어요 (그러면서 두개다 시키시는..후)

그동안은 장점이라고 생각했는데 조언을 듣고나니 이도저도 얕은 지식으로 업무를 하는건 아닌가 걱정이 듭니다.

다른데 이직을 생각하고 있는데 경력직분들의 많은 답변을 기다립니다!

55글자 더 채워주세요.
답변의 개수13개의 답변이 있어요!
  • 탈퇴한 사용자
    탈퇴한 사용자21.03.28

    프로그래밍을 하다보면 각각의 언어마다 장단점이 있기때문에 여러 프로그래밍 언어를 할 수 있다는게 개인적으로는 엄청난 장점이자 무기가 될 수 있습니다.

    하지만 질문자님께서 고민하시는 바와 같이 여러 언어를 사용할 경우 프로그래밍의 한계가 빨리 찾아 올 수 있습니다.

    확실한 한가지 언어를 파고 드시는게 좋다고 생각됩니다.


  • 여러가지 언어를 할수 있는 것은 하나의 장점이 될수 있기는 합니다.

    전제조건의 경우 둘다 잘해야 하는 것이죠 ^^;;

    그렇다보니 한가지 언어라도 잘하는 것이 중요한 것입니다.

    두가지다 잘한다면 모 걱정이 없겠지만 보통은 질문처럼 두가지를 애매하게 알고 있다면 한가지를 좀더 열심히 하는 방법을 찾는 것이 좋을 것 같습니다.


  • 6년차 프로그래머 시라고 하시니 아시겠지만..

    회사에서 내가 하고 싶은 언어로만 일을 할수는 없습니다. 안타까운 부분이죠.

    저는 주 언어가 Java 인데 빅데이터 쪽으로 들어오며 Scala, Python, golang 등을 사용할 수 밖에 없드라구요.

    근데 중요한건...어차피 다른 부 언어를 해도..결국 내가 가장 잘하고 가장 많이 아는 Java를 까먹지 않기 위해서 공부를 하는 저를 보게 되드라구요. 부 언어는 부 언어일뿐...결국 이직이나 미션크리티컬 한 플젝에 투입될 때는..내가 가장 자신있는 Java를 할수 밖에 없습니다.

    그리고 점점..기술의 숙련도 보다는 업무를 파악하고 고객의 요구사항을 정확하게 구현하는게 중요해 진다는걸 알게 되실 겁니다.

    예전처럼 언어에서 메모리를 관리하고(물론 아직도 성능관련 해서는 꼼꼼히 코딩해야 하지만) 쓰레드를 사용하고 이런부분은 언어가 다 알아서 해주는 부분이기 때문에 여러가지 업무경험을 쌓는게 언어의 숙련도 보다도 더 중요해 지고 있네요.

    언어는 도구일 뿐이라지만...그 도구를 사용하는 숙련도는 극과 극이지만....점점...사람이 실수를 많이 하는 부분은 자동으로 언어가 처리하게끔 변화되는 추세라서...그냥...내가 제일 잘 알고 많이 써본 주 언어를 꾸준히 감을 안잃어 버리게 유지하고..

    여러가지 기타 언어들을 보조로 사용한다라는...이런 개념으로 하시면 될거 같네요.

    생각보다...언어의 크리티컬한 고급스킬을 사용할 일이 점점 없어지드라구요. 좋은건지 나쁜건지는 잘 모르겠지만요..


  • 안녕하세요

    저는 동료분의 의견에 별로 동의하지는 않습니다.

    앞으로 그리고 요즘 같이 변화가 빠르고 유행하는 언어도 빠르게 바뀌는 시점임을 생각해볼때, 여러가지 언어를 배운다는 것은 분명한 강점이있어요. 간단한 UI가 붙어있는 도구를 만든다고 생각해보시면, JAVA로 작업하는 것보다는 C#이 훨씬 편리하겠죠. cloud native app을 만드신다면 go-lang이 훨씬 편하실수도, 간략한 명령어 셋을 내편의에 맞게 작업한다면 shell script 혹은 python이 유리할수 있겟죠.

    자신의 주력분야에 적합한 언어를 전문가처럼 다루는 것은 분명 대단한 강점이에요. 하지만 그렇다고 그것만 몇십년을 붙잡고 계시다 보면 굉장히 legacy한 분야에서만 일할 수 있을거라고 생각되요.

    여러가지 언어를 한다는 것은 문법과 규칙을 아는 것이 지나지 않는다고 생각합니다. 몇개의 언어를 한다에 연연하기보단, 내가 작성한 프로그램이 내부적으로 어떻게 동작하는지에 대한 이해를 바탕으로 더 좋은 코드/디버깅을 할 수 있는게 좋지않을까요?


  • 프로그래밍을 하려고 한다면 당연히 프로그래밍 언어를 배워야하기는 합니다.

    컴퓨터 공학과로 진학하기 위해서는 프로그래밍을 할줄 알아야하는 것은 아닙니다.

    많은 컴퓨터 공학과 학생들이 프로그래밍 언어를 1학년때 처음 배우는 경우가 많이 있습니다.

    처음 배운다면 파이썬으로 시작하는 것을 추천합니다.

    다른 언어보다 상대적으로 쉽기 때문에 좋습니다.

    "파이썬 정복", "점프 투 파이썬(c언어도 있음)" 등의 책으로 공부해보는 것도 좋을 것 같습니다.


  • 안녕하세요.

    개발자들이 많이 하게 되는 고민이네요.

    개인적인 의견을 드리면 여러가지 언어를 다루는 것도

    장점이 될 수 있지만 적어도 주력 언어 하나는 깊이 있게

    실력을 가지고 있는게 더 큰 장점이 됩니다.

    제가 경력자를 채용한다면 여러가지 언어를 하는것 보다

    한가지 언어를 오래해서 깊이가 있는 사람을 채용할 겁니다.


  • 프로그래밍 언어를 잘 다룬다는건 어떤걸 의미하는 건지 잘 생각해보시면 좋을 것같습니다.

    프로그래밍 언어는 단지 툴일 뿐이고 중요한건 로직이니까요. 프로그래밍 언어를 1개를 하던 2개를 하던 잘 구현할 수 있으면 문제가 없는거죠. 너무 걱정하시지 마세요. 충분히 잘 하고 계신다고 생각하고 있습니다.


  • 안녕하세요 질문자님^^

    벌써 6년차나 쌓이셔서 이미 어느정도 시장 상황 등은 잘 아실것으로 보입니다.

    대부분 작은 회사일수록 다양한 멀티 플레이어를 선호하는 경향이 있습니다.

    그래서 중소~중견 까지는 다양한 언어나 프레임워크에 어느정도 숙달된 사람을 많이들 선호합니다.

    하지만 대기업으로 갈수록 어중간한 풀스텍 보다는 특화된 특정 언어나 프레임워크에 스페셜리스트를 선호합니다.

    따라서 질문자님이 원하시는 방향에 맞추어서 언어의 스펙트럼을 넓혀가시거나, 한 언어에 집중하시는 선택이 필요해 보입니다.


  • 중소기업을 다니면 어쩔 수 없이 주 개발 언어 말고 다른 언어를 사용하는 경우가 많이 있죠..

    같이 일하시는 분의 말씀처럼 한 가지 언어를 깊게 파고들어서 특급으로 하게 되는 것도 좋지만 현실은 그런 경우는 힘들고

    복수의 언어를 할 수 있다는 것 또한 장점이 될 수 있다고 생각 합니다.

    일정 수준 이상으로 갔을 경우 하나만 할 수 있는 사람 보다는 한개 이상을 할 수 있는 사람이 오히려 선택 폭도 넓지 않을까요?

    그렇다고 너무 많은 언어를 하는거 보다는 지금처럼 메인 언어 이외에 한 두가지 정도만 추가로 준비하시면 좋을 거 같습니다.


  • 먼저 한가지 언어를 깊이 있게 이해하는 것이 중요해요.

    자신이 가장 잘 사용 할 수 있는 언어를 이용하여 기본적인 알고리즘을 구현해 보는 것이 도움이 될 것 같네요.

    또한 Java 사용하시면 스프링 프레임웍과 같은 웹프레임웍도 공부해보시면 좋을 것 같아요.

    프레임웍 사용에 익숙해 지셨다면 프레임웍의 소스를 분석해 보는 것도 도움이 됩니다.

    디자인 패턴도 공부하시구요. 소스 품질 관련 공부도 추천 드립니다.


  • 코딩이 취미거나 천재가 아니면 한두개 파기도 벅찰꺼 같아요.

    툴도 패턴도 라이브러리도 프레임워크도 공부해야 할것이 너무 많네요.

    한 언어 풀스텍도 힘들어 서버사이드 프론트앤드 나누니 말이죠.

    저희회사 PL도 10년차 풀스텍이지만 node, java spring, go 정도만 만질줄 아네요.


  • 6년차시면 조언이 필요하지 않으시겠지만! 여러 답변자들의 생각을 읽으면서 '놓친 부분이 있지 않을까?' 점검해보길 바라는 마음에서 씁니다.

    장점이 맞습니다. 해결하는 방법에서 유연성이 생기기 때문이죠! 그래도... 얕은 지식이라고 생각하신다면!

    결론: 로드맵을 먼저 보면서 점검해보시길 바랍니다.

    정말 얕은 지식인지 아닌지 확인할 수 있잖아요 :)

    언어 별로 강점이 있으니 JAVA는 쓰레딩이 유리하죠! JAVA8되서면 람다 쓰면서 자바도 점점 진화하는 것을 라고 느꼈습니다.

    C#은 문서화도 좋고 Java에는 없는 out이나 ref가 엄청 매력적이죠!

    6년차시면 이미 디자인 패턴들은 다 섭렵하시고 고급 프로그래밍으로 들어가셨을테니 https://www.youtube.com/c/TobyLeeTV/videos 추천드립니다.

    이직 축하드려요:) 원하는 프로그래밍 하시길 기원합니다.


  • 우선 저도 질문자님 처럼 비전공자입니다.

    현재 15년차이고 처음c로 시작해서 java, c++ 을 주로 다루고 (중간에 웹쪽 1년 하느라 jsp, js, htm등)을 다룹니다.

    개발에 있어서 언어도 중요하지만 언어에 크기 신경 쓸일도 아니라고 봅니다. 사실 언어보다 업무를 알아야 개발에 도움이 되거든요.

    물론 c와 java는 절차지향과 객체지향으로 차이점이 크지만 그런 기본 개념만 잡혀있다면 언어적인 부분은 극복가능한 부분이라고 봅니다.

    오히려, 개발 분야나 같은 분야라도 업무 자체가 변경되는 부분이 더 큰 어려움이겠죠.

    분야는 모바일이냐 웹이냐 기타 다른분야가 있을것이고

    업무라하면 모바일에서도 phone이냐 자동차AVN이냐 아니면 다른 통신기기냐에 따라 다르거든요.

    즉, 질문자님께서 하시는 c#, java만 잘하셔도 나중에 다른 언어 익히는건 어렵지도 않을뿐더러 그걸 문제 삼지도 않을겁니다.