역할과 책임

협업에 필요한 역할과 책임을 소개합니다

백엔드개발

이런 일을 해요

백엔드개발 직무는 가비아가 제공하고 있는 도메인, 클라우드, 하이웍스, 호스팅 등 모든 서비스의 전반적인 비즈니스 로직을 구현하고, 기존 시스템을 분석/개선하는 업무와 함께 사업 확장을 위해 필요한 새로운 시스템에 대한 연구와 학습을 지속합니다. 서비스별로 차이가 있을 수 있지만, 백엔드개발 직무의 주요 업무는 아래와 같습니다.

  • Docker Container 기반의 플랫폼 서비스 구현
  • 클라우드 콘솔 및 AWS 연동 시스템 개발
  • 대용량 Data 관리 및 다양한 서비스 API 개발
  • 서비스(상품) 관리 및 판매, 빌링 시스템 개발
  • 마이크로 서비스 아키텍처(MSA) 기반의 솔루션 및 연동 API 개발

백엔드개발자는 서비스의 비즈니스 로직을 개발하고 데이터베이스 연동 및 아키텍팅을 통해 웹 서비스에 대한 전반적인 경험을 할 수 있습니다. 또한, 서비스 및 운영 시스템에 대한 관심을 토대로 DevOps로 발전할 가능성이 항상 열려 있습니다. 데이터베이스에 관심이 있다면 DB 관리 및 운영에 특화된 DBA나 시스템 아키텍트로 진로를 잡을 수 있고, 다양한 개발 환경과 플랫폼, 인프라, 네트워크의 경험을 통해 지식을 확장할 수 있습니다.

일이 언제나 문제없이 평탄할 수만은 없습니다. 서비스 및 솔루션을 제공하는 과정에서 다양한 사용자 환경에 따른 문제가 발생하게 되면 이를 해결하는 데 있어 어려움을 느낄 수 있습니다. 장애(Incident)에 대한 리스크가 부담될 수 있지만, 충분한 개발 검증과 취약점 점검, 코드 리뷰 및 CI를 통해 리스크를 최소화합니다.

프로젝트를 진행하면서 기술적인 고민과 어려움에 직면했을 때, 이력 관리가 되지 않은 소스 코드를 추적하여 분석하는데 소요되는 시간이 길어질 때, 프로젝트 릴리즈 직후 예기치 않은 오류로 인한 대응 과정에서 오는 긴장감과 스트레스가 올 때 어려움을 느끼곤 하지만, 팀원/개발자 간의 협업, 소통을 통해 문제를 해결하고, 어려움을 극복해 나가고 있습니다.

이런 사람을 원해요

백엔드개발 직무를 수행할 동료에게는 크게 세 가지의 역량을 기대합니다.

첫째, 문제해결 능력입니다. 개발 직무 특성상 크고 작은 문제에 직면하게 되는데 원인을 분석하여 해결책을 제시할 수 있어야 합니다. 또한 문제를 해결하는 과정에서 창의적인 사고와 시스템 전반을 통찰할 수 있는 역량도 필요합니다.

둘째, 의사소통 능력입니다. 혼자 개발 업무를 진행하는 경우는 드물고 연관된 부서나 팀원과 협업을 지속하게 됩니다. 코드 리뷰, TDD 등의 개발 방법론 측면에서 개발자 간의 의사소통 능력이 필요합니다.

마지막으로 열정, 그리고 끈기입니다. 프로젝트를 성공적으로 완수하고 성과를 창출할 수 있는 열정과 끈기가 필요합니다. 지속적인 개발 트렌드를 학습하고 실무에 접목하려는 노력이 더해진다면 성장하는 개발자가 됩니다.

그뿐만 아니라, 업무 이해력이 뛰어난 사람, 자신의 맡은 바 직무에 열정이 있는 사람, 가지고 있는 지식을 공유하고 끊임없이 성장하기 위해 함께 노력하는 사람, 배울 점이 많은 사람과 함께 일하기를 희망합니다.

