F-Lab
🚀
상위 1% 개발자에게 1:1로 멘토링 받아 성장하세요

행복한 프로그래밍: 20년차 개발자의 성장 스토리

writer_thumbnail

F-Lab : 상위 1% 개발자들의 멘토링

나의 취준 시기는 2004년이었다. 

 개발자가 되기 위해서 다양한 기초를 잘 다져야 한다는 이야기를, 많은 선배 개발자들의 조언을 통해서 접하게 되었다. 그 과정에서 다양한 기초를 짧은 기간 동안에 학습 하려다보니, 과부하가 오고 부담 또한 컸었다.

 

'컴퓨터 과학(CS)' 으로 대두되는 기초의 중요성과 C언어 같은 메모리 핸들링을 하는 언어의 중요성 등이 다시금 부각되고 있다. (2004년엔 학원에서 속성 과정을 통한 취업이 많기도 했지만, 기초가 탄탄한 개발자가 중요한 것은 당연했다.)

 

당시, '강남 컴퓨터' 라는 IT 전문 인터넷 서점에서 다양한 책을 읽으며, 개발자로서 성장하는데에 방향성을 잡을 수 있었다. 또한, 그 때 읽었던 책들은 개발자로서 20년 가까이 살아오면서 큰 도움이 됐다. 당시 읽었던 책 중 몇가지를 소개하겠다.
 

 

조엘 온 소프트웨어

2005년 경 부터 한동안, 아니 지금도 종종 ‘조엘 테스트’ 라는 이름으로 개발팀 문화 측정 지표로 쓰이는 것을 포함한 다양한 좋은 주제에 대한 이야기를 한다. ‘조엘 온 소프트웨어’ 는 조엘의 블로그 이름이며, 조엘은 90년대 초반 ‘Microsoft’ 에서 엑셀 개발자로 근무한 경력이 있으며 ‘Stack Overflow’ 의 공동 창업자(사업 부분)이자, ‘Fog Creek’ 이라는 회사를 창업해 ‘Trello’ 를 만들었으며, ‘Jira’, ‘Bitbucket’, ‘Confluence Wiki’ 등으로 유명한 ‘Atlassian’ 에 매각하기도 했다. 좋은 글과 좋은 소재를 잘 녹여낸 글들이 많았고, 당시만해도 한국의 소프트웨어 개발 문화는 열악한 경우가 대다수였기 때문에 이 책이 더 인기를 끈 것이 아니었을까 싶다.
 

 

실용주의 프로그래머

나에게 딱 하나의 책만 추천할 권한이 주어진다면 나는 주저 없이 이 책을 고를 것이다. 프로그래머의 마음 가짐에 대해서 알려주는 책들 중 가장 적절한 분량에, 핵심 메시지를 잘 요약 전달 해주는 책이다. 자신이 '프로그래머 행세만 하고 살고 싶은 지, 프로그래머가 되고 싶은 지' 를 판단해 보고 싶다면, 이 책의 가르침을 얼마나 따를 수 있는지로 평가해도 될 만큼 좋은 책이다.
 

 

대체 뭐가 문제야?

이 책은 프로그래밍 서적은 아니지만, 나는 프로그래머의 필독서로 전혀 부족함이 없는 책이라고 생각한다. 프로그래머는 난제를 자주 맞이하는 숙명을 안고 사는데, 이 숙명 속에서 유용할 수 있는 책이라고 확신한다. 특히, '문제 해결을 위해서는 해결 능력 혹은 해결 권한을 가진 사람의 문제로 만들어야 한다는 이야기' 는 직업 프로그래머 생활을 하는 내내 큰 도움이 되었다.
 

 

개발의 즐거움에 대해서

F-Lab 멘토링을 하며 멘티분들께 자주 받는 고민이 있다. 직접적으로 ‘개발의 재미를 덜 느끼게 됐다.’ 거나, 간접적으로는 ’잘하고 싶긴지만 개발 공부나 학습, 실습에 부담이 있다.' 고 얘기하시는 분들이 꽤 많다. 

 

나 역시 이러한 과정을 겪었고, 개발이 힘들어지는 시기가 취준생, 1년차, 3년차, 이후에도 수도 없이 찾아왔다. 그러한 개발에 대한 회의감이 10년차 이후에는 오히려 사라졌는데, 개발을 너무 오래해서 무뎌졌다거나, 다른 일을 하는 것보다 나은 선택지 라서가 아니다. 개발의 즐거움과 함께 나에 대한 확신을 조금씩 쌓아 올린 결과라고 생각한다. 그 '개발의 즐거움' 을 느끼게 해준 책 두 권을 소개하고자 한다.
 

 

누워서 읽는 알고리즘

