반응형

나는 단 한번도 ‘뛰어난 개발자’가 되고 싶지 않았다.

IT개발자로 밥벌이를 해온지 벌써 10년차가 되어 가고 있다.
처음 개발자로 일을 시작한 이후 9년 가까이 되는 시간 동안
나는 ‘뛰어난 개발자가 되어야 겠다’고 생각해 본 적이 단 한 번도 없다.

물론, 컴퓨터공학과를 입학하는 순간부터 컴퓨터에 미쳐있는
주변 친구들을 보며 ‘나는 안돼’라고 셀프 세뇌 당했던 것도 한 몫 했으리라 본다.

이런 생각은 학교를 졸업 후 회사에 취업해 주변에 잘하는 동기들을 보며 더 확고해져 나갔다.
나의 그 당시 목표는 ‘주변의 동기들 만큼 만이라도 하는 것’이었다.
그 목표를 이루기 위해 나는 끊임없이 노력해야만 했고 사실 중간에 포기하고 싶었던 적이 너무 많았다.

하지만 그 순간마다 날 붙잡았던 두 가지 생각이 지금까지 날 개발자로서의 삶을 살게 해주었다.

첫 번째는, ‘포기 할 때 포기하더라도 개발자로서 인정을 받아 보자’였다.

솔직하게 나는 개발자로서 더 코딩을 잘하기 위해 많은 시간을 들여 본적이 없었고
아무 노력도 해보지 않은 채 포기하는 것은 내 스스로가 용납하기 힘들었다.

두 번째는, 내가 잘하는 것이 무엇인지 몰랐다.

회사에 힘들게 개발자로 취업 했는데 힘들다고 포기하고 퇴사하자니 대안이 없었다.
다시 말해, 내가 무엇을 잘하고 재미있어 하는지 알지 못했다.
왜냐하면 무엇인가 내가 인정을 받을 만큼 한 분야에 시간을 투자해 성과를 얻어보지 못했기 때문일 것이다.

이 두가지 요인으로 인해 나는 감사하게도 개발자로 삶을 지속할 수 있었다.

그렇게 3년이 지나고 4년차가 되던 어느 날 부터, 나는 개발자로 하루 하루 살아 갈 수 있음에 감사함을 느끼게 되었다.
신입 시절 목표로 했던 ‘남들만큼은 하는 개발자’가 되고 나니 개발하는 일이 너무 즐거웠다.

하지만 이 목표를 이루고 나서도 나의 목표는 ‘뛰어난 개발자’가 아니었다.
오히려 개발자로 일을 하다보니, 사람들이 필요로 하는 서비스는 그렇게 뛰어난 기술과 프로그래밍 실력을 요하지 않는다는 것을 깨달았기 때문이다.
기술과 프로그래밍은 사람들이 필요로 하는 서비스를 만드는데 주요 요소일 순 있지만 그것만이 전부가 아님을 알게 되었다.

그래서 지금의 나의 목표가 뭐냐고 묻는 다면 ‘행복한 개발자’로 사람들에게 유용하고 편리한 서비스들을 계속해서 만들어 나가는 것이다. 내가 하는 일을 즐기며 살아가는 개발자가 되고 싶다.
내가 만든 서비스로 인해 사람들이 편리함을 느끼고
그 서비스를 만들어 나가는 시간이
괴롭지 않고 즐거움인 그런 개발자 말이다.

꼭 최고가 될 필요는 없다고 생각한다.
지금 하고 있는 일을 즐기며 잘하기 위해 노력하는 것만으로도 충분히 훌륭한 개발자라고 생각한다.

오랫동안 많은 개발자들이 ‘행복한 개발자’로 살아가길 희망해 본다.

 

 

[ 개발자 칼럼 ] 개발자는 재능의 영역일까?

개발자는 재능의 영역일까? 개발자는 노력보다는 재능의 영역일까? 라는 주제로 내 생각을 적어보려고 한다. 개발자로 10년 가까이 일을 해오면서 정말 다양한 개발자들을 많이 만나왔다. 서울

brocess.tistory.com

 

반응형
반응형

너가 지금 운동 할때냐?

개발자로 일한지 2년 차 때 팀장님이 스~윽 내 뒤에 오셔서
내가 하고 있는 일을 보고 있는 듯 하셨다. (소위 말하는 병풍....)
사회초년생 분들은 다들 아시겠지만 어느 정도 조직 문화가 있는 회사에서 팀장님이 내 뒤에 와서 아무말 없이 내 모니터를 들여다 보고 있다고 생각하면 머릿속은 온통 하얘지고 등에서는 식은 땀이 나는 듯한 느낌을 받을 것 이다.
나 또한 그냥 최대한 신경이 안쓰이는 척을 하며 일을 하려고 하고 있었는데 갑자기 팀장님이 내 책상의 달력을 집어 드셨다.
그 달력에는 내가 퇴근하고 했던 운동 기록 같은게 적혀있었다.

