이상한 프로젝트의 시작
어느 날 친한 동생에게 연락이 왔다.
"형 AngularJS 스터디할래?"
"왜? 갑자기?"
"나 회사에서 AngularJS를 써야 할 것 같아..."
"음 그러면 사람 모아서 프로젝트를 할래?"
처음에는 일이 이렇게 커질 줄 몰랐다...
사람을 모았다. 그런데!!!
모두 대학생들이다. 그중에는 프로그래밍을 거의 처음 해보는 꽤 친구들도 있고, 비전공자도 있었다.
정말 걱정스러운 마음으로 "어떻게 진행을 해야 하지"라는 긴 고민을 했다. 고민 끝에 4주간의 서로 발표를 통해 스터디를 하면서 그 기간 내에 프로젝트 기획을 하고 그 이후에는 프로젝트를 진행하는 것으로 결정했다.
사실 걱정이 많이 되었다. 프로그래밍을 거의 처음 해보는 친구들이 꽤 있었기 때문에 이 친구들을 4주간 Server Language, Client Language 중 하나를 프로젝트에 사용할 정도의 실력을 만든다는 것은 사실상 불가능에 가깝기 때문이다.
그래도 이 친구들이 열정이 있었기 때문에 "최대한 좋은 것을 많이 전달해주고 싶다"는 마음이 컸다. 그래서 열심히 내가 아는 것을 전달해 주기 위해 노력해보기로 했다.
첫 번째로 내가 전달해주기로 생각한 것은 "Tool"이다. 나는 회사에 처음 입사했을 때 레드 마인이라는 이슈 트래커를 사용했다. 근데 그것에 익숙하지 않아서 어려움이 있었다. 아마 많은 학부생들이 처음 IT 회사에 입사했을 때 회사의 Tool을 사용해본 적이 없어서 고생을 조금씩 했을 것이다. 그리고 회사를 떠나서 개발자는 Tool과 친해야 한다고 생각한다. 그래서 그중 접근하기 쉬운 Trello를 이 친구들과 이슈 트래커로 사용하기로 결정했다.
Trello를 통해 공유한 내용
1. 공지사항 및 스터디 자료
2. 기획단계 의견
3. 개발 규칙 및 지켜야 할 사항
4. 개발 내용 To-do doing done 작성
사실 잘될지 모르겠다. 학부생에게 이러한 툴을 사용하는 것은 귀찮은 일이고 또 중요하게 못 느낄 수도 있기 때문이다.
두 번째는 "커뮤니케이션"이다. 나는 커뮤니케이션 능력이 개발자의 능력 중 절반 이상이라고 생각한다. 사실 나도 커뮤니케이션 능력이 아직 부족하다. 그래서 이건 나의 커뮤니케이션 능력도 키우는 것에도 도움이 될 것 같다. 서론이 길었는데 커뮤니케이션에서 중요한 것 중 하나는 의견 충돌, 그리고 갈등을 겪어보고 그것에 쿨해지는 것이다. 그래서 생각한 것은 "각자 준비한 내용을 발표할 때 악역이 되어야겠다."였다.
세 번째는 "기본기" 이다. 내가 기업의 개발면접관이라면 어떤개발자를 뽑고싶을까? 라는 생각을 해본적이 많다. 그럴때 제일 먼저 드는 생각이 기본기 이다. 왜냐면 개발 하면 할수록 드는 생각이 " 기본기가 정말 중요하구나 " 이다. 예를 들면 Spring은 할줄 아는데 Java를 못하는 개발자들이 꽤있다. (오해의 소지가 있는데 이 말은 순수 Java로만 웹개발을 하는 것을 말하는게 아니고, 단순히 Map을 list<Model> 형태로 바꾼다던지 하면 개발을 못하는 개발자도 봤기때문이다.)
마지막은 "협업 개발"이다. 학부생들이 가장 힘들어하는 것이 협업일 것이다. 그래서 최대한 협업하여 개발을 할 수 있게 도움을 주는 것이 좋겠다는 생각이다. 우선 모든 개발은 형상관리툴 (아마 깃을 쓰겠지만)을 이용해서 개발하고 서버는 모두 RestApi서버로 만들어서 서로 데이터를 주고받으면서 개발할 생각이다. 그러려면 프로젝트 설계를 잘해야겠지.. 에고에고
잘 될지는 모르겠다. 그냥 큰 욕심은 없고 이 친구들이 나중에 개발자가 되는 것에 도움이 조금만 되었으면 좋겠다.