|
사람이 언어를 배우는데에 있어 꼭 필요한 4가지가 있다.
읽기, 듣기, 쓰기, 말하기.
초등학교부터 대학교때까지 쉬지 않고 갈고 닦는 이 네가지 연습은 언어 이외에도 살아가는데에 큰 영향을 미치게 되는데.. 나에겐 그 중 한곳이 바로 일터이다. 한동한 뜸했던 개발자 이야기의 주제로 이 4가지 요소와 밀접한 관련이 있는 "IT개발자에게 필요한 4가지 습관"을 적어본다.
코드 정독하기 편지나 글을 쓸때와 마찬가지로 개발자는 자신이 쓴 코드를 두세번 정독하는 습관이 필요하다. 논리적인 계산을 많이 필요로 하는 프로그래밍은 막상 코드를 써내려갈때 찾지 못했던 오류가 제3자의 입장에서 다시한번 읽어내려가며 이해하도록 노력할때 발견되는 경우가 종종 있다. 물론 코드를 쓰는 입장에선 한번 더 읽기보단 자신을 믿고 일단 작동을 해본 후 오류를 찾고 싶은 귀차니즘이 발동할때가 많겠지만, 논리적으로 문제가 있는 경우에는 왠만한 테스팅을 거치지 않고서는 오류를 찾아내기가 힘든 부분이 많다. 자신이 읽기 귀찮다면 팀원과 서로의 코드를 바꿔가면 읽어보는 것도 도움이 될 수 있다. 수학문제와 마찬가지로 자신이 쓴 풀이부분은 다시봐도 틀린 곳을 찾기가 힘들기 때문이다. 코드를 정독하는 것은 굳이 오류를 찾아내는 것 이외에도 개발자로서 코드에 대한 이해력을 높여줄 뿐만 아니라 좋은 코딩을 하기 위한 밑거름이 되기도 한다.
귀기울여 듣기 우선 기업에 속한 개발자는 대부분 코드를 쓰기전 수많은 요구사항을 수집, 정리하게 된다. 고객이나 요청자쪽에서 원하는 바를 제대로 이해하기 위해서는 그들의 말을 귀기울여 듣는 습관이 필요하다. IT기업이라면 그나마 낫겠지만 전혀 다른 업종의 IT부서에 속했다면 요청자가 사용하는 단어와 비즈니스의 흐름을 파악하는 일은 쉬운 일이 아니다. 조금이라도 많이 묻고 그들이 하는 대화를 집중해서 듣는 것이 중요하다. 요청자뿐만 아니라 함께 일하는 동료개발자와의 대화에서도 마찬가지이다. 작업을 분담할때나 함께 코드 작성시 서로를 제대로 이해하지 못해서 실수를 하거나 시간을 버리는 경우도 종종 있다. 어떤 직장이든 마찬가지겠지만, 단순히 듣는 것이 아닌 '경청'하는 자세가 개발자에게 꼭 필요하다.
종이에 그려보기 개발자에게 있어서 '쓰기'단계는 종이나 연습장에 자신이 구상하는 프로그래밍 로직의 순서나 객체들, 그리고 그 상관관계를 그리는 것이다. UML, Use Case Senario, Flow Chart와 같이 전문적인 문서를 만들어야 할 경우도 있겠지만, 코딩시에 자신이 쉽게 알아볼 수 있는 간단한 그림을 그린다면 효율성을 높여주고 실수를 줄이는데에 상당히 유용하다. 요청자나 다른 개발자와 대화할때도 마찬가지. IT개발의 특성상 글이나 말보다 그림을 그려가며 상대방을 이해시키기 쉬운 경우가 많다. 머리속으로 생각했을때는 쉬울 것 같지만 손으로 이것저것 그려본 경험이 없는 개발자라면 그림으로 표현해 내는 것도 상당히 어려운 일이 될 수 있다. 키보드에 손을 대기전에 연필을 잡는 습관을 들여보는 것도 좋을 것이다.
말로 설명하기 자신이 아는 것을 상대방에게 말로 설명해 이해시킬 수 있을때 비로소 그것에 대해 잘 아는 사람이라고 한다. 만약 자신이 개발한 코드를 말로 설명하기 힘들다면 그것은 코드자체가 필요이상으로 복잡하게 쓰여진 것이라 의심해 볼 수 있다. 그림으로 그리는 것과 마찬가지로 자신의 코드를 남에게 자주 설명하는 습관을 갖는다면 그 능력도 쉽게 발전시킬 수 있을 것이다. 개발자에 대한 가장 많은 선입견 중 하나는 '말주변'이 없다는 것이다. 물론 여기서 말하는 말주변이란 기술적인 것만을 포함하지는 않는다. 개발자가 개발에 관여하는 고객 및 비즈니스쪽 사람들과 능수능란하게 대화할 수 있을때 기술적으로 뛰어나기만한 개발자보다 인정받을 수 있는 것은 당연한 것이다.
아직 초보개발자인 나에게는 위에 말한 모든 것이 앞으로 풀어야할 숙제이다. 누군가 나에게 평생 개발자로만 살고 싶냐고 물어본다면 단호하게 '아니요'라고 말할 것이다. 좋은 개발자가 되는 일은 그 다음 원하는 일을 위해 꼭 필요한 것이기에 발전가능성을 인지하고 계속 노력할뿐이다. 지금하는 일도 잘하지 못한다면 물론 다음일도 마찬가지가 아닐까.
집중요망!
이 블로그의 정보가 유용하셨다면! - RSS 구독하기
|
|
너와 나의 이야기의 포스팅은! - 스크랩 금지입니다. 사용시 메일로 문의주세요.
|
|
댓글을 달아 주세요
와~ 유익한 강좌 잘 읽었습니다.
저는 말하기가 제일 부족한것 같습니다.
노력해야 겠습니다. ^ ^
전 아직도 영어가 짧아... 더 심각하답니다 ㅡ.ㅜ
귀 기울여 듣기와,말로 설명하기가 개발자로서는 상당히 부족한 부분이 아닐까 라고 생각이 됩니다.
개발자로서 말로 설명하기와, 사용자에게 말로 설명하기는 확연히 다르지만, 개발자로서 말로 설명하기만을 개발자들은 고집하기 때문이죠.
좋은글 잘 읽고 갑니다 ^^
잡솔 : 포스팅은 스크랩 금지에서 좀 아쉬움이 남네요. 개발자들의 고질적 문제랄까요, 정보의 공유라던가 노하우의 공개에 상당히 배타적인 경향이 있는건 신입개발자로서는 아쉬움이 많이 남더라구요.
구차니님 ^^ 스크랩금지는 말씀 안하시고 가져가시는 분들이 종종 계셔서 써두었답니다~
원하시면 가져가셔도 됩니당~^^;
코드를 정독하기...ㅋㅋ
이건 약간 어려운 것 같아요;;;
난해한 문자로 이루어진 코드를 보고 있으면 머리가 지끈지끈;;ㅠㅠㅋㅋ
그래서 저는 IT개발자랑은 안어울리다는 생각이 드네요 ㅎㅎ
ㅎㅎ 저도 아직까지 머리가 지끈...
타로카드가 저에겐 더 어려운 코드인듯^^
하는 일에 있어 생각하고 노력을 하시는 모습이 보기 좋습니다.
저에게는 전부 너무 어렵네요..(관련 분야는 아니지만...ㅠ.ㅠ)
특히 저는 쓰기가 어려워요..ㅠ.ㅠ
저도 전부다 어렵네요 ㅡ.ㅜ
노력해봐야겠죠 ^^ 감사합니다~!
말하기, 듣기, 읽기, 쓰기... 정말 기본에 충실해야하는군요..
교과서대로 해야겠어요 ㅎㅎ
코드 덜덜덜
전 수학적인 면에는 완전 빵점이라
막 계산식 풀고 하는 분들 보면 사람이 아닌거 같이 느껴져요
사람마다 취향 및 특기가 다르겠죠~^^
저는 요리 잘하는 사람들 보면 그렇답니다~
공감이 갑니다...
수학 공부 좀해야하는데..
쩝.... 열심히 공부하는데..개발자가 될 수 있을런지.ㅠ..ㅠ
열심히 하시면 분명 잘되실거예요~
화이팅~
저는 말로 설명하기가 잘 안되는것 같습니다..
말투가 약간은 투박하고 툭툭 던지는 스탈이라..
정리가 안되죠..
ㅎㅎ 글 쓰시는 것 보면 분명 말씀도 잘하실 것 같습니다~
마음에 담아두고 갑니다.^^
감사합니다~!
디자이너도 크게 다르지 않는것 같아요.
분야마다 작게는 조금씩 다르겠지만, 크게보면 위에 큰 제목들이
모두다 해당되네요. ^ ^
PT도 중요하고, 자신의 작품을 멀리서 보면서 여백이나 기타 오류점을 발견하고,
무언가 실수 하지 않았나 정독하듯 꼼꼼히 눈으로 보고 ^ ^
잘 읽고 갑니다!
그렇죠 ^^ 학생이나 직장인이나 누구에게나 적용되는 것 같아요~
전 생각은 나름대로 많이 하는데 표현력이 부족해서 글로 정리하거나 남에게 의사전달이 잘 안되는 거 같습니다. ^^; 노력해야 하는데...
그래도 블로그가 있자나요 ^^연습장~!
IT 뿐만 아니라 뭐든 위의 단계를 밟아서 한다면 신중하고 실수하지 않을까 합니다.
차근차근이 중요한것 같아요~!
많은사람들이 잘하고 있다고 생각하지만 가장 못하는게 남의 말을 귀기울여 듣기인 것 같아요..어떤 커뮤니케이션이든 가장 중요한 걸 자기 주장하기로 아는 사람들이 많아서 때로는 힘들때도 있습니다...
맞아요~ 정말 경청하기란 너무 힘든것같아요..
내가 할말만 머리에 맴돌고 ㅡ.ㅡ
지금은 IT와는 젼혀 상관없는 직장에 다니고 있지만 한때나마 웹 개발을 조금 했을때.를 생각해보면 모두 맞는 말씀인것 같습니다. 맞는 말씀이면서도 참 어려운 부분이기도 하네요.
고난의 길이죠 ^^
정말 개발자들이 이렇게 생활하면 얼마나 좋을까! ^^
^^그러게요~ 노력해야죠~