직업탐구 (4) 개발자 편

(Web)이 정보 전달 및 커뮤니케이션의 중요한 역할임을 넘어 인간의 삶을 보다 편리하고 높은 양질의 서비스를 제공함에 따라 더 효율적인 서비스 개발을 위해 많은 기업들이 다분하게 노력하고 있다. 이러한 일련의 과정에서 개발자의 역할을 빼놓을 수 없다. 우리가 사용하는 모든 프로그램과 서비스는 그들의 손에서 탄생한다. 그 영역은 이루 말할 수 없이 넓다. 컴퓨터 바이러스 발생이나 해커 침입에 대비해 방화벽을 구축하고, 아이폰과 안드로이드 폰 등 스마트폰에서 사용되는 애플리케이션 개발, www기반 소프트웨어(웹페이지, 웹사이트 등)를 개발하기까지 다양한 개발 업무가 존재한다. 그렇기에 개발자를 꿈꾸는 많은 이들에게 어떠한 개발을 하는 개발자가 되고 싶은지 목표 설정을 하는 것이 중요하다는 메시지를 전달하고 싶다.

(본론에 들어가기에 앞서 이 글은 컴퓨터 소프트웨어 개발(CSW)보다 웹/앱 개발에 조금 더 포커스가 맞춰져 있다는 점을 유의하고 읽길 바란다.)

개발자1
개발 언어란?

흔히 프로그래밍 언어라고 한다. 프로그래밍 언어란 인간과 컴퓨터 사이의 약속된 언어로, 사람의 언어를 이해할 수 없는 컴퓨터 시스템과의 의사소통을 위한 표현법으로 설계해 놓은 언어이다. Html, CSS, JAVA, PHP, SQL 등 현재 주로 이용되고 있는 프로그래밍 언어들이다.

웹 개발자 하는 일?

개발자는 팀 단위로 프로젝트를 수행한다. 프로젝트 규모에 따라 다수의 개발자들이 과제를 나누어 진행한다. 예를 들어 한 개발자가 웹사이트의 백 엔드(back-end)를 세팅하는 동안 다른 개발자는 클라이언트의 요구사항에 맞는 스타일을 적용시키고, 또 다른 개발자는 웹 사이트의 주요한 자체 기능에 집중하여 작업을 수행하는 방식으로 업무가 진행된다.

물론 프론트엔드(frond-end)와 백엔드(back-end)를 모두 커버하는 풀 스택(Full-stack)개발자가 존재하지만, 프로젝트 진행을 함에 있어 혼자서 이 모든 것을 처리한다는 것은 효율적이지 못할 때가 많다. 선택과 집중을 고려하여 업무 별 뛰어난 개발자들을 배치해야 완성도 높은 결과물이 나올 수 있기 때문이다.

 

coding-924920_1920
Plus. 최초의 컴퓨터 프로그래머?

현재 컴퓨터와 유사한 구조의 Analytical Engine의 등장으로 나타났다. 에이다 러브레이스(Augusta Ada King, Countess of Lovelace, 1915~1985)는 그녀의 스승인 찰스 배비지(Charles Babbage)가 고안해낸 Analytical Engine의 프로그래머로서 활약했다. 그녀가 편찬한 책에는 알고리즘 분석에 대해 이러한 견해를 남겼다.

 

거의 모든 계산에서 성공적인 수행을 할 수 있는 매우 다양한 배치 방법들이 가능하다. 그리고 이들 배치 방법을 선택하는데 있어서 계산을 수행하는 기계 목적에 맞도록 여러 가지 고려해야 할 점들이 있다. 한 가지 중요한 고려대상은 계산하는데 필요한 시간을 최소로 줄이는 배치 방법을 선택하는 것이다.

 

그녀의 이러한 견해는 개발자에게 요하는 창의력에 관한 것으로 현재까지도 많은 기업들이 개발자의 자격 요건에서 중요 시하는 부분이기도 하다. 같은 결과물을 도출해내기 까지의 코딩 값을 간단하게 줄여 조금 더 빠르고 오류없이 서비스를 제공하는 것이다. 이러한 과정에서 개발자의 논리적 사고와 창의성을 요하게 된다.

개발자가 되기 위한 자격 요건이 있다면?

기본적으로 전공지식을 갖추는 것이 가장 중요하다. 직무와 관련한 기본적 지식이 있지 않다면 실무를 함에 있어 아이디어를 내거나 체계적 코딩을 하기가 어렵다. 컴퓨터 및 소프트웨어 동작에 대한 기본 원리를 탄탄하게 숙지하고 있어야 하며, 다양한 프로그래밍 언어들을 다룰 수 있어야 숙련된 개발자로서 성장 할 수 있다.

뿐만 아니라 열린 사고와 눈으로 다양한 경험들을 접하며 여러 산업 군에 기술을 접목 시킬 수 있는 창의력도 필요하다. 최근 모든 산업 군에서 이루어지고 있는 디지털화로 인하여 불과 몇 년 전까지도 어려웠던 상상 속의 생활 속에서 다양한 서비스들이 제공되고 있다. 가장 큰 예시로 IoT기술을 손 꼽을 수 있다.

모든 직무에 해당될 수 있는 커뮤니케이션 능력도 개발자에게 필수 스킬 중 하나다. 흔히 개발자를 떠올릴 때엔 자리에 앉아 코딩만 하고 있는 사람을 생각해낸다. 하지만 이는 개발자 업무의 일부에 해당한다. 서비스 개발을 위해서는 팀 단위로 업무를 진행하게 되는데, 이에 따라 개발자는 기획자, 디자이너들과의 원활한 협업을 위한 커뮤니케이션 능력을 갖추고 있어야 한다. 정확히 어떠한 서비스를 구현할 것인지에 대하여 동일한 이해를 가지고 수행해나가야 하기 때문이다.

 

twi001t1578330

 

IT업계는 트렌드에 굉장히 민감한 곳이다. 이에 따라 개발자에게 정확한 로드맵은 없다. 위와 같이 설명한 해당 직무의 필요한 기술이 가까운 미래에는 또 바뀔 수 있다는 말이다. 정보가 넘쳐나는 현 시대는 융합의 시대다. 여러 기술에 대한 전반적인 지식과 경험을 토대로 기지를 발휘 해야 한다. 하지만 바뀌지 않을 하나의 사실이 있다. 모든 것이 디지털화 되어가는 현 시점에서 개발자의 영역은 더욱 더 광범위해질 것이며, 그들의 창의성과 개발하는 서비스에 따라 사람들의 삶이 더욱더 풍요로워 질 것이라는 것이다.

변화와 혁신. 주체자는 개발자의 손에서부터 시작되어 왔으며 앞으로도 그럴 것이다. 개발자가 되길 꿈꾸는 모든 이들에게 긍정적인 영향을 가져오는 글이었기를 바란다.

 

 

 

 

 

글 :  이모션글로벌 Contents Creator & Strategic Planner 정소영

email : soyoung.jung@emotion.co.kr

Be the emotionist!

Career