개발자로 성장하기
개발자 성장 #10 우분투!
우분투(Ubuntu)를 아는가? 아마도 리눅스 운영체제 배포판이 제일 먼저 떠오를 텐데 지금 말하고 싶은 것은 운영체제가 아니라 이 우분투의 뜻이다. 우분투는 아프리카에서 가장 널리 쓰이는 말 중 하나인 반투어에서 유래된 말인데, 그 의미가 참 좋다. "우분투! 당신이 있으니 제가 있습니다" '당신이 있으니 제가 있습니다!'라는 뜻을 가진 우분투를 조금 더 들여다보면, 보다 다양한 의미를 만나게 된다. 우분투는 인간은 혼자서는 살아갈 수 없는 존재라는 것을 강조하거나, 마음을 열고 다른 사람을 기꺼이 도우며 다른 사람의 생각을 인정할 줄 아는 정신을 추구한다. 개발자도 이 우분투 정신이 필요하다. 동료를 믿고 의지하고 인정할 때 우리는 건강하게 성장할 수 있다. 개발은 거의 대부분이 팀플레이다. 작은 팀..
개발자 성장 #9 비참해지거나 교만해지거나
개발자로서 첫 직장 생활을 정말 좋은 곳에서 시작했다. 훌륭한 개발자분들이 많았기 때문이다. 그에 비해 나는 너무 부족한 것 같았다. 물론 신입으로 시작했기 때문에 아무것도 모르는 것이 당연하지만, 회의에 들어가면 분명 한국인들끼리 한국말로 대화하는데 그 내용을 따라갈 수가 없었다. 기술적인 용어든 서비스 도메인 용어든 내가 아는 것이 너무 없었고 어떤 논리로 대화를 하는지 이해하기 어려웠다. 남들은 다 잘하는데 나만 못하는 것 같았다. 마음에 여유는 점점 사라졌고 안 그래도 낯선 환경과 기술은 더욱 어렵게만 느껴졌다. 그렇게 나는 쭈구리가 되어갔다. 열등감이 폭발했고 자존감이 바닥을 쳤다. 비참했다. 조금만 막혀도 낙심이 되고 내 길이 아닌가 싶었다. 이런 상황 속에서 제대로 지식을 소화해낼 리가 없었..
개발자 성장 #8 헉! 나도 모르게 그만..
개발자에게 삽질은 숙명과도 같다. 새로운 기술을 쓰다가 막혔을 때, 개발했는데 예상대로 동작하지 않을 때, 우리는 끊임없이 삽질을 하게 된다. 이번 편은 삽질의 시간을 줄일 수 있는 팁을 얘기해 보려 한다. 삽질이 성장과 무슨 상관이냐고 할 수 있겠지만 생각보다 상관이 있다. 일단 삽질 시간을 줄이게 되면 절약된 시간만큼 내가 더 빠르게 성장할 수 있다. 또한 삽질 시간을 단축시키기 위해 차근차근 문제에 접근하다 보면 점점 논리적으로 사고하는 능력이 자라나서 문제 해결을 잘하는 개발자로 성장할 수 있다. 삽질을 통해 배우는 것이 있기 때문에 성장의 자양분이 되기도 한다. 삽질의 원인은 다양하다. 개인 차가 있겠지만 내 경우엔 나도 모르게 잘못된 가정을 하고 문제를 해결하려고 했기 때문에 삽질했던 경우가 ..
개발자 성장 #7 왜???
어릴 때 친구들끼리 서로 놀리기 위해 가사를 바꿔서 생일 축하 노래를 부르곤 했었다. "왜 태어났니~~ 왜 태어났니~~ 얼굴도 못생긴 게 왜 태어났니~~~" 철없던 그 시절 노래로 얼굴 평가를 하며친구들끼리 놀리곤 했었는데, 가만히 곱씹어 보면 가사에 상당히 철학적인 질문이 있다. 우리는 왜 태어났는가? 기술은 왜 태어나는가? 인류의 기술은 불편함을 개선하고 편의를 제공하고 효율을 높이기 위해 지속적으로 발전해 왔다. 가령, 세탁기를 예로 들어보자. 손빨래가 너무 힘들고 시간도 오래 걸리니까 이런 불편함을 해결하기 위해 탄생한 것이 세탁기다. 배나 기차보다 더 빨리 먼 곳을 가고 싶어서 발명된 것이 비행기다. 대부분의 기술은 탄생하게 된 배경이나 이유가 있다. 프로그래밍 세계에서도 마찬가지다. 많은 I..
개발자 성장 #6 이게 최선입니까? 확실해요?
대학교 다닐 때 '시크릿가든'이라는 드라마가 있었다. 현빈과 하지원 주연의 판타지 멜로드라마였는데 거기서 현빈이 자주 하는 대사가 있었다. (친절하게 유튭 링크) "이게 최선입니까? 확실해요?" 김주원 (현빈) 비록 우리가 현빈은 아니지만, 성장하길 원한다면 같은 질문을 우리 스스로에게 해봐야 한다. 내가 짠 코드, 내가 설계한 구조, 내가 선택한 기술 스택,, 이게 최선입니까? 확실해요? 우리가 짠 코드, 잘 동작하니 더 이상 문제없는 걸까? 보통 IT 회사들이 개발자를 뽑기 위해 여러 과정을 거치는데 그중에 코딩 테스트도 있다. 그러다 보니 구직자 입장에서 취업 준비를 위해 코딩 테스트 사이트에서 사전에 알고리즘 문제를 풀곤 하는데, 일단 풀어서 테스트를 통과하기만 하면 거기서 더 개선해 볼 여지는 ..