먼저 나온 것은 ‘행복한 프로그래밍’ 이지만, 내가 임백준 님 서적 중에 제일 먼저 읽게 된 서적이다. 물론 이 책의 제목과 서평을 봤을 때는 반신반의 정도가 아니라, '말도 안돼!' 를 외쳤다. 어떻게 알고리즘을 누워서 읽는 만화책이나, 소설책처럼 접근할 수 있단 말야? 라고 생각했는데, 알고리즘 이야기를 다양한 주제와 엮어 쉽게 표현한 임백준님의 필력에 감탄했고, 나 역시 그런 마인드를 가지고자 마음 먹게 되는 계기가 됐다.
 

 

행복한 프로그래밍

이 글의 제목이기도 한 ‘행복한 프로그래밍’ 은, '누워서 읽는 알고리즘' 보다 더 큰 반감이 있었던 제목이다. '프로그래밍이 행복하기까지 하다고?' 하며, 더 큰 반감을 가지고 샀던 책이었는데, 정말로 프로그래밍을 행복하게 바라보는 계기가 된 책이 됐다. 당시엔 확신할 순 없었지만, 꽤 오랜 시간을 해왔고 앞으로도 더 오랜 시간을 하게 될 것 같은 일을 사랑한다면 정말 행복해질 수 있을거라는 믿음도 가져보는 계기가 됐다. 그렇게 프로그래밍 자체에 좀 더 성취감과 즐거움을 느끼기 시작하자, 학습, 업무, 기술 서적 읽는 시간, 기술 관련 에세이도 찾아보게 되었고 개발의 즐거움을 통해 지속적 성장의 실천이나 밑거름이 됐다.
 

 

마치며

‘농구 좋아하세요?’

만화, 슬램덩크에 나오는 명대사를 빗대어, ‘프로그래밍 좋아하세요?’ 라고 누군가 묻는다면, ‘아니요. 사랑합니다. 그래서 행복합니다.’ 라고 말할 수 있다. 그래서 나는 꽤 길었던 아마추어 프로그래머 기간과, 더 긴 시간이 되어버린 직업 프로그래머 19년을 넘어 30년, 40년차 개발자가 되더라도 개발을 사랑했고, 행복했다고 말하는 사람이 되고 싶고, 더 많은 개발자가 개발을 사랑해서 행복하게 성장했으면 좋겠다.

ⓒ F-Lab & Company

이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.

조회수

멘토링 코스 선택하기

  • 코스 이미지
    Java Backend

    아키텍처 설계와 대용량 트래픽 처리 능력을 깊이 있게 기르는 백앤드 개발자 성장 과정

  • 코스 이미지
    Node.js Backend

    아키텍처 설계와 대용량 트래픽 처리 능력을 깊이 있게 기르는 백앤드 개발자 성장 과정

  • 코스 이미지
    Python Backend

    대규모 서비스를 지탱할 수 있는 대체 불가능한 백엔드, 데이터 엔지니어, ML엔지니어의 길을 탐구하는 성장 과정

  • 코스 이미지
    Frontend

    기술과 브라우저를 Deep-Dive 하며 성능과 아키텍처, UX에 능한 개발자로 성장하는 과정

  • 코스 이미지
    iOS

    언어와 프레임워크, 모바일 환경에 대한 탄탄한 이해도를 갖추는 iOS 개발자 성장 과정

  • 코스 이미지
    Android

    아키텍처 설계 능력과 성능 튜닝 능력을 향상시키는 안드로이드 Deep-Dive 과정

  • 코스 이미지
    Flutter

    네이티브와 의존성 관리까지 깊이 있는 크로스 플랫폼 개발자로 성장하는 과정

  • 코스 이미지
    React Native

    네이티브와 의존성 관리까지 깊이 있는 크로스 플랫폼 개발자로 성장하는 과정

  • 코스 이미지
    Devops

    대규모 서비스를 지탱할 수 있는 데브옵스 엔지니어로 성장하는 과정

  • 코스 이미지
    ML Engineering

    머신러닝과 엔지니어링 자체에 대한 탄탄한 이해도를 갖추는 머신러닝 엔지니어 성장 과정

  • 코스 이미지
    Data Engineering

    확장성 있는 데이터 처리 및 수급이 가능하도록 시스템을 설계 하고 운영할 수 있는 능력을 갖추는 데이터 엔지니어 성장 과정

  • 코스 이미지
    Game Server

    대규모 라이브 게임을 운영할 수 있는 처리 능력과 아키텍처 설계 능력을 갖추는 게임 서버 개발자 성장 과정

  • 코스 이미지
    Game Client

    대규모 라이브 게임 그래픽 처리 성능과 게임 자체 성능을 높힐 수 있는 능력을 갖추는 게임 클라이언트 개발자 성장 과정

F-Lab
소개채용멘토 지원
facebook
linkedIn
youtube
instagram
logo
(주)에프랩앤컴퍼니 | 사업자등록번호 : 534-85-01979 | 대표자명 : 박중수 | 전화번호 : 0507-1315-4710 | 제휴 문의 : info@f-lab.kr | 주소 : 서울특별시 강남구 테헤란로63길 12, 438호 | copyright © F-Lab & Company 2024