오늘부터 개발자 , 개발자가 되려는 이유를 확실히 정하자 (PART 1)

Yuri Lee·2022년 4월 2일
0

오늘부터 개발자

목록 보기
1/2

김병욱님의 '오늘부터 개발자' 책을 읽고 정리한 내용입니다.

01. 어떤 개발자가 될 것인가?

다양한 개발 분야

  • 프론트 엔드 : 우리가 이용하는 앱(또는 웹 페이지)의 앞부분을 만드는 개발자
  • 백엔드 : 우리가 이용하는 앱(또는 웹 페이지)의 보이지 않는 뒷부분 로직을 만드는 개발자
  • 데브옵스 : 서비스가 안정적으로 돌아가도록 전체적인 인프라를 만들고 관리하는 개발자
    • 만약 쇼핑몰이 대박이 나서 100명의 고객이 동시에 접속해 한꺼번에 물건을 구매한다면 어떻게 될까? 이러한 상황을 해결하기 위해 가장 간단한 방법은 서버의 수를 늘리는 것이다. 하지만 막대한 비용이 필요하기 때문에 단순히 서버의 숫자를 늘리는 것이 아닌 고객의 증가에 따라 자동적으로 여러 서버에 분산되도록 하는 등 섭스가 안정적으로 돌아가도록 하는 역할이 필요함. 개발 (development)와 운영(operation)을 연계하여 다양한 기능들을 설계하고 만드는 개발자를 데브옵스(DevOps) 개발자 혹은 인프라 개발자라고 함.
  • 데이터 사이언티스트 : 쌓여진 데이터를 활용 가능한 데이터로 바꾸는 개발자
    • 개발 : 데이터 엔지니어(데이터 파이프라인 작업)
    • 분석 : 데이터 분석가(통계적 분석)
    • 머신러닝 : 데이터 학습(유의미한 모델 추출)

02. 개발자는 정말 유망한 직업일까?

편리함의 뒤에는 개발자가 있다.

모든 산업이 점점 IT의 세상 속으로 들어 오고 있다. 이에 따라 IT업종이 아닌 회사들도 IT를 통해 생산성을 높이고 홈페이지를 꾸미며 고객들에게 한 걸음 더 다가서기 위해 노력하고 있다.

회사는 항상 개발자가 부족하다.

개발이라는 것은 한 번에 딱 만들고 나면 끝나는 것이 아니어서 서비스가 잘 되면 잘될수록 큰 규모의 프로그램을 돌려본 경험을 가진 실력 있는 개발자를 필요로 한다. 하지만 이런 실력 있는 개발자가 우리 회사에 들어오려고 대기하고 있는 것도 아니고, 이미 기존 회사에서도 핵심 인재로 관리받고 있다. 본인의 실력만 있으면 언제든지 취업을 할 수 있게 되었다.

신입개발자는 많지만 경력 개발자는 적다.

현실적으로 회사에서 원하는 개발자는 경력이 있는 개발자들이다.

내가 원하는 서비스를 스스로 구현할 수 있다.

내가 생각하고 있는 아이디어를 직접 개발하여 테스트해 볼 수 있다. 나는 이러한 과정을 거쳐 현재 회사를 다니면서 2개의 서비스를 오픈하여 운영하고 있다.

03. 개발자에 대한 잘못된 오해

좋은 개발자여야 연봉이 높다

처음 시작하는 연봉(초봉)이 다른 직군에 비해 높기도 하고, 본인의 실력과 노력 여하에 따라 연봉 상승률도 꽤 높은 편이다. 하지만 실력이 좋은 개발자의 연봉이 높다가 맞는 말이다.

개발자의 연봉은 본인의 실력으로 결정된다.

개발자를 준비하고 있다면 현재 받을 수 있는 연봉에 연연하기 보다는 작은 규모의 회사라도 취업에 성공하여 나의 실력을 충분히 보여준 후 1년 뒤의 협상에서 연봉 상승에 목표를 두는 것이 더 나을 것이다. 좋은 개발자로 인정받기 위해 끊임없이 노력하는 것이 현재 내가 연봉을 얼마 받고 있는지보다 더 중요하다.

개발자로서 만족감을 느낄 때

개발자의 가장 큰 장점은 내가 원하는 무언가를 직접 만들 수 있다는 것이다.

개발자로서 한계를 느낄 때

결국 회사의 직원이다 보니 내가 관심있는 분야만 할 수느 ㄴ없다. 기획에 참여하는 경우는 드물며, 대부분 PM이 기획한 것을 디자이너가 디자인해 주면 거기에 맞추어 개발을 진행하게 된다.

비전공자는 시작하기 어렵다?

개발의 길을 가조가 한다면 우선 진정한 실력을 갖추는 것이 중요하다. 첫 회사의 규모가 중요한 것이 아니라 나의 개발 실력을 스스로 인정하고 작은 곳에서 차근차근 배운다는 마음으로 시작하는 것이 필요하다.

04. 개발자의 장점과 단점

장점) 스스로 성장하면서 일을 할 수 있다

나는 일을 하는 데 있어 '성장'을 매우 중요한 가치로 여긴다.

장점) 노트북 하나로 나의 꿈을 실현시킬 수 있다.

나에게 필요하거나 불편했던 것들이 있다면 노트북 한 대를 가지고 시간을 투자하면 어느 정도 해결할 수 있는 프로그램을 만들어 낼 수 있다.

단점) 지속적인 성장에 대한 강요

IT업계는 워낙 빠른 트렌드를 쫓다 보니 매일매일 새로운 기술들이 나오고, 몇 년 동안 익숙하게 사용했던 개발 언어가 어느 순간 완전히 다른 언어로 대체되는 경우도 허다하다. 이러한 변화의 속도를 따라가지 못하면 회사에서 좋은 개발자로, 일 잘하는 개발자로 인정받던 사람도 한 순간에 도태되기도 한다.

개발자는 '안정적인 서비스'와 '더 빠른 개발'이라는 두 가지 성장을 지속적으로 강요받는다. 하지만 회사에서 일을 하면서 새로운 기술을 공부하고 대처하는 것은 쉽지 않다.

단점) 책임져야 할 부분이 굉장히 많다

완벽한 개발이란 없다보니, 언제 어느 부분에서든 문제(에러)가 생길 수 있고, 이는 즉시 고객의 CS 또는 이탈로 이어진다. 세상에 쉬운 개발이란 없다. 정말 쉬워보이는 문제도 제대로 대처하지 않으면 언제든 큰 사고로 이어질 수 있다.

개발자의 일과

일찍 잠들고 일찍 일어나는 게 익숙한 나는 11시쯤 자리에 잠들고 새벽 5시에 일어나 2시간 동안은 나의 개발 시간을 가진다.

끊임없는 자기와의 싸움

개발자의 일상은 매우 단조롭기도 하고 끊임없이 공부를 해야 하는 생활의 연속이다.

profile
Step by step goes a long way ✨

0개의 댓글