Search

반응형

안녕하세요. 신기한 연구소입니다.

초보(신입) 개발자인데 코딩만 잘하면 되는 거 아닌가요? 

막상 프로젝트에 투입되니 잘하고 있는 건지도 모르겠어요.

입사 후 선배 개발자들이 저를 답답하게 봐요. 혼나기도 하고 잔소리도 엄청 들어요.

업무 회의에 들어가면 이해가 잘 안되기도 하고 상사가 업무 지시를 내려도 무슨 말인지 잘 모르겠어요.

혹시, 어렵게 신입(초보) 개발자로 취업했는데 이런 경우가 있지 않으신가요?

이런 경우는 반드시 알아야 하는 것도 있고 그래서 미리 준비를 해야 하는 것도 있답니다.

20년 넘게 프로젝트를 해왔고 그 경험을 바탕으로 개발자들이 어떤 것을 알아야 하는지 정리해 봤습니다.

프로 개발자가 되고 싶다면 꼼꼼히 읽어보고 꼭 실천하길 바랍니다.



비전공이었지만 개발자의 꿈을 안고 독학으로 시작해 국비 학원을 수료하고 수십여 통의 이력서를 보내 신입(초보) 개발자로 첫 발을 내 딛은 지가 벌써 20년 하고도 몇 년이 더 흘렀습니다.  개발자로 살아온 그 시간은 정말 재미도 있었고 어려움도 있었지만 잘 마무리가 되고 오류가 해결될 때는 개발자로서 적성에 맞다는 뿌듯함 같은 것이 있었습니다.

그 많은 프로젝트를 하면서 수많은 사람들을 만났고 그 다양함에 즐겁기도 했고 짜증 나는  경우도 종종 있었답니다. 하지만 세상 어디에도 내 맘에 쏙 드는 사람들만 있는 곳은 없었답니다. 그 이유로 그만두거나 이직을 한다면 세상 어디에도 갈 곳이 없다는 의미인 것입니다.

모두가 겪는 이 난감한 상황을 책을 통해서 많이 극복하고 도움을 받았답니다. 개발 전공책이 아닌 다양한 책을 읽었는데 어떻게 책을 통해서 독서를 통해서 개발자로 잘 성장해 왔는지 그 이야기를 해보려고 합니다.

 

1. 개발자에게 가장 필요한 것은 독서, 책을 통해서 지혜를 얻다.

보통 개발자는 개발 관련 책을 많이 읽습니다. 물론 책을 읽지 않고 구글링 (요즘은 chatGPT)으로 궁금한 부분을 해결하는 코더들도 많습니다. 최신 트렌드나 기술에 뒤처지지 않기 위해 낮에 근무가 끝나면 저녁이나 주말에 관련 책을 구매해서 읽고 코딩하는 멋진 개발자들도 많습니다. 

사진: Unsplash 의 Matias North

하지만 개발자는 코딩만 하는 것은 아닙니다. 사실 프로그램을 만드는 것은 누군가 요청에 의해 돈을 받고 만들어 주는 것입니다. 즉, 요구사항도 확인해야 되고 회의도 자주 하는 등 소통 또한 중요하다는 의미입니다. 기술 위주로만 책을 읽고 기술력만 향상한다면 개발자로서 반쪽짜리라 할 수 있습니다. 

고객(현업)은 자신들이 편하게 일할 수 있는 프로그램이 필요합니다. 그래서 개발자에게 돈을 주고 프로그램을 만들어 달라고 요청합니다. 그런데 보통 고객은 프로그램에 대해 전문적으로 아는 경우가 드뭅니다. 이런 경우 개발자들이 전문 기술 위주로 설명을 한다면 고객은 잘 이해하지 못합니다. 그저 "어려운 건가? 잘 만들어 주겠지." 이 정도로 넘어가는 경우가 종종 있답니다. 하지만 이후 개발이 어느 정도 진행되면 서로 다른 생각을 하고 있다는 것을 알게 되고 그게 프로젝트의 발목을 잡게 됩니다.

또한, 전문 지식이 없는 고객의 경우 표현에 한계가 있기에 개발자에게 제대로 설명을 못하는 경우가 있습니다. 그로 인해 서로 말다툼이 일어나기도 하고 개발자는 고객이 무슨 말을 하는지 모르겠다면서 고객과의 대화를 기피하게 됩니다. 그리고 개발자는 본인 마음대로 대충 개발을 하는 경우가 발생하기도 합니다. 물론 테스트 기간에 고객은 이렇게 말합니다.

