본문 바로가기

Previous (20-22)/IT

중소기업에서의 프로그래머

현 시대에서도 프로그래머를 꿈꾸는 사람들은 매우 많을 것입니다.

그리고 프로그래머가 갈 수 있는 기업도 많고, 분야도 매우 많이 있는 것이 현실이고요.

 

하지만 프로그래머라고 해서 모든 언어를 다 사용하는 것은 아니고, 모든 도구를 다 사용하는 것은 분명히 아닙니다.

매우 당연한 일이죠.

 

일단 H/W나 Infra를 관리하는 Administrator/DBA 등은 먼저 제껴두도록 하고요.

이와 같은 분야를 제외하더라도 프로그래머가 할 수 있는 분야는 매우 다양하기도 합니다.

 

  • 먼저 하나만 물어본다면. 보유 기술은 무엇이 있습니까.
  • 두 번째로 물어본다면, 보유 기술을 가지고 무엇을 만들 수 있습니까.
  • 세 번째로 물어본다면, 그 만든 것이 얼마나 상업성이 되거나, 혹은 사용자들이 편리하게 사용할 수 있을까요.

회사에서 프로그래머에게 일을 시키는 기준은 위 세 가지입니다. 

 

프로그래머 개인 입장에서는 위 세 가지를 접근할 때 1-2-3의 순서로 접근합니다.

반대로 회사 입장에서는 3-2-1의 순서로 접근합니다.

 

회사에서 필요로 하는 기능을 가지고 어떤 기술로 만들 것이냐.

 

여기서 중요한 것은 "업무"라는 것이 있습니다.

IT 외의 영역일 수도, IT 내 영역일 수도 있습니다.

하지만 그것이 중요한 것은 아닙니다.

중요한 것은 "업무"에 대한 이해도가 어느 정도 되느냐입니다.

 

생산 시스템을 만든다 가정합시다. 기술이 있습니다. 하지만 생산에 대한 지식은 더욱 갖춰야 합니다.

인사, 회계, 서비스, 영업 등등 모두 다 마찬가지입니다.

특히 솔루션을 판매하는 SI업체의 경우는 더더욱 그렇습니다.

특정 기업 맞춤형으로 만들거나, 혹은 반대로 일반적인 기업을 대상으로 범용적인 시스템을 만들어야 합니다.

놀랍게도 맞춤형, 범용형 두 가지를 모두 만들기 위해서는 그 "업무"에 대한 지식이 엄청 많아야 하겠죠.

 

앱 개발자들도 역시 마찬가지입니다.

앱을 만들어요. 메모 앱을 만든다던가, 운동 앱을 만든다던가.

하지만 뭘 만들어도 사용 기능에 대한 이해가 없이는 불가능한 일입니다.

 

이제 본문 들어가야 되려나요.

중소기업에서는 과연. 이러한 프로그래머가 갖추어야 할 기술과 지식과 업무는 일반적으로 무엇일까요.

 

일단 업무는 분야 별로 다르기 때문에 제외하겠습니다. 물론 제외하더라도 당연히 알아야 하는 것입니다.

이제 여러분들이 좋아하는 기술로 들어가볼까요.

 

최근 개발의 트렌드는 "백엔드" "프론트엔드" 개발로 능히 구분됩니다. 두 가지를 다 한다면 "풀 스택" 이곘죠.

예전 개발같은 경우는 Server-Side에서 개발한 내용을 가지고 Client-Side에서 표시만 하면 장땡인데,

MVC 모델이 등장하고, Cloud가 대세가 되고, Web Browser에서는 더욱 빠른 속도로 로딩되면서,

사용자들에게 편리하게 제공할 수 있는 UI를 넘어 UX까지도 포함되어야 합니다.

거기에 최근에는 AI다 ML이나 DL 이런것까지 나오면서 매우 Agile하게 대응해야 합니다.

 

그러다 보니, 위와 같은 단순한 개발 형태와 표현 형태로만 구분되는 것이 아니라,

Web-Browser에서도 강력한 기능을 구현할 수 있는 것이 필요하겠죠. 그것이 Front-End 개발입니다.

 

사실 저같은 경우는 Python-Django 서적을 쓴 것도 있고, Front-End보다는 Back-End 쪽 중심 개발을 했습니다.

대기업에서는 아예 전문 인력을 확충하기 위해서 프론트엔드/백엔드 개발자 위주로 고용하고 나누기도 합니다.

 

그러나 중소기업은 경우가 매우 다릅니다.

인력이 제한되어 있고, 개발 산출물 또한 상당히 제한되어 있습니다.

사실 산출물이 무제한이라고 해도, 인력이 제한된 것이 더욱 크겠죠.

 

결국은 중소기업의 프로그래머는 "풀스택" 개발을 하기를 요합니다.

그것이 가장 효율적인 방법이기 때문입니다.

유지보수나 인수인계 측면에서도 그보다 더욱 좋은 방법은 없겠죠.

 

장점이 있다면, 양 쪽 모두를 하기 때문에 아는게 많아집니다.

하지만 그보다 더 큰 장점은, 업무 자체에 대한 이해도도 높아질 수 있습니다.

단점이 있다면, 할 일이 많아지는거겠죠.

하지만 프로그래머라면 여러 가지를 알아서 나쁠건 없습니다.

 

왜냐하면

기술은 계속 변화해가니까.

일단 알아야 변화에 대응하고 선도할 수 있겠죠.

 

아는게 지식입니다. 결국. 

프로그래머는 그런 직업입니다.