평범한 초보개발자 분들에게 드리는 말
이글은 지극히 평범한, 일반적인 개발자들에게 드리는 말입니다.
전공에 코딩테스트 빡세게 해서, 대기업갈 정도의 실력자들 말고요.
비전공, 학원 출신, 전졸, 고졸 출신 등의 뭔가를 해야 하는데 잘 못하는 평범한 개발자들에게 해드리고 싶은 말입니다.
저도 평범한, 느린 개발자입니다. 제 신입시절 이야기 해보면, 왠지 꼰대가 왕년에 어쨌네 할것 같아서 짧게 정리해 보면,
당시 생각해보면 요즘과 비슷한 느낌인데 IMF직후 학원에서 붕어빵처럼 찍어내던 개발자들이 많았고,비전공자들도 취업때문에 IT에 많이 들어왔던 시기였습니다.
조금 전에 신입개발자분께 답글 달다가 왠지 그 분에게 미안한 마음이 들어서, 예전의 저를 생각해보니 초보시절, 인맥도 선배들도 없던 시절이라 무진장 방황을 많이 했었고, 시행착오도 엄청 했었는데, 정말 물어보고 싶어도 IT업계 선배들이 많지 않던 시절이었습니다.
각설하고, 제가 했던 시행착오를 생각해보면서 요즘 평범한 젊은 초보개발자들에게 드리고 싶은 말이 있습니다.
일단 평범한 개발자라고 전제를 까는 건, 학원, 비전공 출신들은 IT의 프로세스에 익숙하지 않다고 봐야 합니다. 혹자는 사수나 선임이 없어도 알아서 잘 할 수 있어야 한다고 하는 분들도 있지만, 이러려면 자존감이 강해서 혼자서도 잘처리하는 개발자나 전공을 해서, 어느정도 공부하는 법을 배워서 뭘 해야될지 감이 오는 사람들과 차이를 말하고 싶었습니다.
뭐 학교를 다니고 전공을 해도 못하시는 분들도 도움이 되었으면 합니다. 초보시절에 중요한 건, 일단은 돈도 중요하지만, 방향성인것 같습니다.돈은 열정페이를 하라는 말은 아닙니다. 내일 먹을 쌀도 없는데 또는 6개월 월급밀리고 회사다니란 말이 아닙니다.
어느정도 돈을 버는 것은 당연한데, 평범한-일반적인 개발자.남들보다 느린(?) 개발자라면 어떻게 해야할까라는 부분을 말해드리고 싶습니다.
1. 돈버는 것은 기본입니다.
@ 회사를 잘 골라야 하겠지만, 큰돈은 아니지만, 저축할 수 있어야 합니다.그래야 미래도, 생활이 됩니다.
@ 기본은 청약통장같은 것, 혹시 이직을 하려고 해도 쉬는 기간 때 생활비, 또는 어느정도 경력을 쌓았지만, 빡세게 공부를 해보겠다라면 그러한 비용등을 위해서 최소 1년정도는 꾸준하게 모으라고 말해주고 싶습니다.
2. 체계화된 개발방법을 알아야 합니다.
@ 업무분석하는 법
개발자들은 의외로 독해능력이 부족한 경우가 많습니다.저도 그러했고요.
문서보는 법,
메일 읽고 이해하는 법,
이해가 되는 부분과 되지 않는 부분 정리하기
고객의 요구사항, 요건정리, DB 테이블, 데이터 분석까지 일차적인 파악,
이후에 확실한 요건에 대해서 구체적인 회의를 해서 명확하게 하는 법 정도....
@ 무엇을 어떻게 할지 정리하는 법
개발을 해야 하는 데 범위 파악.
업무 담당자,현업이 누군지 파악.
내가 어느부분까지는 아는데 어느부분부터 모르겠다.
내가 결정할 수 있는 범위, 처리할 수 있는 영역을 아는 것,
업무를 진행하면서 개발에 관련되는 복기, 진행상황을 정리하는 법 까지...
@ 디버깅 하는 법 : 일차적으로 로그를 찍는법, 로그를 보는 법, 이클립스,인텔리제이 툴 사용법,
@ 테스트하는 법 : 기능기반의 단위 테스트, 시나리오 기반의 통합테스트 정도.
3. 대화하는 방법을 배워야 합니다.
- 경험이 필요하겠지만, 자존감이 중요합니다.
@ 생각을 정리하고 당당하게 말하는 습관,
@ 상대방을 존중하는 법(의외로 개발자들끼리 실력운운하면서 비교질 하는 경우가 많습니다.)
@ 이야기 들어주는 법(본인의 초보시절을 생각해보고, 다른사람의 고충을 이해하기, 업무적인 내용을 정확히 알때까지 물어보고 파악하는 습관- 흔히들 잘 모르면서 알았다고 허세부리는 경우가 종종 있습니다.모르는 것은 모르는 겁니다. 열심히 듣되, 모르는 부분은 용어부터 정확히 개념을 물어보고 파악하는 것 중요합니다.)
요약하자면, 젊은 초보개발자들에게는 필요한 부분은 당장의 페이도 중요하지만, 개발의 방향성이나 방법을 배우는 법이라고 봅니다. 그래서 좋은 사수, 선임, 업계의 좋은 선배가 필요하죠.
그래서 흔히들 사수가 있어서 좋다는 것은 선배들의 개발 방법,개발 방향성을 배우고, 시행착오를 최소화하는 부분이라고 생각합니다.
뭐 그렇다는 겁니다.ㅎㅎ