티스토리 뷰

728x90
반응형

들어가기

전공자라면 아마 C, Java, Python 등 학교 커리큘럼에서 다양한 언어를 수강하게 될 것이다.
나 역시 졸업 이수 때문에 C언어를 제일 처음 프로그래밍언어로 배우게 되었다.
꼭 졸업 때문만은 아니더라도 그때 당시, 전공자라면 C언어를 알고 있어야 하는 거 아닌가란 생각이 있었다.
(다른 과목 수강 시 C언어가 선수 과목으로 지정되어 있기도 했고..)
암튼 나는 여러 가지 이유로 C언어를 가장 먼저 배웠는데, 다른 사람들도 굳이 C언어를 배워야 한다고 생각하진 않는다.
배워두면 도움이 많이 되긴 하지만, 현재 나도 C언어를 사용하지 않고 있다.

특히나 비전공자들에겐 C언어 입문을 무조건 추천드리지 않는다.

다른 전공에서 개발로 넘어왔다면 그만큼 시간이 소중할 거라 생각하기 때문이다.

이 글을 읽고 있는 사람이라면, 자신이 하고 싶은 개발이 생겨서 이쪽으로 온 것보다 취업을 위해 진로를 변경한 경우가 다수라고 생각된다.

그렇기에 지금 이 글은 '개발자가 요새 취업 잘 된다던데, 개발자나 해볼까?'라는 생각을 갖고 찾아보는 사람을 위한 글이다.

모든 개발 분야를 접해보진 못 했지만, 내 진로를 정하기까지 겪었던 시행착오를 기반으로 도움이 되고자 남기니 참고만 해주길 바란다.
나는 실력이 뛰어난 개발자도 아니고, 이 글을 쓰는 지금은 현재 코테를 준비하며 개발자를 꿈꾸는 취준생이다.
코드잇 강의를 들으면서 처음 개발자의 길에 들어섰을 때의 막연함이 생각나서 
나와 같은 사람들에게 조금이나마 도움이 되길 바라는 마음에 적는다.

거듭 말하지만 내가 한 말이 100% 정답은 아니니 참고하여 자신에게 맞는 언어를 찾길 바란다.

(혹시나 현업에 계신 분들이 이 글을 보게 된다면, 언제든 댓글로 피드백 부탁드립니다! 🙏🏻)

 

 

그렇다면 어떤 언어로 시작해야 하는가?

프론트, 백엔드, 데이터사이언스, Al 등 개발자에도 다양한 분야가 있다.

예시로 요리사도

한식을 전문적으로 하는 한식요리사,

양식을 전문적으로 하는 양식요리사,

중식을 전문적으로 하는 중식요리사 등 

같은 요리사여도 전문분야가 다르다.

 

한식요리사가 양식, 중식도 잘 할 수 있겠지만, 일단 한식요리사가 되려면 한식에 대해 잘 알아야한다.

개발자도 마찬가지이다.

수 많은 언어를 선택하기 앞서 당신이 어떤 분야에 흥미가 있는지 정하고, 그 분야에 대해 알아야한다.

그렇지 않으면 많은 시간을 할애하게 될 것이다.

(내가 그런 케이스기 때문이다..ㅎ)

시간이 많다면 아무 언어든지 배우며 다양한 분야를 접한 후에 결정하는 것이 좋겠지만,

시간이 없다면  특정 분야를 빨리 결정하고 언어를 배우는 것을 추천한다.

 

 

그래서 프로그래밍 입문은 어떤 걸로 해야하는가?

세상엔 정말 많은 언어가 있기에, 이 분야에선 이 언어만 사용해! 라는 것은 없다.
다만 어떤 언어가 더 특화되어 있고 보편화되어 있을 뿐이다.
그렇기에 내 경험 + 취업공고에 명시되어 있는 것을 기준으로 분야마다 많이 쓰이는 언어 위주로 말하겠다.
하지만 모든 분야는 한 언어만의 지식으로 직업으로 삼을 수 없다.
(예시로 웹 개발을 하려면 html, css, javascript 등에 대한 언어를 다 알아야 한다.)
이것은 입문하는 사람들에게 하는 추천일 뿐이지, 이것만 공부해! 라는 것이 아니란 걸 명심하길 바란다.

 

1. 임베디드 sw 분야

사전에 '임베디드(embedded)'는 '내장형' 이라는 뜻으로 하드웨어나 소프트웨어가  다른 하드웨어나 소프트웨어의 일부로 내재되어 있는 것이라고 등재되어 있다.

쉽게 말하면 우리 주변에서 흔하게 접할 수 있는 스마트 냉장고와 같은 스마트 가전제품, 드론, 자동차 등이 여기에 해당한다.

(다른 예시가 궁금하면 임베디드를 검색해보자.)

 

만약 당신이 임베디드 분야에 관심이 있다면 C언어나 C++언어를 추천한다.

 

2. 앱개발 분야

우리가 사용하는 핸드폰은 안드로이드 OS 이거나 애플 OS 이다.

즉 삼성 핸드폰이냐 애플 핸드폰이냐 차이라는 것이다.

 

아이폰에서 작동하는 앱을 만들고 싶다면  Swift나 Object-C 언어를 알아둬야 한다.

그러나 요즘 현업에서 Swift를 많이 쓴다고 하기에 (모집공고에서도 Swift가 훨씬 많은 것 같다.)