단순하게 월요일은 가슴 운동, 화요일은 등 운동 과 같은 내용이었다. 그래서 속으로 ‘음 뭔가 운동도 열심히하네’ 라고 칭찬해 주시려나라고 속으로 생각했지만 팀장님 입에서 나온 말은 정반대의 이야기 였다. 그 말인 즉슨 ‘너가 지금 운동할 때냐?’ 였다. 그 말을 듣는 순간 뭔가 나는 너무 잘못이라도 한 것 같은 기분이 들며 내 달력을 보고 있는 팀장님을 돌아보며 아무 말도 하지 못했던 기억이 난다.

지금 생각해보면 그 때 아무 말도 하지 못한 내 자신이 좀 바보 같긴 하지만 차라리 아무 말 하지 않고 있었던게 다행이기도 한 것 같다.
이미 나에 대해 꼬아서 보고 있는 사람에게 그도 팀장에게 굳이 거기서 저 운동하고 와서 다시 일하는데요,,,잠깐 머리 식히러 가는건데요,,라고 해봐야 이해해 줄 것 같지도 않고 오히려 더 서로의 감정만 안좋아 졌을 것 같다.

내가 다니던 회사는 꼭대기 층에 헬스장이 있었고 회사 사람이면 누구나 퇴근 시간 이후 헬스장을 이용할 수 있었다.
나의 경우는 하루 종일 컴퓨터 앞에만 앉아있다가 퇴근 시간 쯤 한 시간 정도 아무 생각 없이 땀흘릴 수 있는 그 시간이 너무 소중했다.
그렇게 운동하고 나면 이전에 개발할 때 어떻게 구현해야될지 막막하던 부분들도 쉽게 해결할 수 있는 아이디어가 떠오르거나 오히려 업무의 효율도 높아졌었다.

이런 상황에서 팀장님의 이야기를 듣게 되다보니 뭔가 정이 확 떨어지는 기분이었다.
그 당시의 나를 위해 지금의 내가 그 자리에 있었다면 한 마디 해주고 싶다.
“(옷위로 튀어나온 배를 보며) 운동은 당신이 해야될텐데”

 

 

개발자 에세이 10. 나만 너무 못한다고 느낄 때

나만 너무 부족한 것 같다고 느낄 때 개발자로 사회생활을 시작하다보니 남들과 비교가 일상이 되어 버렸다. 대학생 때도 사실 코딩을 잘한 건 아니였지만 그 때마다 훨씬 코딩을 잘하는 친구들

brocess.tistory.com

 

반응형
반응형

나만 너무 부족한 것 같다고 느낄 때

개발자로 사회생활을 시작하다보니 남들과 비교가 일상이 되어 버렸다.
대학생 때도 사실 코딩을 잘한 건 아니였지만 그 때마다 훨씬 코딩을 잘하는 친구들을 보면 “나는 개발자 안할거니까” 라고 자기 합리화 하며
넘겨 버릴 수 있었다. 하지만 막상 컴퓨터공학과를 나와서 취업을 준비하려는 입장이 되다보면 알게 될 것 이다.

수요가 월등히 개발자가 많기도 하고 일단 취업은 하고 보자는 생각 때문에라도 “난 개발자는 안할거야”라는 맘을 유지하기가 쉽지 않다.
그렇게 나도 개발자의 길로 들어서게 되었고 일단 시작 하게 되었다.

그렇게 시작된 개발자로서 회사생활이다보니 너무나도 부족한 나를 마주하게 되었다.
회의 하나를 들어가도 “세션, 쿠키, API, ACL, l4" 등 모르는 단어 천지에 오고 가는 이야기들을 이해하는게 쉽지 않았다.

뭔가 기본적인 내용들인 것 같은데 모르는 척 하고 있을 수가 없어 이해하는 척 하고 있자니 정말 죽을 맛이었다.
다른 친구들은 뭔가 다 나처럼 가식이 아닌 진심으로 이해하고 질문도 하는 모습을 볼 때면 자괴감마져 들었다.

