Search

반응형

'개발자'에 해당되는 글 15건

  1. 2024.03.17 개발자(프로그래머)와 코더(coder)는 어떻게 다른가?
  2. 2023.04.02 초급 개발자가 성장하는 방법, 이러면 안된다.
반응형

안녕하세요. 신기한 연구소입니다.

최근 인공지능(AI)이 발달하면서 chatGPT에서 소스도 만들어 준다는 글을 읽었습니다.

그와 동시에 코더의 자리도 AI에게 빼앗길 수 있다. 프로그래머(개발자)도 인공지능이 대체해서 사라질 수 있는 직종이라는 얘기도 같이 들리더군요.

 

프로그래머(개발자)로서 그런 이슈를 보고 잠시 생각을 해봤습니다. 정말 나의 직업은 사라지는 것일까?

그전에 구분지어야 할 직업이 있습니다. 바로 개발자(프로그래머)와 코더(coder)입니다.

대부분 같은 거 아닌가?라는 생각을 하실 겁니다. 엄밀히 말하면 다릅니다.

프로그래밍 언어를 사용해서 사용자의 니즈(needs), 요구, 를 분석하고 해결해 주는 직업이 프로그래머(개발자)라고 생각합니다. 반면 코더(coder)는 정해진 규칙대로 또는 명세서대로 프로그래밍 문법에 맞게 코딩을 하는 직업입니다. 

어떤 부분이 다른지 더 쉽게 실전 프로젝트를 기반으로 설명해 보겠습니다.

프로젝트에 투입되어서 개발을 하다 보면 크게 2가지 타입의 코딩하는 사람을 볼 수 있습니다.

고객과 협의도 하고 협력사와 인터페이스를 정의하고 다양한 기능들을 어느 곳에 적용하고 공통화 및 추상화를 할지 고민하고 개발하는 프로그래머(개발자)가 있습니다. 보통 실력자라고 합니다. 개발 PL 또는 공통단 업무를 개발하는 능력자입니다.

공통화와 모듈화를 해서 표준을 만들고 각 화면마다 또는 소스마다 어떻게 개발해야 하는지 구조와 샘플링 작업을 해주고 나면 그 패턴대로 찍어내듯 코딩하는 코더(coder)가 있습니다.

코더는 보통 PL 또는 공통 리더 개발자의 지시대로 표준화된 환경에서 반복적 작업을 합니다.

조회하는 화면에서 조건에 값을 꺼내고 버튼에 이벤트를 붙이고 결과를 받아서 화면에 뿌리는 작업, 회원가입 같은 다양한 값을 화면에 입력받아서 서버에 전달하는 작업 등이 프런트엔드에서 코더가 하는 역할이라 할 수 있습니다. 

화면단에서 값이 넘어오면 컨트롤러와 서비스단을 통해 구현부에서 적절한 SQL을 호출하도록 연결하거나 값 검증 기능을 붙여서 입력 또는 출력 시 활용할 수 있도록 코딩하는 코더도 있습니다.

전체적으로 공통화하거나 큰 흐름을 모르더라도 작업할 파트(부분)만 기능적으로 샘플을 따라서 잘 적용하고 작동하게만 하면 됩니다. 

이런 역할로 인해 코더는 AI(인공지능)으로 대체가 가능하다는 의견이 있다고 봅니다. 하지만 프로그래머처럼 고객과 협의를 하고 결과를 도출한 뒤 시스템에 어떻게 적용할지 표준과 공통을 정리하고 코더가 작업할 수 있는 프레임을 만들어주는 것은 사람만이 할 수 있는 일이라고 봅니다. 그리고 실제 화면 또는 서비스에 대한 표준화된 코딩은 AI(인공지능)에게 만들어 달라고 할 수 있겠지요.

사실 프로그래머(개발자)가 처음부터 난이도 있는 업무를 할 수 없습니다. 처음에는 당연히 리더의 계획에 따라 코더로 시작해야 합니다. 그리고 꾸준한 학습(공부)을 통해 본인의 개발 능력을 향상하고 다양한 프로젝트와 경험 많은 리더에게 현장에서 필요한 노하우를 습득하고 익히는 것도 중요합니다. 프로그래머가 쉽게 되는 직업이 아니라는 의미입니다.

