반응형

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

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

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

그렇게 시작된 개발자로서 회사생활이다보니 너무나도 부족한 나를 마주하게 되었다.
회의 하나를 들어가도 “세션, 쿠키, 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

 

반응형
반응형

개발자 2년차 어느 날의 일기 (리더의 자질)

개발자로 일한지 막 1년이 지나 2년차로 접어 들 때쯤 우리팀은 회사의 조직개편으로 인해 새로운 랩으로 이동하게 되었고 
해당 랩에서는 보통 한 달에 한 번 랩조직원들끼리 TALK DAY라는 세미나를 열어
팀에서 하고 있는 일이나 기술들에 대해서 이야기나누는 시간을 가지고 있었다.

우리팀은 랩에 새로 들어왔기에 팀장님께서 팀소개하는 세션을 가지게 되었고
이번 글은 그 발표를 듣고 난 후 그 날 쓴 일기로 2015년 다이어리를 되돌아보도 발견하였다.

그 날은 2015.11.05 목요일이었다. (그 날의 일기)
오늘은 랩을 옮긴 이후 첫 랩 TALK DAY가 있는 날이다.
팀장님께서 우리팀을 소개하는 날이기도 했다.
이 날 팀장님의 발표를 보며 느낀 것이 참 많다.
일단 행사가 크지는 않았지만 처음 보는 식구들 앞에서 팀원들과 팀에 대해 소개하는 자리였고 분위기는 나름 진지했다.
따라서 어느 정도 준비를 해서 발표 하실 것이라고 생각 했지만 실제로는 그렇지 못하셨다.

준비가 안 되어 있으니 제대로 팀에 대해 설명도 못하시고 팀원들 각각을 소개 하실 때도 난 솔직히 듣기 불편했다.
실제로 팀원인 당사자들이 밝히기 꺼려하는 내용들을 내뱉으셨다.
나이, 군면제, 말안듣는 놈 등..
난 그 얘기들을 들으면서 내가 존경하고 믿고 따르고 싶어하는 리더가 맞는지 다시 한 번 생각해보게 되었다.
그 중에 나는 ‘말을 안듣는 놈’이라고 소개하셨다.

실제로 나는 살아보며 단 한번도 부모님에게 조차 들어본 적이 없기도 하지만 내가 그렇게 ‘말을 안 듣나’라는 생각과 함께
내 1년간의 회사생활을 돌아 보게 되었던 것 같다.

설령 내가 말을 몇 번 안들은 적이 있었다 해도 팀장이 팀원을 소개하는 자리에서 나였다면 내뱉지 않았을 것이다.
내가 가진 장점이 그렇게도 없었던가? 그렇게 팀원들에 대해 많이 생각이 없으신건가?

굳이 연애한지 1주일 만에 결혼을 한다는 얘기를 해야하는가? (다른 팀원)
굳이 군대 안갔다 온 이야기를 해야 하는가? (다른 팀원)

진정한 리더라 함은 아무리 마음에 안드는 부서원이 있더라도 공식석상에서는 오히려 단점보다는
장점을 말해주는 것이 리더의 입장에서도 듣는 팀원의 입장에서 기분도, 주위의 시선도 달라지지 않았을까?

공식적인 석상에서 저렇게 말하는 거면 사석에서는 어떤 얘기들을 하는 것일까?

정말 팀장님으로 부터 여러 가지를 배운다.
좋은 점에서 부터 나쁜점에 이르기까지.
좋은 점은 잘 배우고 나쁜점 또한 잘 기억해 두었다가
나중에 내가 저정도 위치에 섰을 시에
그런 사람이 되지 말자!

https://brocess.tistory.com/341

 

개발자 에세이 7. 내가 꾸준할 수 있었던 이유

너무 잘하려고 하는 마음은 독이 되기도 한다 2015년 2월 개발자로 일을 시작한지 1년도 채 안되던 그 때에 나는 블로그라는 걸 시작하게 된다. 사실 블로그를 하라는 말을 지겹게도 많이 들었지

brocess.tistory.com

 

반응형
반응형

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

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

1.  난 자존심이 없다. 자존심이 밥먹여 주지 않는다.
2. 사람은 다 실수를 한다. 자신의 실수를 빠르게 받아드려라
3. 추측하지말고 직접 확인하라


첫 번째, 자존심을 버려라.
자존심이 결코 밥먹여 주지 않는다. 내가 자존심을 피워야 할 때가 생각보다 많지 않다.
오히려 자존심을 부렸을 때 일은 더 힘들어지고 마음은 더 괴로워져만 갔다.
자존심을 버려야 한다. 그렇지 않으면 IT업계에서 오랫동안 행복하게 일하기가 쉽지 않을 것이다.
이유는 너무나도 빨리 변해가는 업계의 상황속에서 내가 알고있던 기술과 지식의 생명력은 갈 수록 짧아질 것이기 때문이다.