그렇게 개발자로 첫 사회 경험은 내게 썩 유쾌하지 만은 않았다.
매일같이 모르는 단어들을 매일 같이 수첩 한 가득 적어놓고 학습하고 이해하려고 노력하고 퇴근하고서는 집 근처의 독서실을 들렀다.
하루 동안 불편했더 내 마음을 유일하게 편하게 만들어 주던 시간이었다. 그렇게 퇴근 하고 독서실에서 학습을 하며 몰랐던 지식들을 내것으로 만드는 시간은 막연한 불안감들을 잠재워 주기에 충분했다.

내가 아는게 많이 없고 못 한다는 생각이 들 때는 정말 그럴 확률이 매우 높다고 생각한다.
그런 생각을 이겨 낼 수 있는 것은 책상 앞에 앉아 지식을 쌓는 것이다.
지금 그러한 노력을 하고 있다면 너무 불안해하지도 걱정하지도 말자.
언젠간 웃으며 추억할 날이 올 것이라 확신한다!

 

 

개발자 에세이 9. 신입 개발자 첫 출장

첫 출장 회사에서 나의 첫 부서는 고객시스템개발팀이었다. 고객시스템 개발팀에서는 NHN에서 하는 모든 서비스들의 고객 문의(전화/이메일)를 받아서 상담원들에게 분배하고 상담원들의 응답

brocess.tistory.com

 

반응형
반응형

첫 출장
회사에서 나의 첫 부서는 고객시스템개발팀이었다.
고객시스템 개발팀에서는 NHN에서 하는 모든 서비스들의 고객 문의(전화/이메일)를 받아서 상담원들에게 분배하고 상담원들의 응답을 다시 고객들에게 전달하는 시스템 및 고객 서비스에 필요한 시스템들을 만들고 운영했다.

고객문의 시스템에는 크게 전화문의를 받고 처리하게끔 도와주는 시스템과
메일을 통해 고객들의 문의를 상담원들에게 분배하고 원활히 처리하게끔 도와주는 이메일상담 시스템이 있었다.

나는 이중에서 이메일 상담 시스템 개발을 맡게 되었다.

시스템을 운영하다 보면 고객의 문의를 좀 더 신속하게 처리할 수 있도록 도와주는 기능들뿐 아니라 상담원들의 불편함을 최소화 해주기 위해 기능개발이 필요한 경우도 많이 있었다. 하지만 기업의 구조상 상담원들의 불편함을 개발자인 내가 직접 듣는 일은 거의 없었다.

왜냐하면 상담원들의 불편함은 일단 고객시스템 기획자분들께 전달되고 기획자분들은 우선순위를 정하여 개발팀에 전달한다.
하지만 개발팀에 전달한다고 해서 개발을 담당하는 개발자가 직접적으로 피드백을
받는 형태가 아닌 팀장님과 이야기를 나누게 된다. 그리고 팀장님의 OK 사인이 떨어지면 그제서야 나는 팀장님을 통해 작업해야하는 내용들에 대해 전달 받게 된다.

이렇다보니 나는 항상 기능 개발을 하면서도 어떤 불편함 때문에 이 기능을 이렇게 수정하는지 어떤 의도로 시스템의 프로세스를 바꾸는지에 대해 100% 공감대를 형성할 수 는 없었다. 그래서 항상 속으로 ‘상담 시스템을 사용하는 상담원들을 직접 만나 이야기를 나눠보고 싶다’는 생각을 가지게 되었다.

그러던 중 팀장님이 청주에 있는 고객센터를 기획자 분과 의견접수 차원차 간다는 이야기를 들었다.
나는 한 참을 고민하다가 팀장님께 ‘저도 같이 가서 실제 상담하시는 분들과 이야기를 나눠보고 싶습니다’
라고 이야기하였고 그렇게 함께 청주의 상담센터를 방문하여 상담원들과 이야기 할 수 있는 기회를 얻게 되었다. 이렇게 실무 담당자와의 대화는 처음이었는지 상담원분들은 내게 불편했던 부분들과 개선되면 좋을점들을 너무 신이 나서 설명해주셨다.

이렇게 이야기를 한 참 진행하다 보니
그동안 개발했던 기능들이 왜 필요했었는지 원래 개선하고자 하는 의도는 어떤거였는지에 대해 명확히 알 수 있었고, 그 의견들이 제대로 반영되지 못하고 있다는 것 또한 깨닫게 되었다.

이 경험으로 인해 정말 많은 것을 깨달았다.
커뮤니케이션 과정에 여러 채널을 거치다 보면 본래 의도했던 바대로 의견이 전달될 확률은 매우 낮다는 것 과 단순히 개발자라고 하더라도 기능 개발에만 초점을 맞출 것 이 아니라 이 기능을 어떻게 사용하게 될지 어떤 니즈가 숨겨져있을지에 대해서 깊게 들여다 볼 줄 아는 통찰력있는 개발자가 되는 것의 중요성이다.

