본문 바로가기
프로그래밍

[개발자 주저리]개발자로 취업할때 알고 있어야 하는 것 정리 -1 (개발자는 취업해서 뭐함???)

by Mr.noobiest 2024. 11. 28.

 

Hello World!


개발자들이 일하는 모습을 보면 보통 화이트 보드나, 그림판에 알아보질 못할 그림을 그리거나, 천장을 보면서 의자에서 빙글빙글 돌거나, 팔짱 끼고 멍하니 화면만 바라 보는 모습을 볼 수 있을 것이다.

보기에는 아무것도 안하는것 같지만 굉장히 빡집중해서 개발중인 모습이다.

멍하니 있는 개발자는 건들지 말것 출처 : @dev_hee 님의 개발자툰

 

도대체 개발자들은 회사에서 무엇을 하는지, 뭘 해서 돈을 버는 건지


곧 취업하려는 사람들과 이미 취업이 되었고 곧 개발자로 일하는 사람들이 알고 있어야 하는 것들에 관해서 간략하게 아는 것들만 소개하는 글이다.

 


 

 

개발자 취업 폭증의 원인


코로나로 인해 온라인 사업이 폭증하면서
네카쿠라배(네이버,카카오,쿠팡,라인,배민)라는 용어가 생길 정도로 프로그래머들을 원하는 기업이 많아졌다, 이러한 수요로 여러 학원에서는 단기 학습을 통한 취업을 광고하기도 했다.

 

네카쿠라배

 

컴공과를 나왔거나 학원을 다니거나 독학으로 코딩을 배워도 도대체 취업을 해서 이걸로 어떻게 돈을 버는건지 모르는 사람들이 대부분일 것이다.

 

 


 

개발자의 종류 3가지


개발자는 크게 3종류로 나눠지는데, 프로그램을 만드는자(게임포함) / 사이트를 만드는 자 / 앱을 만드는자 로 나눌 수 있다.

좀더 상세하게 들어가면 서버,DB,AI 까지도 들어가는데, 기본적으로 위 3가지라고 보면된다.

 

기본적인 3가지 분류

 

당연하게도 업무만 다를 뿐이지 프로그래밍의 기본 구조는 비슷하기 때문에 공부만 조금하면 다른 업무도 수행이 가능하다.

각 개발자들의 직무수행에 필요한 지식들

 

 


 

 

프로그램(게임) 개발자


말 그래도 프로그램(.exe이나 게임등)을 만드는 개발자이다.

예시로 크몽에서 매크로 프로그램을 만들거나 회사에서 고객들을 위한 프로그램(부동산/증권사)을 만드는 개발자들인데, 게임의 경우 언리얼 엔진이나 유니티 엔진을 사용하여 개발한다.

보통 개발을 할때 대규모로 개발을 하는 경우가 많아서 협업이 매우 중요한 개발업무가 많다.

(물론 다른 개발업무들도 협업이 중요하다.)

 

요런 프로그램을 만들거나 엑셀같은 컴퓨터 프로그램을 만드는 개발자

 

예전에는 로컬 프로그램과 서버를 연결하여 사용했지만 클라우드 시스템이 발달하면서 사이트화가 되어가고 있다.

하지만 온프로미스 시스템에서 활용하기 위한 간단한 프로그램이 필요로 할때가 있다.

> 직무 추천도 : 3.5


 

 

앱 개발자


App store나 Google Play에서 다운로드하여 스마트폰에서 사용되는 앱을 개발하는 개발자들이다, 해당 개발자들은 기본 프로그래밍 지식만 가지고는 할 수 없고 별도의 언어와 개발툴을 사용할 수 있어야 해서 공부하기 힘들다.

보통 애플과 안드로이드의 개발킷을 사용해서 앱 개발을 하는데, 개인 앱을 발매하거나 회사에서 원하는 앱을 만드는 직무를 수행한다.

필자는 앱 개발을 해봤지만 최적화 부분이 어렵고 다른 거 공부하기 바빠서 포기했다.

 

