서버개발자가 되는법 [0]

     

목차

2020/09/29 - [Study/서버] - 서버개발자가 되는법 - 목차

 

유튜브 - 간단하게 보실분은 유튜브 동영상을 생략하셔도 됩니다.

 

 

들어가기 전에

 

 

대학생 멘토링을 하거나 주변에 서버 개발자가 되려는 분들의 질문을 받다 보면 대부분 아래와 같은 질문입니다.

 

"서버 개발자는 어떤 거 해요?"
"막 서버 만지고 그래요?" <--- ㅋㅋㅋㅋ
"어떻게 준비해야 돼요?"

 

생각보다 서버 개발자는 잘 알려지지 않은 영역인가 봅니다. 반대로 클라이언트 개발자의 경우 역할이 눈에 명확하게 보입니다. 화면을 어떻게 그리고, 어떤 애니메이션을 넣고, 이 버튼을 누르면 어디로 가야 하는지 등 코드가 작동하는 것이 눈에 바로 보입니다.

 

하지만 서버 개발의 경우 눈에 잘 보이지 않습니다. 지금 당장 핸드폰에 아무 앱이나 켜보세요. 화면을 보면 '아 클라이언트 개발자는 이걸 이케이케 개발했겠구나~'라고 예상이 됩니다. 하지만 그 화면에 보이는 데이터를 위해 서버 개발자는 무엇을 했을까..? 라는 질문의 답은 쉽게 나오지 않습니다.

 

이렇게 서버 개발자는 사용자에게 잘 보이지 않는 영역을 다룹니다. 그래서 좋은 서버 개발자가 되기 위해 어떻게 해야 하고, 무엇을 해야 하는지 잘 모를 수 있습니다. 하지만 서버 개발자도 눈에 보이는 일을 합니다.(당연한 소리..?) IDE로 코드를 보거나, DBMS로 데이터를 봅니다. 다만 사용자들이 보는 것과 다를 뿐이죠.

 

저는 대학생 때 모바일 개발을 주로 하면서 클라이언트 개발자가 되려고 했는데, 첫 회사에서 서버 개발을 하게 되어 메인이 서버로 바뀌었습니다. 물론 클라이언트도 조금씩 하고는 있는데 서버를 더 많이 하다보니 서버가 메인이 되었어요. 대기업에서 5년정도 서버 개발자로 일하고, 지금은 스타트업에서 서버개발을 하고 있습니다. 회사마다, 기술 스택마다 서버개발자의 역할이 많이 바뀌기는 하지만 공통으로 필요한 역량이 있다고 생각합니다. 신입 서버개발자로 지원할 때 어떤 것을 준비해야 하는지 한번 정리해보고 알려주는 콘텐츠를 만들어보려고 합니다.

 

 

뭘 알려주지..

 

일단 기획은 했는데 어떤 걸 알려줘야 하는지 막막합니다ㅋㅋㅋㅋㅋ. 서버 개발자에게 필요한 역량을 무엇일까.. 서버 개발자가 하는일은 무엇인가.. 등 등 머리속에 정리 안되고 둥둥 떠다니기만 합니다. 일단 글 제목이 서버개발자가 되는 법이라고 적었기 때문에, 서버 개발자가 되기 위해 뭘 해야 하는지를 적어야겠죠?

 

먼저 제가 서버 개발자를 하면서 주로 어떤 작업을 했는지 나열해보겠습니다. 

 

1. API 개발

2. DB 테이블 생성 및 수정

3. 배치 프로그램 개발

 

대기업과 스타트업에 있을 때 했던 일들 중 공통적인 업무는 위 3가지네요. 즉 어떤 회사를 가든 서버 개발자는 위 3가지를 하게 되어 있습니다. 저 3가지에서 웹 개발자일 경우 프론트도 좀 하게 될 거고, DepOps팀이 따로 없다면 AWS 설정이나 세팅도 하게 될거고, CI/CD를 위해 jenkins나 git 같은 툴도 좀 만지겠죠? 아무튼 위에 적은 3가지는 무조건 합니다.

 

그럼 이제 이 콘텐츠를 저 3가지에 맞춰서 작성해보겠습니다. 아마 개발에 관심이 있으신 분들은 이미 저 3개가 무엇을 의미하는지 알고 있을 겁니다. 하지만 회사에서 어떤 식으로 일이 발생하고 어떤식으로 개발자인 나에게까지 오는지는 모를 거라 생각됩니다. 이런 과정에서 서버 개발자가 어떤 위치에서 어떻게 일을 하는지 한번 이야기해보겠습니다.

 

 

어떻게 알려주지..

 

개발자가 하는 일을 알려주는 것은 역시 코드입니다. 말로 설명하는 게 오히려 더 어렵죠?

실제 서버를 만들고 DB를 만들고 데이터를 만들고, API를 만들어서 테스트하는 과정들을 포스팅해보려고 합니다. 물론 사용하는 언어와 프레임워크는 회사마다 다를 수 있습니다. 하지만 전체적인 흐름이나 맥락은 비슷하고, 언어 역시 거기서 거기이기 때문에, 여기서는 AWS위에 Django를 이용해 서버를 만들고 DB는 docker를 이용한 mysql을 사용하겠습니다. 클라이언트는 사실 필요가 없긴 한데 필요하면 Django내에서 만들고, 대부분의 테스트는 API 테스트 툴인 Postman이나 insomnia를 사용할 계획입니다. os는 mac에서 하고 싶기는 한데, 동영상을 찍으려면 window여야 해서 window에서 하겠습니다. 

 

강의는 1주일에 하나씩 올릴 예정이고 개인적인 사정에 의해 연기될 수 있지만, 질질 끌지 않고 최대한 빠르게 올릴 예정입니다. 안 그러면 저도 까먹어서요 ㅋㅋㅋ

 

그럼 다음 포스팅에서 뵙겠습니다.

 

 

2020/03/29 - [Study/서버] - 서버개발자가 되는법 [1] - 서버 개발환경 셋팅, AWS EC2만들고 Django 프로젝트 실행해보기

 

 

 

 

 

 

반응형

댓글

Designed by JB FACTORY