내가 만들어냈던 첫 출장은 좀 더 나를 능동적인 개발자로 성장하게끔 하는 밑바탕이 되었다.

 

개발자 에세이 8. 2년차 어느 날의 일기(리더 자질에 대해 생각해본 날)

개발자 2년차 어느 날의 일기 (리더의 자질) 개발자로 일한지 막 1년이 지나 2년차로 접어 들 때쯤 우리팀은 회사의 조직개편으로 인해 새로운 랩으로 이동하게 되었고 해당 랩에서는 보통 한 달

brocess.tistory.com

 

반응형
반응형
곧 10년 차 개발자가 되가고 있다. 뒤를 돌아보면 나도 신입 시절이 있었고 신입 때는
10년 차 개발자들을 보면 '우와' 했는데 내가 벌써 10년 차가 되간다니...시간이 빨라도 너무 빠르다. 
신입 시절은 분명 누구에게나 힘들 수 있는 시간들이다.
그래서 내가 신입시절 도움이 됬던 요소들 3개에 대해 소개해 보려고 한다.

그 3가지는 아래와 같다.
  1. 회의나 주변 대화에서 모르는 단어가 나왔을 때 기록해 놓고 학습
  2. 호기심을 가지고 탐구하려는 모습
  3. 논리적으로 사고하고 이야기하려는 노력
첫 번째, 모르는 단어나 내용들을 기록해놓고 학습하는 것이다.
개발자 신입시절을 떠올려 보면 정말 하루하루가 도전의 연속이었다.
프로그래밍도 그렇게 잘하지 않았을 뿐더러 관련 지식도 많이 부족했다.
그렇다 보니 주변 사람들이 이야기하는 내용들이나 회의에서 주고 받는 이야기들의
절반 이상은 이해하지 못했고 그로인해 
온전히 회의에 집중하기가 쉽지 않았다.
그 당시를 생각해보면 추상적으로는 알고 있었지만 기본적인 것들도
제대로 이해하지 못하고 있는 것들이 너무나도 많았다.
예를 들면, API가 정확히 뭔지, GET방식 POST방식을 언제 어떻게 사용해야하는지, 
쿠키 세션, 트랜잭션 등
모르는 단어와 개념들이 너무 많았다.
물론, 신입으로 회사생활을 하고 있다면 대부분 겪는 일일 것이다.
이 때 가장 도움이 됬던 것이 모르는 내용이나 단어들이 나오면 매순간 수첩이나 노트북에 기록해놓고 찾아보고 공부하는 것이었다. 그렇게 두 달 정도 지나니 회의를 들어가는 것이 두렵지 않아 졌었던 기억이 있다.
신입 때는 당연히 모를 수 있지만 모르고 넘어가서는 성장할 수 없다.
어떻게서든 내용을 찾아보고 내 것으로 만드려고 노력해야 한다.
더 좋은 것은 새롭게 배운 내용을 
블로그를 통해 정리해보는 것도 좋은 방법이 될 수 있다.


두 번째, 모든 일에 호기심을 가지고 탐구하는 행동이다.
개발자로 일을 하다보면 수 많은 문제상황과 버그들을 마주하게 된다.
수 많은 문제 상황들을 해결해 나가면서 우리는 레벨업을 하게 된다.
여기서 중요한 점은 문제를 단순히 해결했다고 거기서 멈춰버리면 안된다는 것이다.
버그가 왜 발생했는지에 대해 철저하게 원인을 분석하고 원인에 대한 이해가 완벽히 되지 않았다면
깊숙히 deep dive해서
 명확히 이해하고 넘어가야 한다. 그래야만 같은 실수를 반복하지 않고 더 많이 성장할 수 있다.
이런 과정을 거치며 성장한 개발자는 해결해 보지 않은 문제들을 만났을 때 이전의 경험들이 기반이 되어
훨씬 쉽게 문제를 해결해 나갈 수 있게 된다.하지만 이런 습관은 하루 아침에 길러지지 않는다.
오히려 경력이 쌓여 나갈 수록 습관을 기르기가 쉽지 않다.
그렇기 때문에 신입시절 이러한 습관을 잘 길러놔야 한다.
 