"이건 내가 원하는 프로그램이 아닌데요"

그때부터 요구사항, 회의록을 뒤져가며 서로 다툼이 발생하게 됩니다. 

이런 경우가 발생하지 않기 위해서는 개발자의 역할이 정말 중요합니다. 고객은 고객입니다. 고객이 없다면 개발자는 혼자 취미로 개발하는 것이기에 직업이 될 수 없겠지요? 앱이나 솔루션을 만들어 판매하더라도 고객이 있어야 합니다. 우리가 열심히 프로그램 공부를 하는 것은 직업적으로 성공도 하고 돈도 벌기 위해서니까요.

이런 문제를 해결하는 방법 중 가장 좋은 것이 독서입니다. 여기서 독서는 책을 읽는 것인데 책이 전문 개발 서적을 의미하는 것이 아닙니다. 물론 개발 방법론이나 알고리즘도 중요한 읽을거리지만 고객과의 소통을 위해서는 다른 책을 읽어야 합니다.

어떤 책을 읽어야 할까요?

다양한 책들을 읽어야 합니다. 예를 들어 볼까요?

우선 추천하는 분류는 마케팅 책입니다. 개발자가 마케팅 책을 왜 읽어야 할까요? 그 책에는 고객의 마음을 읽고 고객이 원하는 것을 알아내는데 최적화된 내용들이 있습니다. 고객의 마음을 얻는 것이 개발자에게 엄청 중요합니다.

고객의 정확한 요구를 알아낼 수 있고, 어려운 상황이 발생했을 때 효율적인 제안을 통해 도움을 받을 수도 있습니다. 또한 고객은 자기들의 어려움, 필요한 것을 해결해 줄 거라는 믿음을 갖게 되므로 이런 능력이 있는 개발자가 필요하게 되는 것입니다. 심지어 입사 권유를 하는 고객들도 있답니다. 반대로 이야기하면 기존에 개발자들 때문에 많이 힘들었던 고객들이라면 자신들을 이해해 주고 소통이 더 잘되는 개발자를 원하게 된다는 겁니다.

심리학 책도 추천합니다. 고객도 사람이고 개발자도 사람입니다. 심리학 책을 읽다 보면 고객들의 마음을 더 쉽게 이해할 수 있게 됩니다. 물론 나쁜 의도로 그들의 마음을 이용하면 안 됩니다. 심리학 책을 읽는다고 심리학자처럼 된다거나 최면을 걸 수 있는 것은 아닙니다. 심리학 책을 읽으면 내 마음도 정리가 되고 스트레스 해소에 도움이 되기도 합니다.  고객이 어떤 어려움이 있고 그들의 스트레스는 무엇인지 조금이나마 알 수 있게 되면서 그들에게 어떻게 도움을 줄 수 있을지 준비할 수 있는 능력을 키울 수 있습니다. 

보통 이렇게 고객들과 잘 지내고 칭찬받는 개발자들은 아마 독서를 많이 하고 있을 겁니다. 책을 통해서 여러분은 능력 있고 인기 있는 개발자로 성장할 수 있게 된다는 의미입니다.

독서의 소중함을 알았다면 빨리 책을 찾아보세요. 삼국지에서도 여러분은 개발자로의 삶에서 길을 찾을 수 있을 겁니다.

 

2. 개발자에게 시간 관리는 필수템이다.

개발자에게 시간은 정말 소중합니다. 물론 개발자뿐만 아니라 시간은 모두에게 소중합니다. 특히 시간 관리는 개발자라면 철저하게 관리해야 하는 템입니다.

사진: Unsplash 의 Kevin Ku

여러분들은 출퇴근 시간을 어떻게 보내고 있나요? 피곤함에 잠을 잘 수도 있고 무한 스크롤링하는 SNS나 숏 영상을 시청하기도 합니다. 

퇴근 후에는 지인과 한 잔의 술로 하루의 스트레스를 해소할 수도 있고 드라마나 영화를 보면서 저녁을 먹기도 합니다. 또는 늦은 시간까지 게임을 하기도 하겠지요.

