프로그래머 적격성 본인 심사
by
Jul 17. 2017
평가자는 자신이 되어야 합니다. 자기 자신에게 평가를 해 봅시다. 그 이유는 수치로 환산하기 어려운 항목이 너무나 많기 때문입니다. 그러나 항목마다 0~100 점으로 스스로에게 점수를 주어 봅시다.
코딩능력
기초
코딩 능력은 중요 합니다. 특정 언어 C, C++, C#, JAVA, Node.js, PYTHON 등 언어의 기본 문법을 충분히
숙지하고 있는지가 관건입니다. 개인 점수를 매기기 힘들다면 OCJP, MCP 등 기초를 테스트하는 자격증을 찾아 도전하는 것이
필요합니다.
성실성
기업에서
보는 관점으로는 ‘인성평가’에 해당하는 항목입니다. 학교를 다닐 때 개근상을 탔거나, 대학교에서 신청한 수업은 성적과 무관하게
빠짐없이 참석했거나 하는 항목입니다. 1인 기업에서는 필요없는 항목일 수도 있습니다. 2인 이상부터는 소통을 원활히 해주는 수단이
됩니다. 사람들과 일을 하기에 소통에는 논리와 함께 감정이 섞여 있습니다. 아무리 실력이 좋아도 미운털이 박히면 소통이 원활하게
될 수가 없습니다. 물론, 성실한 사람을 싫어하는 부류도 있지만 평가 기준은 대체적으로 많은 사람들이 공통적으로 생각하는 것을
이야기 합니다.
디자인 패턴
패턴
영어회화 처럼 코드도 자주 쓰는 패턴이 있습니다. 수많은 패턴을 알 필요는 없지만 기본적으로 MVC, Singleton,
Facade, Factory, Observer, Composite, Decorator, Adapter 정도는 알아두면
좋습니다.영어로 치면 have + pp 같은 패턴들 입니다. 가끔 강의할 때 가끔 생각 안나는 경우가 있습니다. 프로그래머는
알아야 할 유명 회사와 함께 다음과 같이 외웁니다. MS(Microsoft), FF(Facebook), OC(Oracle),
DA(The Apple).
책임감
자신이 생각한 사명, 주어진 임무, 또는 수명업무를 받아들였을 때 마무리까지 하는 능력을 말합니다. 마무리도 안 된 상태에서 다른 사람에게 토스하거나 인수인계를 제대로 하지 않는 경우에는 낮은 점수를 주어야 합니다.
자료구조, 알고리즘
자료구조, 알고리즘은
계속 파다 보면 수학과 연결됩니다. 깊이 들어가면 결국 공부를 위해 다시 학교로 돌아가게 됩니다. 프로그래머 수준에서 알고리즘은
sort, prime number, R-B tree, graph, A*, Dijkstra 정도 입니다. 각 프로젝트에서 필요한
Optimal Algorithms을 스스로 만드는 연습을 하거나, ACM-ICPC, code jam, top coder,
javaone coding challenge 등 대회를 준비하는 것도 좋습니다.
친화력
먼저
다가가려고 노력하는 사람들이 있습니다. 아무리 멋진 프로그램이라도 실행하지 않으면 소용 없습니다. 아무리 멋진 알고리즘으로
무장된 프로그램도 Entry Point가 없다면 실행을 시킬 수 없습니다. 친화력은 소통의 물꼬를 트게 하는 역할의 사람들을
일컷습니다.
협동심
몸과 마음을 합하려는 마음입니다. 협동심은 프로그래밍 세계에서는 버그를 만났을 때 확인할 수 있습니다. 자기 파트가 아니라서 미루거나 중요한 업데이트가 있는데 매번 개인 사생활만 챙긴다면 협동심에 낮은 점수를 주어야 합니다.
쉘스크립트 작성 능력
프로그래머는
프로그래밍 언어란 툴을 이용하여 사람들에게 행복을 주는 프로그램을 만드는 사람입니다. 운영체제와 프레임웍을 공부하는 것보다
shell script를 이용하여 형체를 알아가는 과정이 필요합니다. 고급 프로그래머라면 해당 프레임웍의 Specification
Document만 봐도 됩니다. 소위 스펙만 보면 각이 나옵니다.
배려심
상대방을
아끼는 마음입니다. 보통 배려심에서 사랑으로 발전하여 사내 커플이 되는 경우를 많이 보았습니다. 배려심에는 ‘희생’이
들어갑니다. 중요한 프로젝트를 하고 있었는데 결혼 준비로 한창 바쁠 때 결혼에 집중하라며 물심 양면으로 도와주었던 동료가
있습니다. 프로젝트도 잘되고 결혼도 겨우 할 수 있었습니다. 일이 너무 바빠서 결혼할 기회를 수 년 간 놓쳤었기에 꼭 결혼을 하고
싶었습니다. 그 동료의 배려심으로 프로젝트를 성공으로 이끌 수 있었습니다.
포트폴리오
포트폴리오의
목적은 여러가지 입니다. 사업은 한다면 같이 일할 사람을 뽑을 때, 입사나 이직을 원한다면 스펙을 이야기할 때 필요합니다.
학위, 자격증, 대회 수상, 특허 등 여러가지가 있겠지만 가장 좋은 포트폴리오는 당연히 프로그램 입니다. 페이스북이나 구글
Apps, dropbox, youtube, netflix 등의 메인 개발자라면 훌륭한 포트폴리오 입니다. 만든 제품이 상용화
수준이 아니라면 평가자 입장에서 볼 때 항목이 세분화 됩니다. 창의성, 팀웍, 구현 난이도, 적절한 설계인지 아닌지, 제작비용 및
상업적 가치, 윤리성 및 환경, 시장성 등 평가 주체의 성격에 따라 항목이 다르며, 기준이 상이합니다. 기업의 입장에서는
사업성과 기술성이 가장 대표적인 항목임에는 의심의 여지가 없습니다.
각
항목을 100점으로 둔다면 1000점 만점 입니다. 스스로가 평가해 보고 부족한 부분에 와신상담하여 점수를 올리면 됩니다.
창업, 진학, 입사 시 필요한 공통 항목으로 보시면 됩니다. 사견을 드리면 프로그래머에게 가장 중요한 점은 배려심 입니다. 팀
구성원에서 가장 뛰어났던 개발자들은 항상 배려심이 뛰어났습니다. 그리고 대부분 프로그래머가 아닌 다른 길을 선택했습니다. 마케팅,
영업, 본사 staff 등 프로그래머의 길을 걷지 않았습니다. 개인의 것만 챙기는 것이 아니라 팀 전체를 생각하는 사람이 소수만
있더라도 팀은 항상 성공합니다. 경험상 평가 기준이 제대로 된 경우는 없었습니다. 단, 회사 대표와 같이 코딩하거나 경영 일선
직책에 있는 사람들과 일할 때는 항상 주요 평가 기준이 됩니다. 개인의 성공보다 팀의 성공이 곧 자신의 소유한 객체의 성공이기
때문입니다.
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.