IT 업계는 대학생 때 혹은 취업하고 2~3년 동안에 습득한 지식과 기술로는 계속해서 살아남기가 무척이나 힘들다.
나는 처음 취업해 사용했던 언어인 JAVA, JQUERY, JAVASCRIPT, JSP 등을 현재 현업에서는 전혀 사용하지 않고 있다.
내가 처음 취업해 웹개발하던 시절만 해도 대부분은 JSP, JQUERY 혹은 PHP로 이루어진 웹서비스들이 대부분이었다. 
하지만 지금은 주로 REACT, VUE, ANGULAR, NodeJs 등을 통해 이루어진다.
서버에서는 여전히 JAVA를 쓰는 경우도 많다. 물론 버전업이 많이 되면서 이전과는 많이 다른 언어가 되었다.

나의 경우는 웹개발을 하다가 데이터엔지니어로 업무를 전향하면서 그리고 회사를 이직해 오면서
해당 직무와 부서에서 주로 사용하게 되는 언어에 적응해야만 했다.
그렇게 JAVA보다는 Kotlin을 많이 사용하게 되었고 그외는 Python, Spark, Hadoop, Hive/Impala 등 다양한 프레임워크와 라이브러리들을 학습해야만 했다.
이렇게 IT는 계속해서 새로운 기술들이 나오고 기존 사용 하던 언어들도 버전업이 되면서 아예 다른 언어처럼 느껴지는 상황이 연출되다보니 내가 알고 있는 지식이 계속 유용할거라는 확실을 할 수가 없다.
다시 말해, 새로운 언어나 프레임워크 등의 사용법과 실력은 오히려 2~3년 차의 신입개발자들이 훨씬 좋을 수 있다.
이러한 상황에서 자존심은 사치에 가깝다고 생각한다.
오히려 어줍짢은 자존심을 지킨다고, 경력이 낮다는 이유만으로 내주장을 굽히지 않거나 말을 들으려 하지 않는다면 외로워질 수 있다.
또한 이러한 자존심으로 인해 주변 사람들에게 인정받지 못할 확률이 크다.
자존심은 버리고 항상 낮은 자세로 배우려는 자세를 유지해야 한다.

두 번째, 자신의 실수를 빠르게 받아드려라
개발을 하다 보면 예상치 못한 부분에서 버그가 발생하게 된다.
이러한 경우 주요 원인은 ‘내가 만든 코드’인 경우가 대부분이다.
이러한 상황에서 빠르게 나의 실수를 받아드리고 문제를 해결하는 것이 중요하다.
어줍짢은 핑계들을 대며 문제 상황을 회피하려는 모습은 경력이 높은 개발자일 수록 그 추잡함이 더 해 간다.
빠르게 인정하고 다음부터 동일한 실수를 반복하지 않으면 된다.
깨끗하게 인정하고 늠름하게 문제를 해결해 낼 수 있는 사람이 되자.
내 실수에 대해 책임질 줄 알고 같은 실수는 최대한 되풀이 하지 않도록 노력하자.

세 번째, 추측하지말고 사실에 기반하여 이야기하라
개발자로 일을하다보면 굉장히 신기한? 전혀 발생하지 않을 것 같은 문제들을 종종 접하게 된다.
예를 들어, 정해진 배치시간이 아닌데 특정 배치가 돌아 데이터의 정합성이 맞지 않는다거나
아무 문제 없던 시스템의 힙메모리 사용량이 줄어들지 않고 지속적으로 높아져만 간다거나
정상적으로 잘 동작하던 기능이 오작동 하는 등의 상황이 발생한다.
이 때 가장 중요한 것은 원인을 찾아 해결하는 것이다.
그 외의 으레짐작하여 원인만 추측하며 떠드는 것을 나는 지양하는 편이다.
그시간에 왜 문제가 발생했는지 시스템 로그나 배포 이력을 빠르게 확인하는게 오히려 더 도움이 된다.
문제의 정확한 원인을 찾아내는 것은 개발자로 일을 해 나가는 동안 굉장히 중요한 부분 중 하나이다.
개발자는 항상 감에 의존하기보다는 정확한 데이터나 로그를 토대로 이야기 할 수 있어야 한다.

 

https://brocess.tistory.com/339

 

[ 개발자 칼럼 ] 개발자는 만능이 아니다.

개발자는 만능이 아니다. 아무리 경력이 많은 개발자라고 해도 모든 걸 다 잘할 수는 없다. 개발 분야는 정말 다양하게 분포되어 있다. 클라이언트(iOS, aos, 프론트엔드), 서버개발, 데이터엔지니

brocess.tistory.com

 

반응형

+ Recent posts