주말이나 휴일 또한 밀린 잠을 잘 수도 있고 여기저기 놀러 가기도 하며 친구들과 술을 마시며 새벽까지 놀기도 합니다.

모든 개발자가 그러진 않겠지만 출퇴근 시간이나 사무실에서 개발자들의 이야기를 들으면 대부분 비슷한 방식으로 시간을 보냅니다. 

일전에 고속도로 휴게소 화장실에서 읽은 문구입니다. 이름이 기억나진 않지만 엄청 유명한 고령의 피아니스트 이야기였습니다. 그는 고령의 나이와 엄청난 피아노 실력이 있음에도 매일 아침 피아노를 친다고 합니다. 왜 그렇게 매일같이 열심히 피아노를 치는가? 이제 그 정도 실력이면 그렇게 안 해도 되지 않냐는 질문에 이렇게 대답했다고 합니다.

"나는 매일 아침 피아노를 칠 때마다 실력이 더 나아지고 있다는 것을 느낍니다"

우리도 매일 우리를 갈고닦아야 합니다. 우리는 직업인입니다. 개발자입니다. 

기술과 소통의 능력을 키우기 위해서는 시간을 잘 활용해서 우리 자신에게 투자해야 합니다. 

열심히 하려는 후배 개발자들을 만나면 이런 이야기를 해줍니다.

"고3 때처럼 열심히 해"

 

3. 개발자에게 관계는 성공적인 프로젝트 완수를 위해 필요하다.

공통 개발자에게 개발 요청을 한 적이 있습니다.

"이걸 내가 왜 하나요?"

사진: Unsplash 의 Priscilla Du Preez 🇨🇦

유지보수 사이트에서 몇 번 번복된 일을 요청한 적이 있었습니다.

"이랬다 저랬다 하지 말고 한 번에 정리해서 최종만 주세요"

일정이 급한 프로젝트에서 이런 경우도 있었습니다.

"주신 문서로 개발하기 어렵습니다"

"나는 개발 다 했고 문서까지 만들어 줬으니 알아서 하세요"

 

위 경우는 많은 개발자들이 경험했을 거라 생각됩니다. 또는 본인이 이로 인해 어려움을 겪었을 수도 있고 또는 본인이 주인공일수도 있을 겁니다.

해달라는 대로 해줬는데 못 알아듣는 건 실력문제 아닌가?라고 생각하는 개발자가 은근히 많습니다.

이렇게 해달라고 했는데 다시 바꿔 달라고? 내가 왜 그래야 하는데?라고 생각하는 개발자도 있습니다.

그런데 중요한 것인 이렇게 소통이 어렵거나 고집이 쎈 개발자들은 어느 순간 안 좋은 소문이 날 수도 있습니다. 

근무시간 내라면 몇 번의 변경이라도 해주는 것이 맞습니다. 요청한 사람도 확인하면서 오류를 발견했기에 다시 요청을 할 수밖에 없거든요. 이런 상황에서 짜증을 내면서 두세 번 안 하게 해달라고 하면 요청한 사람은 이후 어떤 생각을 갖게 될까요?

내가 해 줄 수 있는 일이라면 내가 직업인이고 프로라면 당연히 해주는 게 맞습니다. "내가 왜 해줘야 되나요?"라는 표현을 자주 사용하게 되면 어느 누구도 요청을 하지 않게 될 겁니다. 그렇게 되면 할 일이 없게 되겠지요?

나는 개발도 해줬고 문서까지 만들어줬는데 뭘 더 해줘야 하나요? 본인들의 실력이 부족해서 이해를 못 하는데 내가 더 자세히 설명해줘야 하는 건 아닌 거 같다.라는 경우도 봤습니다.

그런데 이렇게 생각해 보세요. 내가 열심히 요구에 맞게 만들어줬는데 그걸 이용해서 개발해야 하는 다른 개발자가 문서만으로는 이해가 안돼서 사용을 못한다면 그 프로그램은 안 만든 것만 못합니다. 

잘 만들어줬으면 다른 개발자들이 잘 사용할 수 있게 최대한 쉽고 예제를 만들어 줘야 합니다. 모든 개발자가 다 똑같지 않기 때문입니다. 

이런 부분들로 일정에 치명적인 문제를 만드는 개발자들이 있습니다. 결국 본인 명성에 먹칠을 하는 겁니다.