이렇게 일해요

일상적인 하루의 일과를 설명하자면, 「전날 이슈 확인/정리 → 당일 진행할 업무에 대한 현황과 계획 공유 (일일 업무) → 이슈 현황 업데이트 → 코드 리뷰 → 프로젝트 개발 → 팀 회의 → 퇴근 전 당일 업무 현황 업데이트」와 같습니다.

일상의 업무에서 기획자/디자이너/타 부서 개발자/시스템 엔지니어/서비스 관련 여러 담당자들과 협업하여 업무를 진행합니다. 여러 담당자, 부서와 소통을 통해 프로젝트의 모든 것이 결정되기에 협업 능력, 프로젝트 전체에 대한 이해가 굉장히 중요합니다. 그렇기 때문에 업무 이해력이 뛰어난 사람, 직무 열정이 있는 사람, 함께 성장하기 위해 노력하는 사람들과 함께 일하기를 원합니다.

백엔드개발 업무는 개발 지원 도구를 주로 이용하여 관리됩니다. JIRA, Redmine, Gitlab Issue 등 이슈 관리 도구, Confluence, NAS 등 문서/파일 관리 도구, Git, SVN 등 형상 관리 도구, Slack, Mattermost 등 소통 채널을 이용합니다.

프로젝트 전반에 대한 로드맵을 구성하고 진행에 필요한 마일스톤 및 기획 리뷰를 진행하며 업무 관리를 하고 있습니다.

이러한 업무들의 성과 측정은 개발 산출물의 완성도와 작업 일정을 기준으로 KPI를 설정합니다. 개발 과정에서 예기치 않은 지연 요소나 업무에 대한 변경 사항 등은 소통 채널이나 이슈관리 도구를 통해 공유하여 객관적인 성과 관리를 하려 합니다.

이렇게 될 거예요,
이렇게 커나가요

로봇이 인간의 모든 업무를 대체하는 시대가 온다 해도 개발자의 수요는 계속 증가할 것입니다. 비즈니스는 항상 생겨나고 확장되며 이를 구현하기 위해서는 개발자의 역량이 필요하기 때문입니다. 따라서 개발 직무는 앞으로도, 영원히 필요하며 그렇기에 직무 전망 또한 안정적이라고 할 수 있습니다.

서비스를 제공하는 가비아의 특성상 지원자가 원하는 방향으로 커리어를 쌓을 수 있습니다. 웹개발, 시스템개발, 프론트엔드개발, DBA 등으로 확대 성장하여 결과적으로 풀스택 개발자의 역량을 갖출 수 있습니다.

이 일을 하고 싶다면,
기억해주세요

개발 분야는 다양하게 분화되는 추세이기에 우선 자신이 어떤 분야에서 무슨 일을 할지 목표를 세워야 합니다. 막연하게 개발자를 해야겠다는 것보다 구체적으로 어떤 개발을 할 것인지 정하는 것이 좋습니다. 서비스나 솔루션도 다양하기 때문에 자신이 웹 개발자로서 커리어를 쌓을 것인지 시스템 개발을 할 것인지, 애플리케이션 개발을 할 것인지 교육 과정에서 배우고 익힌 것을 기준으로 결정하는 것이 좋습니다.

그리고 경험한 것들을 정리하고 모아서 포트폴리오를 만들어 두시는 것이 좋습니다. 보통 github를 이용하는데 포크(fork) 된 프로젝트가 아닌 직접 참여하여 어떤 역할을 했는지, 노출된 소스 코드가 자신의 개발 역량을 반증하므로 지속적으로 관리하고 개선하는 것이 중요합니다. 지난 contributions의 기록을 통해 정말 개발을 즐긴다는 것을 회사에 전달하는 것도 좋을 것 같습니다.

가비아에게 여러분의 이야기를 들려주세요

모집공고 바로가기