구인 사이트를 보면 초급, 중급, 고급에 자바, 리액트 등등을 언급하면서 프로젝트 인력을 구합니다. 코로나 시즌에 갑작스러운 개발 수요가 높아서 등급별 인건비도 오르면서 억대 연봉 이야기가 여기저기 들리기도 했고 인력 수급에도 어려움을 겪었습니다. 하지만 지금은 프로젝트도 별로 없고 그로 인해 인건비도 내려가고 권고사직을 하는 회사들도 종종 보이기도 합니다. 특히 개발자 포털이나 구직 사이트 보면 몇 개월 동안 일이 없다는 이야기가 많이 들려옵니다.

사실 여기서 한 가지 생각할 부분이 있습니다. 진정 프로그래머의 수요는 항상 있습니다. 그리고 유행 따라 주가처럼 오르락내리락하는 인건비와 구인에 대한 상황에 휘둘리는 직업은 코더입니다. 

경력이 10년이 넘은 프리랜서 몇 명을 만난 적이 있습니다. 같이 프로젝트를 하는데 PM 인맥으로 뽑았더군요. 개발을 정말 잘한다고 하더군요. 그러던 어느 날 내가 공통으로 만들어준 프로그램을 호출하는데 오류가 났는데 도와달라고 하더군요. 가서 기본적인 디버깅을 하고 오류를 체크해서 알려줬는데 그런 작업을 할 줄 모르더군요. 일 잘하는 개발자들이라 하는데 오류 디버깅도 못하는 것을 보고 잠깐 당황했습니다. 고급 등급이었거든요. 그래서 좀 지켜보니 등급만 높은 코더였습니다. 고급인데도 주체적으로 진행하지 못하더군요.

프로젝트에서 초급 개발자들을 만나면 항상 이런 이야기를 합니다. 우리의 업은 꾸준히 공부하고 연습해야 직급이나 등급이 올라가서 자기 역할을 잘할 수 있다고.

지금 내 옆에 있는 사원 개발자는 개발자가 되고 싶다면서 하루 종일 놉니다. 퇴근하고도 논답니다. ^^

자기 인생은 본인이 책임지는 것이기에 그러려니 하고 있습니다.

성공하는 길은 어찌 보면 어렵지 않습니다. 많은 사람들은 현실에 적응만 하고 미래를 위한 학습은 하지 않습니다. 또한 학습은 하지만 잘못된 학습(성장과 성공에 필요 없는)으로 시간만 낭비하는 경우도 있습니다.

정확한 목표를 세우고 프로의식과 목적을 가지고 꾸준히 학습한다면 성공은 따라올 수밖에 없습니다.

이제 코더(coder)로 돈 벌고 등급 높은 코더(coder)가 되지 말고 꾸준한 학습을 통해 프로그래머(개발자)로 성장해서 멋진 직업인이 되었으면 합니다.

이 포스팅이 끝나면 리액트 학습을 시작합니다.

학습이 끝나면 리액트를 처음 하는 친구들을 위한 포스팅도 준비하고 있습니다.

우리 모두 멋진 프로그래머가 됩시다.

반응형
반응형

안녕하세요. 신기한 연구소입니다.

제목 보고 들어온 우리 초급개발자 분들.

환영합니다.

프로젝트를 하면 다양한 성향의 개발자 친구들을 만났습니다. 물론 초급 개발자 기준으로 이야기해 볼게요. 사원, 대리 직위를 갖는 개발자가 보통 초급 개발자입니다. 초급 개발자는 간단한 스크립트 개발 또는 사수를 도와 한 땀 한 땀 배워가며 프로젝트에 참여하게 됩니다.

그런데, 간혹 성장이 어려운 초급 개발자를 보게 됩니다. 어떤 경우가 초급 개발자의 성장을 방해하는지 살펴보겠습니다.

 

보고하지 않는 초급 개발자

사실 가장 큰 문제중 하나이기 한데요. 개발 업무 지시를 받은 초급 개발자는 업무를 시작하고 반드시 매일 일정을 체크해야 합니다. 특히 일정이 촉박한 경우에는 문제가 발생하기 전에 보고를 해야 하는데요. 간혹 강한 책임감과 자존심 때문에 보고를 하지 않고 본인이 해결하려고 시간을 엄청 사용하는 경우가 있습니다. 또한 곧 끝난다, 금방 해결된다고 허위보고를 하는 경우도 있는데요. 이는 아주 심각한 상황을 만들 수 있습니다. 신뢰를 잃게 되고 프로젝트 일정이 지연되는 상황이 발생할 수도 있습니다. 초급 개발자는 책임을 지는 자리가 아니기에 더 조심해야 합니다. 본인의 무모한 지연이 리더들을 난처하게 만들 수 있기 때문이죠. 