내가 만든 프로그램이라면 다른 개발자들이 쉽게 이용할 수 있게 하는 것도 개발자의 실력이고 능력입니다.

근무시간 내라면 몇 번이라도 변경해 줄 수 있다면 직업인으로서 당연한 의무라 생각합니다.이걸 내가 왜 해줘? 가 아니라 내가 도움을 줄 수 있다면 당연히 만들어 줘야지 라는 생각이 개발자의 능력이라고 생각합니다.모 대형 프로젝트에 갔는데 위 경우가 모두 발생하고 있었습니다. 고객이나 사업관리는 프로젝트가 오픈 못할까 봐 엄청 스트레스를 받고 있는 상황이었습니다. 왜 그런지 그 안을 들여다보니 다들 잘하고 있었지만 서로가 소통을 못하고 있었습니다. 그저 선 하나만 연결해 주면 마음을 열고 잘해주는 개발자들이었는데 그 역할을 담당한 개발 총괄은 그저 남 탓만 하고 있었습니다. 개발자들의 능력을 인정하고 정중하게 부탁을 하면 보통 다들 도와줍니다. 어려워하지 말고 책을 읽고 느낀 대로 대화를 시도해 보세요. 삭막한 세상에 살다 보니 마음을 닫고 사는 개발자들도 있습니다. 하지만 그들도 인정받고 부탁을 받는다면 기꺼이 손을 내밀어 도움을 줄 겁니다.

 

4. 정리

신규(초급) 개발자에서 프로 개발자가 되고 싶다면,당연 개발 공부는 꾸준히 해야 하고 사람에 관한 공부를 위해 독서는 필수라 할 수 있습니다.그러기 위해서 시간 관리는 철저히 해야 한다고 다시 강조해 봅니다.

 

반응형
반응형

안녕하세요. 신기한 연구소입니다.

요즘 자기 계발 관련 서적을 많이 읽고 있는데 그중 행동(실천)의 중요성에 대해 강조하는 책을 읽었습니다. 행동하지 않으면 결국 책을 읽어도 무의미한 시간 낭비라는 이야기입니다.

책을 읽는 것은 정말 중요합니다. 생각의 폭이 넓어지고 깊어지며 기본적은 지식이 풍부해집니다. 게다가 저자와의 대화라고 할 수 있을 만큼 책을 통해 다른 세상을 경험하게 됩니다. 그런데 책을 많이 읽으면 성공의 기회가 올 수 있다고 다들 이야기합니다. 테슬라 CEO 일론 머스크는 자신의 성장과 성공에는 책(독서)과 부모님이라고 이야기했고 스티브 잡스, 워런버핏, 빌게이츠 그리고 성공한 수많은 사람들이 공통적으로 이야기하는 것이 바로 독서입니다. 그래서 독서는 중요합니다. 

단순히 뿜어져 나오는 스마트 기기의 영상은 그저 우리 머릿속으로 스쳐 지나가는 시간 킬러이며 너무 많으 정보를 짧은 시간에 접하기에 무엇이 진실인지 그게 어떤 것인지 생각할 겨를도 없이 새로운 정보가 우리 머리를 파고듭니다. 하지만 독서는 한 장 한 장 한 글자씩 꼼꼼히 읽으면서 내용을 이해하고 잠깐 멈춰서 깊이 생각할 수 있는 장점이 있습니다. 어떤 책은 속독을 강조합니다. 가끔 아는 내용이 나오면 속독을 하지만 보통은 정독을 하고 있습니다.

그런데 이렇게 책을 꼼꼼히 읽어도 실천하지 않는다면 독서가 자칫 시간 낭비가 될 수도 있습니다. 그래서 책을 읽을 때는 그 책에 나오는 방향을 내 스타일로 정리하고 실천을 목표로 삼아야 합니다. 그러기 위해서는 책을 소설처럼 한번 읽는 것이 아니라 최소 3-5번은 읽어야 합니다. 우선 목표에 맞는 책인지 1 회독을 하면서 중요 부분을 표시하는 것이 필요합니다. 그다음 중요 부분을 반복해서 다시 정리하며 어떻게 실천할 것인지 메모를 하는 것이 필요해 보였습니다. 지금까지 수년간 다양한 책을 읽으면서 과연 저자들도 본인들이 쓴 책 내용대로 실천하고 살고 있을까?라는 의문도 들었습니다. 어떤 책에서는 이론만 책으로 쓸 뿐 저자들이 사실 그렇게 실천하지 않는 경우도 종종 있다고 하더군요. 그렇다 해도 그 내용은 좋습니다. 그냥 좋다고 끝내면 안 되겠지요.