아이폰앱을 만들고 싶다면 Swift를 추천한다.

 

그 외에 핸드폰에서 작동하는(구글 스토어를 사용하는) 앱을 만들고 싶다면 Java나 Kotlin을 추천한다.

 

물론 요즘엔 이 언어들만 앱 개발을 할 수 있는 것은 아니다.

그렇기에 내가 만약 웹에서도 작동하는 하이브리드앱을 개발해보고 싶다고 하면 html, css, JavaScript를 추천한다.

또 Dart를 사용해 구글이 만든 Flutter로 크로스플랫폼 앱을 개발할 수 있다.

관련 자료가 다른 언어에 비해 적어 적극 추천까진 아니지만 한번 찾아보면 좋을 언어라고 생각한다. 

요즘 크로스플랫폼 앱을 개발할 때 리액트네이티브도 많이 사용하는데 이건 JavaScript를 사용한다.

가고 싶은 회사 규모에 따라 네이티브앱(swift나 java,kotlin 사용하여 만든 앱), 하이브리드앱, 크로스플랫폼 앱등 

구하는 직군이 다르다. 

원하는 회사 공고를 참고해서 정하는 것도 좋은 방법 중 하나라 생각한다.

 

3. 웹 개발 분야

웹 개발은 쉽게 보이는 부분이냐 안보이는 부분이냐로 나눌 수가 있는 것 같다. 

인터넷에 들어가면 로그인할 수 있는 창이 보인다.

그리고 정보를 입력하면 로그인이 완료된다.

여기서 우리 눈에 보이는 창을 만들어내는 작업을 하는 곳을 프론트,

눈에 보이진 않지만 정보 입력 시 정보가 맞는지 확인하여 맞으면 로그인이 되는 서버를 작업하는 곳이 백엔드 인 것이다.

 

특히 프론트는 많은 강의와 국비 프로그램도 많아 진입장벽이 낮은 것 같다.

그렇기에 대부분의 비전공자분들도 웹으로 먼저 입문으로 하는 것 같다.

 

웹 프론트 분야를 해보고 싶다면 Javascript, html을 추천한다.

 

웹 백엔드 분야는 언어가 좀 많은데 자신이 사용할 플랫폼이 무엇인지에 따라 또 달라진다.

우리나라에서 가장 많이 사용하는 Spring 프레임워크를 사용하는 분야에 취직을 원한다면 Java를 추천한다.

Node.js 를 사용해보고 싶다면 JavaScript,

(혹시나 하는 맘에 말하는 거지만 Java와 JavaScript는 엄연히 다른 언어다.

학부시절 교수님께 같냐고 물어봤다가 교수님께 아주 큰 웃음을 선물드렸다..ㅎ) 

Django를 사용해보고 싶다면 Python을 추천한다.

 

4. 게임 분야

 모바일이나 PC 게임을 만들 때, 쉽게 접할 수 있는 프로그램이 '유니티'라는 프로그램이다.

이 프로그램을 사용하기 위해선 C#을 알아야 하기 때문에

게임 개발을 해보고 싶으면 C#을 추천한다.

 

5. 그 외 분야

머신러닝 분야는 Python, 

데이터 분석 쪽을 해보고 싶다면 Python, R을 추천한다.

이쪽 분야들은 정말 맛만 보고 내 길이 아니다 싶었기에.. 많이 경험해 보지 못했다.

그래서 당시 내가 배웠을 때 입문했던 언어를 추천했다.

R같은 경우 데이터 분석 언어를 검색하거나 관련 책을 찾아보면 추천하는 언어라 넣어봤다.

 

 

분야 정하기 귀찮고, 그냥 언어를 추천해줬으면 좋겠다면?

Python이나 JavaScript를  추천한다.

두 언어 모두 다양한 분야에서 쓰이기 때문에 나중에 어떤 분야에 흥미가 생기든 쉽게 도전해 볼 수 있기 때문이다.

또한 개발자로 취직할 시 필요한 코딩테스트도 두 언어로 준비할 수 있다.

물론 JavaScript로 코테를 풀지 못하는 곳이 있다고 하지만.. 내 경험상 우리가 알고 있는 기업들은 대부분 지원을 한다.

 

굳이 둘 중에 하나만 추천해달라고 하면, Python을 추천한다.

둘 다 너무 매력적인 언어지만 확실히 취업을 생각하면 코딩테스트를 생각 안 할 수 없다.

JavaScript 보단 Python으로 코테를 준비하는 개발자들이 많기에 관련된 소스가 많다.

혼자 코테를 준비하다 보면 막히는 부분이 있는데, 이럴 때 도와줄 조력자가 옆에 없다면 인터넷에 있는 자료를 의지할 수밖에 없다.

그렇기에 더 많은 자료가 있는 Python을 추천한다.

 

 

글을 마치며

어떤 언어를 배워야 하는지 고민하고 있는 사람들에게 이 글이 조금이나마 도움이 됐다면 정말로 기쁠 것 같다.
앞서 말한 것처럼 한 분야를 직업으로 삼기 위해서는 한 언어만 가지고 될 수 없다.
추천해 준 언어를 기초로 단단히 쌓고, 거기에 다양한 지식을 쌓으며 멋진 개발자로 성장하는 길을 걷길 바란다.
물론 나 역시 그 길을 걸어가고 있다! 다들 나중에 현업에서 꼭 만나길🥰

 

 

 

728x90
반응형
댓글