세 번째, 논리적으로 사고하고 이야기하려는 노력이다.
개발자로 일을 하다보면 사실상 다른 사람들과 이야기를 하는 일이 거의 없다.
특히나 큰 대기업이나 SI의 경우는 개발 팀장들이 대부분 회의를 다니며 업무를 탑다운 형태로 전달하는 형태이다 보니 더욱더 다른 사람들과 커뮤니케이션을 할 기회가 없다.
그렇기에 많은 개발자들이 커뮤니케이션을 힘들어하고 시키는 업무만 컴퓨터 앞에 앉아 하는 해결하는 것을 편하게 생각한다.
하지만 더 좋은 개발자가 되기 위해서는 커뮤니케이션 능력은 필수적이다.아무리 개발을 잘하더라도 내가 개발한 내용에 대해 잘얘기할 수 없다면 
내가 100을 해놓고도 30밖에 못한것으로 다른 사람들에게 비춰 질 수 있다.
이렇게 되면 내 노력에 비해 성과를 인정받지 못하게 되고 그러한 경험들이 쌓이다보면 자존감이 떨어지고 개발에 대한 흥미를 잃을 수 있다.그렇기 때문에 누군가와 커뮤니케이션을 하게 될 기회가 생기거나 회의에 참석하게 될 경우 그냥 생각나는 대로 말을 하기 보다는 어느 정도 할 얘기들을 정리해가서 횡설 수설하지 않고 논리정연하게 말하는 것이 필요하다.
이러한 노력이 뒷받침되어야 경력이 쌓여 나갔을 때 더 인정받는 개발자로 성장해 나갈 수 있다.
나는 처음 회사생활을 할 때 이러한 커뮤니케이션이 너무 약해 팀장님으로 부터 정말 많이 꾸중을 들었었다.
이 때의 경험들로 인해 누군가에게 내가 생각한 의도나 만든 기능에 대해 설명할 때 스스로 한 번 정리하고 이야기해보는 습관을 가지게 되었고 이러한 습관으로 인해 지금은 커뮤니케이션을 할 때 많이 편해지게 되었다.

세상에 쉬운 일이 단 하나도 없다.

 

 

[ 개발자 칼럼 ] 신입 개발자로 돌아간다면 하지 않을 것 3가지

내가 만약 개발자 신입으로 돌아간다면 하지 않을 것들 오늘은 내가 만약 개발자 신입으로 돌아간다면 하지 않을 것들 3가지에 대해 이야기 해보려고 한다. 나는 2014년 7월에 NHN에서 웹개자로 처

brocess.tistory.com

 

반응형
반응형

내가 만약 개발자 신입으로 돌아간다면 하지 않을 것들

오늘은 내가 만약 개발자 신입으로 돌아간다면 하지 않을 것들 3가지에 대해 이야기 해보려고 한다.
나는 2014년 7월에 NHN에서 웹개자로 처음 일을 시작하였다.
현재 9년차 개발자로 곧 10년차를 눈앞에 두고 있다.

현재는 토스라는 금융 IT회사에서 데이터엔지니어로 일하고 있다. 이제막 개발자로 회사에 취업을 했거나 취업을 앞둔 사람이라면
이 글을 끝까지 본다면 내가 했던 실수를 토대로 많은 시간을 아낄 수 있을 것이다.

먼저 첫 번째는, 지식의 습득을 책으로만 하지 않는 것이다.
책을 읽고 학습하는 것은 너무나도 훌륭하다. 하지만 개발자라는 특성상 무턱대고 책만 읽으며 학습한다면
온전히 그 지식을 나의 것으로 만들 수 없다.
가장 좋은 것은 그 책에 나오는 예제들이나 내용들을 직접 타이핑 해본다거나 프로그램을 설치하고 실행해보면서
직접 해보는 것이다. 같은 책을 두 세번 이상 읽는 것 보다 한 번을 읽더라도 직접 실습을 진행해가면서 한다면
훨씬 빠르게 지식을 자신의 걸로 만들 수 있을 것이다.

두 번 째는, 지금 당장 필요하지 않은 기술에 대해서 많은 시간을 들여 공부하는 것이다.
지금 내가 웹개발자로 일을 하고 있는데 굳이 현재 실무에서 필요하지 않은 데이터 분석에 대해 공부하는 것은
어떻게 보면 효율적인 학습방법은 아니다.

