devFancy BE Developer

왜 개발자를 선택했는가

2023-01-29
devfancy

Prologue

  • 이 글은 필자의 개인적인 의견이 담겨 있습니다.

  • 이 글에 대해 공감하거나 다른 생각이 있으시면 댓글로 의견을 남겨주시면 감사하겠습니다.

  • 그럼 개발자에 대한 저의 생각을 간략하게 말씀드리겠습니다.

개발자라는 직업을 선택한 이유

  • 내가 개발자의 직업을 선택한 이유는 끊임없이 자신을 성장시킬 수 있는 직업 중 하나였고,

    우리의 삶에서 필요한 서비스를 직접 개발한 것을 누군가가 사용함으로써 행복을 전해줄 수 있는 뿌듯함이 나에게 맞았다.

  • 그리고 무엇보다 개발 실력을 계속 디벨롭 한다면, 시장이 나에 대한 가치를 높여줄 것이라 생각했다.

개발할 때 가장 중요한 부분

  • 개발할 때 가장 중요한 부분은 왜? 라는 질문을 항상 가져야 한다고 생각한다.

  • 내가 그 이유를 알아야 일의 동기부여가 되기 때문이다.

  • 이 이유가 없이 개발만 한다면, 어느 순간에 내가 이걸 왜 개발하고 있지? 라는 생각과 번아웃이 찾아올지도 모른다.

서버 개발자(백엔드)에게 필요한 지식 및 경험은 무엇인가요?

  • 일단 기본적으로 알고리즘 구현 실력이다. 이는 백엔드 개발자 뿐만 아니라 모든 개발자가 갖춰야 할 역량이라고 본다.

    적어도 프로그래머스에 나와 있는 Lv3를 풀 수 있는 능력을 갖춰야 기업에서 나오는 코딩테스트를 무난하게 통과한다고 생각한다.

  • 두 번째로 CS 관련 기본기이다. 여기서 말하는 CS란 Computer Science의 약자로 컴퓨터와 관련된 학문적 지식을 의미한다.

    내가 생각하는 CS 과목은 자료구조 & 알고리즘, 운영체제, 네트워크, 데이터베이스이고, 추가적으로는 컴퓨터구조, 시스템이라고 생각한다.

  • 세 번째로 프로젝트 경험기술스택 & 인프라다.

    제대로 된 프로젝트 경험을 최소 2개 이상 갖춰야, 나중에 자소서 작성 및 면접에서 본인의 경험을 구체적이고 명확하게 전달한다면, 면접관분들이 좋게 봐주실 거라고 본다.

    기술스택 & 인프라 같은 경우는 회사마다 다르기 때문에, 꼭 본인이 가고자 하는 회사의 채용공고를 확인해야 한다.

    예로 들자면, 카카오뱅크의 서버 엔지니어는 JDK 1.8+, Kotlin, Java를 활용 중이며, DB는 서비스 특성에 따라 Oracle, MySQL, Postgre 등 다양하게 사용 중이다.

    시스템 엔지니어는 Linux, HCI, Docker, Kubernetes, Terraform 등을 활용하고 있다.

    일부 운영성 업무를 수행하는 팀은 node.js를 활용하기도 하지만, 대용량 서비스를 안정적으로 제공하기 위해선 JVM 기반 에코시스템이 보다 효과적이기에 Java를 주로 활용하고 있다.

  • 필자는 이 세 가지를 완벽하게 갖추지 못했기 때문에, 꾸준히 공부를 하고 있는 중이다.

앞으로 어떤 개발자가 되고 싶나요?

  • 남들에게 인정받는 쓸모 있는 개발자가 되고 싶다.

  • 그리고 나의 지식과 경험을 동료에게 혹은 제3자에게 공유하면서, 도움이 된다면 엄청 뿌듯한 기분이 들 것 같다.

  • 그러기 위해서는 항상 개발에 대한 실력을 높이도록 열심히 성장할 것이다.

  • 10년 후에는 구성원들이 일을 효율적으로 할 수 있도록 시스템을 잘 갖추도록 노력할 것이고,

    개인적인 면에서는 백엔드 개발자의 역량뿐만 아니라 다른 개발 역량도 우수한 실력을 갖추는 것이다.


Comments

Index