아이폰은 Xcode / 안드로이드는 코틀린을 사용하여 개발하는데, 최근에는 flutter난 swift로 운영체제와 상관없이 적용가능하게 개발이 가능한 개발툴도 많이 생겼다.

아이폰과 안드로이드 운영체제가 달라 별도의 개발툴로 개발해야 한다.
아이폰 / 안드로이드 동시에 개발가능

 

 


 

 

웹 개발자


보통 개발자라 하면 웹 개발자를 말하는데, 우리가 인터넷에서 보는 모든 사이트들을 만드는 개발자이다.

웹 개발은 수요가 굉장히 많고, 그만큼 일이 많아 웹 개발자에서 여러 직무로 또 나눠진다.

 

웹에 쓰여지는 수많은 스킬들

 

보통 프론트 엔드 / 백 엔드 / 서버단 / DB 개발 업무로 나눠지고, 각각의 연계가 적절해야 사이트가 동작하는 것이다.

아래에 각 직무별 어떤 공부를 해야하는지 뭘 하는지 나눠서 설명하겠다.

 

 


 

 

웹 개발자(프론트 엔드)


프론트 엔드는
사용자의 화면에 맞게 사이트가 어떻게 보여지는 지를 설계하는 개발자들로, UI개발자라고도 한다.

디자이너와 많이 소통해야 하고 React가 대세라 프론트 엔드가 직무를 하고 싶다면 React 공부를 하며 된다.

CORS에러와 경로 에러에 매우 화가 나는 직무다.

 

 


 

 

웹 개발자(백엔드)


백엔드 개발자는 프론트 엔드 개발자가 만들어준 화면의 실제 동작을 개발하는 개발자들이다.

예를 들어 사용자가 사이트에서 어떠한 행동을 했을때(버 다른 url로 넘어가게 할건지, 데이터를 어떻게 불러온건지 / 권한은 있는지 등 사용자가 보이지 않는 곳에서 실행되는 코드를 개발하는 개발자들이다.

 

 

백엔드 개발자는 원하는 동작마다의 적합한 개발을 해야하고, 최적화도 해야하고, 정확한 데이터를 불러오는지도 체크해야하고, 잘못된 동작이 발생했을때의 상황도 예측하여 어떻게 처리할건지도 생각해야하는 굉장히 어려운 직무이다.

어려운 만큼 공급이 수요보다 적어서 취업하기에는 정말 좋은 직무이다.

 

각각의 언어마다 적합한 프레임워크가 있는데, JAVA의 경우에는 Spring, Python의 경우에는 Django를 많이 사용한다.

물론 둘다 할줄알면 좋지만 한국에서는 Spring을 많이 사용하니 본인이 백엔드 개발자가 되고 싶다면 Spring 공부를 하면 된다.

[언어만 다르지 전체 프로세스는 비슷하여 언어만 알면 둘다 쓸 수 있다.]

 

 


 

정리


개발자라는 단어는 굉장히 포괄적인 단어라 본인이 개발자가 되고 싶다고 한다면, 어떠한 직무를 수행하는 개발자가 되고 싶은지를 먼저 알아야 한다.

각각의 희망사항에 따른 개발 업무는 아래와 같다.

 

> 난 화면을 이쁘게 만드는게 좋아요 - 프론트 엔드

> 난 취업을 빠르게 하고 싶고 코딩이 너무 재밌어요 - 백엔드

> 난 프로그램을 만드는게 재밌어요 - 프로그램 개발자

 

위의 내용은 100% 주관적이고 좀 더 세밀하게 들어가면 서로 단절된 직무스킬이 아니고, 협업을 하는것이 거의 필수라,

모든 직무에 대한 지식은 알고 있어야 한다.

 

즉, 완벽한 풀스택 개발자는 아니더라도 준풀스택 개발자가 되어야한다.

 

 


 

 

3줄 요약


- 개발자는 프론트/백/프로그램 개발자로 나눠진다.(DB는 별개로 생각해서 뺐음)

 

-  각 개발직무에 따라 하는일이 다르다.


- 하지만 결국 각 직무에 대해 할 수 있어야 한다.

 

 

728x90
반응형