신입으로서 가장 빠르게 실력을 향상시켜 나갈 수 있고 회사에서도 인정을 받을 수 있는 방법은
지금 당장 실무에 적용할 수 있는 기술들에 대해 학습하고 적용해 보는 것이다.
'언젠가 이런 기술을 사용할거야' 라고 하며 지금 당장 필요하지 않은 기술에 대해 많은 시간을 학습하는 것 만큼 비효율적인 것은 없다. 지금 현업에서 사용하고 있는 기술이나 언어에 대해 학습하고 현재 하고 있는 업무를 더 잘하기 위해 집중할 필요가 있다.
그 이후에 관심 분야로 조금씩 기술 분야를 넓혀 나가도 늦지 않다.

세 번 째는, 해보지 않은 일에 대해 막연히 큰 두려움을 갖는 것이다.
9년 이상 개발자로 일해 오면서 가장 크게 성장해왔던 시기는 내가 해보지 않았거나 어렵다고 생각하는 기능이나 프로젝트를 맡게 되었을 때이다. 사람은 본인이 생각하는 것 보다 그 이상의 능력을 가지고 있다.
이러한 능력이 발휘 될 수 있게끔 되는 때가 내가 해보지 않은 문제에 부딪혔거나 어렵다고 느끼는 상황에 노출되었을 때이다.
신입의 입장에서는 그런 상황에 노출되는게 굉장히 두렵겠지만 다르게 생각해보면 막상 그 업무를 맡아 큰 성과를 내지 못하더라도 큰 책임이 따르지 않고 거기에 크게 실망할 사람도 없어 도전하기 가장 좋은 시기이다.
그렇기에 내가 해보진 않았지만 만들어 보고 싶은 기능이 있거나 프로젝트에 기회가 생겼다면 과감히 도전해보라.
같이 프로젝트에 투입되는 선배들 혹은 기존 그 유사 기능을 만들었던 분들로 부터 노하우나 지식을 얻을 수 있음과 동시에
내 실력을 향상시켜줄 수 있는 큰 기회가 될 수 있다.

 

https://brocess.tistory.com/345

 

[ 개발자 칼럼 ] 개발자는 재능의 영역일까?

개발자는 재능의 영역일까? 개발자는 노력보다는 재능의 영역일까? 라는 주제로 내 생각을 적어보려고 한다. 개발자로 10년 가까이 일을 해오면서 정말 다양한 개발자들을 많이 만나왔다. 서울

brocess.tistory.com

 

반응형
반응형

1. 개발자도구 우측 상단의 톱니바퀴 누른다

 

2.  Restore defaults and reload 누른다 

반응형

'Programming' 카테고리의 다른 글

intellij 코딩 컨벤션 소스 전체 적용하기  (0) 2021.08.18
반응형

개발자는 재능의 영역일까?


개발자는 노력보다는 재능의 영역일까? 라는 주제로 내 생각을 적어보려고 한다.
개발자로 10년 가까이 일을 해오면서 정말 다양한 개발자들을 많이 만나왔다.

서울대학교, 카이스트, 포항공대 등 좋은 학교의 공대 출신 개발자 동료들 부터
일본어학과, 미디어 학과를 졸업 후 개발자로 취업한 동기들 까지
같은 개발자로 시작했지만 그 이전의 배경은 너무나도 천차만별이었다.

나는 컴퓨터 공학과를 전공했지만 개발자로 남의 돈을 받고 살아가기 전인 
컴퓨터공학부 시절까지 프로그래밍은 재능의 영역이라고 생각했다.
다시 말해, 지금의 나는 프로그래밍을 잘하는 것은 재능의 영역이 아니라고 생각한다.

물론, 재능이 있다면 훨씬 더 빠르게 실력있는 개발자로 성장할 수 있다.
여기서 말하는 재능이란, 새로운 기술을 빠르게 습득하는 능력(이해 능력), 어려운 알고리즘도 금방 이해하고
기존 알고리즘에 기반해 새로운 알고리즘을 구현해 내는 능력(수학적 사고 능력)정도 일 것 같다.

개발자로 일하는 동안 사실 나는 현업에서 컴퓨터공학부 시절 배왔던 그 흔한 알고리즘(BFS, DFS) 마저도
사용하고 있는 코드를 보거나 내가 적용해야 할 경우가 없었다.
물론 비슷한 개념의 이론을 적용해 개발한 적은 있지만 이러한 일도 그렇게 많지는 않았다.
즉, 대부분의 개발자들은 위에서 말한 재능에 의해 업무성과가 확연히 차이 날 만한 업무를 하고 있지 않다는 것이다.

문제는 대부분 이제 막 프로그래밍을 배우기 시작했거나 사회초년생들의 경우 막연히
나보다 월등히 잘하는 주변 사람들을 보며 ‘개발자는 재능있는 사람들이 하는 거구나’라고 생각하는 것이다.
나의 이야기이기도 하다.