올해부터는 실천을 목표로 삼았습니다. 그동안 많은 책을 읽어왔기에 이제 어떤 책을 다시 읽고 어떤 책을 걸러내야 할지 어느 정도 감을 잡았습니다. 우선 좋아하는 책을 읽을 겁니다. 자기 계발서도 너무 많습니다. 그중 괜찮았던 책을 정하고 책장에 넣고 반복적으로 읽고 실천 계획을 세울 겁니다. 그리고 프로그래밍에 관한 책을 몇 권 정해서 깊이 있게 공부하고 해당 사이트를 방문해서 내용을 추출하고 책자화 할 목표를 세웠습니다.  영어 공부에 관심이 많기에 영어에 관해 좀 더 집중하고 깊이 있게 정리해서 우리 친구들이 쉽게 이해할 수 있도록 다시 재 포스팅을 목표로 삼았습니다. 마지막으로 투자자로서 정말 중요한 기업 분석과 실제 투자를 위해 자료를 수집하고 분석하고 나름 투자 철학을 정립할 계획을 세웠습니다. 장기 투자가로 괜찮은 수익을 내긴 하지만 장기간 정말 거의 거래를 하지 않은 게으른 투자자이기도 합니다. 

무엇을 하든지 우선 강한 열정과 확실한 목표가 필요합니다. 그리고 기초부터 튼튼하게 다지고 한 땀 한땀 반복하며 나만의 정리를 해야 합니다. 그리고 실천합니다. 실천하기 어려운 이유 중 하나가 완벽이더군요. 완벽하지 않다는 그 생각이 실천, 행동의 발목을 잡게 됩니다. 그리고 실패의 두려움도 한몫하고 있더군요. 이제는 목표가 정해지만 완벽함을 기다리지 않고 도전할 것입니다. 기회는 완벽함에서 오는 것이 아니라 목표를 잡고 꾸준히 반복적으로 도전하면서 잡게 되는 거라 생각합니다. 완벽함을 기다리다간 어떤 기회도 잡을 수 없을 테니깐요. 에디슨의 전구 발명의 일화는 유명합니다. 다양한 재료를 사용해서 엄청난 (천 번이라고 들었습니다.) 도전과 시도로 실험을 했고 결국 전구를 발명하게 됩니다. 필라멘트 재료에 대한 완벽한 공부가 되기 전까지 기다렸다면 전구 발명은 일어나지 않았을 겁니다. 비행기를 발명한 라이트 형제도 마찬가지였고요.

목표가 확실하면 도전합니다. 그 도전에서 우리는 무엇을 공부하고 연구해야 하는지 알게 됩니다. 그러면서 완벽한 목표에 접근하게 되거든요. 결국 인내와 시간은 필수라는 이야기입니다. 가만히 앉아서 머릿속으로만 생각하고 있다면 어떤 것도 만들어지는 것도 없고 어느 누구도 그 사실을 알지 못합니다.

어리석게도 그런 기회가 있었음에도 머리로만 정리한 적이 꽤 많았습니다. 지금 생각하면 정말 아까운 시간이기도 했지만 중요한 건 책을 읽었다는 그 자체도 실천의 하나라 생각하기로 했습니다. 하지만 이제는 즐거운 인생을 위해서 제대로 된 실천을 해야겠지요.

머릿속으로 맴도는 그 계획. 완벽함을 기다리는 그 계획. 시작하기 전 두려움 때문에 기다리는 그 계획.

그저 머릿속에 존재하는 나만 잠깐 아는 계획일 뿐입니다. 맴도는 계획을 우선 시작하세요. 완벽함을 기다리지 말고 완벽해질 때까지 실행하세요. 두려움을 기쁨과 성취감으로 바꿀 수 있도록 한 발 내딛으세요.

결국 실천하는 자만이 기회를 가질 수 있습니다. 이제 그만 후회하고 실패한 기억을 발판 삼에 열심히 달려보겠습니다.

새로운 꿈을 위해 이제는 한 땀 한땀 시간과 노력에 열정까지 투자하겠습니다.

즐거운 삶을 위해서..

반응형