리더는 항상 개발을 하면서 매일 체크를 해야 합니다. 모든 초급 개발자들이 어려움이 발생할 때 바로 도움을 요청하거나 보고를 하지 않거든요. 그래서 초급 개발자들이 개발을 하면 중간 중간 물어봅니다. 그리고 진행하면서 어려움이 생기면 30분이든 시간을 정하고 이것저것 진행하다 안되면 바로 보고하라고 합니다. 하지만 그렇게 하라고 알려줘도 끝까지 보고 안 하고 시간을 질질 끄는 초급 개발자들이 있습니다. 그러면 본인의 성장은 멈추게 됩니다. 안 되는 것을 계속 혼자 안고 있으면 어느 누구도 모릅니다. 시간은 흘러가고 마지막 순간 폭탄이 될 수 있거든요. 결국 개발자로 성장은 없고 문제아로 낙인찍히게 됩니다.

 

부정적이고 핑계만 둘러대는 초급 개발자

한번은 이런 상황이 있었습니다. 화면 개발을 해야 하는데 사용자가 1명입니다. 개발자는 바로 불평을 늘어놓습니다. 1명이 쓰는 것을 왜 만들어야 하냐, 왜 하는지 모르겠다. 진짜 이걸 만들어야 하느냐? 1명을 위해 너무 많은 희생을 하는 것이 아니냐, 그 사람은 이 프로그램으로 편해지면 일 안 하나? 그냥 혼자 고생하는 게 낫지. 월급 받았으면 일을 해야지 왜 개발자가 이걸 만들어줘야 하냐...

이런 개발자는 자격이 없습니다. 1명이든 100명이든 요구가 있으면 그에 해당하는 급여를 받고 개발을 해주면 되는데 사용자가 1명이든 100명이든 무슨 상관이 있을까요? 근무시간에 급여를 받고 개발자로 앉아 있다면 개발자로 할 수 있는 코딩은 해야하지 않을까요? 반대로 생각하면 본인도 월급을 받았으면 일을 해야죠??

 

공부하지 않는 초급 개발자

이건 정말 심각합니다. 사실 급변하는 IT 환경에서 살아남기 위해서는 전문성이 정말 중요합니다. 나이, 직급과 관계 없이 공부는 계속해야 합니다. 공부는 근무시간에 하는 것이 아니지요. 공부는 언제 어디서든 나를 위해서 하는 겁니다. 근무시간에 공부한다는 발상은 직장은 학원도 도서관도 아닙니다. 직장에서 근무할 수 있는 능력은 미리 준비해야겠지요. 최신 기술과 나의 전문 분야에 대한 공부는 꾸준히 해야 합니다. 

 

근태불량 초급 개발자

정말 매일 지각하고 근무 시간에 1-2시간 자리를 비우기도 하는 근태 불량 개발자들이 있습니다. 또한 근무시간에 게임을 하거나 잡담을 시도 때도 없이 하는 초급 개발자도 있습니다. 그렇게 기본을 지키지 않으면서 퇴근은 칼처럼 합니다. 퇴근 시간을 지키고 권리라고 주장하고 싶으면 출근시간도 지키고 근무시간도 잘 지켜야 합니다.

 

위 사항에 해당 된다면 성장하는 개발자가 되기 어렵습니다. 또한 연봉에도 악영향을 미치게 됩니다. 그럼 다른 회사로 이직하면 된다고 생각하는 초급 개발자들도 있는데요. 다른 회사도 다르지 않습니다. 결국 도태되고 일을 못 구하는 상황이 발생할 수 있습니다. 프로그래머가 되고 싶다면 항상 전문성을 가진 프로 개발자를 위해 꾸준히 노력하고 그에 맞는 자세가 필요하다고 봅니다. 

꼭 초급 개발자가 아닌 시니어 개발자도 새로운 환경과 기술에 대해 꾸준히 공부해야 합니다. 

여러분 모두 성장하는 개발자를 꿈꾸며 열심히 스터디 합시다.

반응형