개발자로 살아가기 위해 그렇게 재능이 필요하다고 생각하지 않는다.
재능보다는 노력이 더 중요하다고 생각한다.

지금 개발을 못하고 현업에서 업무 파악이 힘든 이유는 내가 그만큼 노력하지 않아서 일 확률이 99.99%이다.
내가 생각하기에 나보다 뛰어난 주변의 사람들은 프로그래밍을 잘하기 위해
새로운 프레임워크를 잘 사용하기 위해 나보다 훨씬 더 많은 시간을 투자했을 확률 또한 99.99%이다.

그렇다고 단순히 시간을 많이 투자하는 것만이 개발 실력을 높이는데 좋은 것은 아니다.
새로운 언어를 학습한다고 했을 때 10권의 책을 읽는 것보다 1권의 책을 읽고 실제 그 언어로
조그맣게라도 프로젝트를 해보는게 훨씬 더 개발 실력에 도움이 된다.

다시 말해, 개발을 더 잘하기 위한 훈련이 필요하다.
그 훈련은 단순히 책을 읽고 지식을 습득하는 것에서 벗어나 내가 학습한 지식들에 대해 
의구심을 가지고 계속해서 의도적으로 파헤쳐 나가는 것이다.
단순히 스프링 프레임워크를 통해 API를 만들어 보는 것에서 끝나는 것이 아니라
어떻게 스프링은 요청을 받아 API를 내가 원하는 컨트롤러에 전달하는지 스프링은 어떻게 해당 컨트롤러의 위치를 알고있는지 에 대한
물음을 끊임없이 제기하며 의도적으로 지식을 학습해 나가야 한다.

나는 비전공자로 시작했지만 지금은 너무 멋진 개발자로 성장해 있는 여러 개발자들을 보았다.
물론, 재능이 있었을 수도 있었지만 그 사람들이 얼마나 많은 노력했는지 알기에 단순 재능이라고 치부하고 싶지 않다.

정리하자면, 내 경험으로 미루어 보아 개발자는 재능의 영역이라기 보다는 노력의 영역이라고 생각한다.
다만, 대부분의 개발자가 그 노력의 영역 (=인내의시간)을 버티지 못하고 포기하게 되는 것 같다.
어떤 분야든 고수(잘하는 사람)가 되기 위해서는 인고의 시간이 필요하다는 걸 다시 한 번 상기했으면 좋겠다.

개발자로 살아가고 있는 이 글을 읽고 있는 분들 모두 남들과의 비교보다는
어제의 나보다 더 나아지기 위해 노력하며 행복한 개발자로서의 삶을 살아갔으면 한다.

절대 개발자는 재능의 영역이 아니다.

https://brocess.tistory.com/341

 

[ 개발자 칼럼 ] 롱런하기 위해 개발자에게 필요한 3가지

롱런하기 위해 개발자에게 필요한 3가지 개발자로서의 삶을 더 행복하고 건강하게 만들기 위해 필요한 3가지에 대해 적어봤다. 10년 가까이 개발자로 잘살아가게 만들어준 원동력이지 않나 싶다

brocess.tistory.com

 

 

반응형
반응형

개발자 신입 시절 성장에 도움이 됬던 요소들

신입으로 회사에 들어가서 일하게 되었을 때를 떠올려 보고 적은 글이다.
이 글을 읽고 이제 막 개발자로 사회 생활을 시작하는 분들께 조금이나마 도움이 되기를...

신입 시절 내가 성장하는데 도움이 되었던 3가지 이다.

1. 회의나 주변 대화에서 모르는 단어가 나왔을 때 기록해 놓고 학습
2. 호기심을 가지고 탐구하는 습관
3. 논리적으로 사고하고 이야기하려는 노력

첫 번째, 모르는 단어나 내용들을 기록해놓고 학습하는 것이다.
개발자 신입시절을 떠올려 보면 정말 하루하루가 도전의 연속이었다.
프로그래밍도 그렇게 잘하지 않았을 뿐더러 관련 지식도 많이 부족했었다.
그렇다 보니 주변 사람들이 이야기하는 내용들
회의에서 주고 받는 이야기들 중에 이해하기 힘든 내용이나 단어들로
온전히 회의에 집중하기가 쉽지 않았다.

그 당시를 생각해보면 추상적으로는 알고 있었지만 기본적인 것들도
제대로 이해하지 못하고 있는 것들이 너무나도 많았다.

예를 들면, API가 정확히 뭔지, GET방식 POST방식을 정확하게 어떻게 사용해야하는지,
쿠키, 세션, 트랜잭션 등 모르는 내용과 단어들의 천지였다.

물론, 신입으로 회사생활을 하고 있다면 대부분 겪는 일일 것이다.
이 때 내게 가장 도움이 됬던 것이 모르는 내용이나 단어들이 나오면
매순간 수첩이나 노트북에 기록해놓고 찾아보고 공부하는 것이었다.

그렇게 두 달 정도 지나니 회의를 들어가는 것이 두렵지 않아졌었다. 
신입 때는 당연히 모를 수 있지만 모르고 넘어 가게 되면 성장할 수 없다.
어떻게서든 몰랐던 내용들을 찾아보고 나의 것으로 만들어 나가자!


두 번째, 모든 일에 호기심을 가지고 탐구하는 습관
개발자로 일을 하다보면 수 많은 버그들을 마주하게 된다.
이 수많은 버그들을 해결해 나가면서 우리는 레벨업을 하게 된다.

여기서 중요한 점은 해당 버그를 단순히 해결했다고 거기서 멈춰버리면 안된다.
이 버그가 왜 발생했는지에 대해 철저하게 원인을 분석하고 확인한 원인에 대해 정확히 이해가 가지 않는다면 
원인이 되었던 문제점에 대해 파고들어 이해가 갈 때까지 분석해야 한다.

그렇게 했을 때 우리는 더 많이 성장할 수 있고 더 좋은 개발자가 될 수 있다.

그렇게 성장한 개발자는 해결해 보지 않은 새로운 문제들에 부딪혔을 때
이전의 경험들이 기반이 되어 훨씬 쉽게 문제를 해결해 나갈 수 있게 된다.

하지만 이런 습관은 하루 아침에 길러지지 않는다.
오히려 경력이 쌓여 나갈 수록 습관을 기르기가 쉽지 않다.
그렇기 때문에 신입시절 이러한 습관을 잘 길러놔야 한다.

세 번째, 논리적으로 사고하고 이야기하려는 노력이다.
개발자로 일을 하다보면 사실상 다른 사람들과 이야기를 하는 일이 거의 없다.
특히나 큰 대기업이나 SI의 경우는 개발 팀장들이 대부분 회의를 다니며
업무를 탑다운 형태로 전달하다 보니 더욱더 다른 사람들과 커뮤니케이션을 할 기회가 없다.

그렇기에 많은 개발자들이 커뮤니케이션을 힘들어하고
시키는 업무만 컴퓨터 앞에 앉아 하는 걸 편하게 생각한다.

하지만 더 좋은 개발자가 되기 위해서는 커뮤니케이션 능력은 필수적이다.

아무리 개발을 잘하더라도 내가 개발한 내용에 대해 잘얘기할 수 없다면
내가 100을 해놓고도 30밖에 못한것으로 다른 사람들에게 비춰 질 수 있다.

이렇게 되면 내 노력에 비해 성과를 인정받지 못하게 되고
그러한 경험들이 쌓이다보면 자존감이 떨어지고 개발에 대한 흥미를 잃을 수 있다.

그렇기 때문에 누군가와 커뮤니케이션을 하게 될 기회가 생기거나
회의에 참석하게 될 경우 그냥 생각나는 대로 말을 하기 보다는 어느 정도
할 얘기들을 정리해가서 횡설 수설하지 않고 논리정연하게 말하는 것이 필요하다.

이러한 노력이 뒷받침되어야 경력이 쌓여 나갔을 때
더 인정받는 개발자로 성장해 나갈 수 있다.

나는 처음 회사생활을 할 때 이러한 커뮤니케이션이 너무 약해 팀장님으로 부터 정말 많이 꾸중을 들었었다. 
이 때의 경험들로 인해 누군가에게 내가 생각한 의도나 만든 기능에 대해 설명할 때 
스스로 한 번 정리하고 이야기해보는 습관을 가지게 되었고
이러한 습관으로 인해 지금은 커뮤니케이션을 할 때 훨씬 수월하게 잘 할 수 있게 되었다.

세상에 쉬운 일이 단 하나도 없다. 다들 화이팅!!!

https://brocess.tistory.com/342

 

[ 개발자 칼럼 ] 개발자에게 필요한 3가지

개발자로 살아가기 위한 필수 조건 3가지 개발자로서의 삶을 더 행복하고 건강하게 만들기 위해 필요한 3가지에 대해 적어봤다. 10년 가까이 개발자로 잘살아가게 만들어준 원동력이지 않나 싶

brocess.tistory.com

 

반응형

+ Recent posts