자기가 실력이 있어야 합니다. 처음 컴퓨터를 접하는 사람이 있다고 가정했을 때, 워드 프로세스를 하려고 사서 워드 매뉴얼만 공부한 사람이 있습니다. 워드를 먼저 공부하면 당장 일을 시작할 수 있습니다.
반면에 운영체제를 먼저 공부한 사람이 있습니다. 이 사람은 당장은 문서 작업하는 데 시간이 많이 걸립니다. 하지만 나중에 두 사람 다 문서 작업을 할 실력이 됐을 때, 파일 작업하다가 에러가 나면 첫 번째 사람은 해결할 능력이 없습니다. 다음에 다른 문제가 생겨도 해결할 능력이 없습니다. 반면 운영체제를 사용해본 사람은 혼자서 해결을 할 수 있고 다른 분야 공부도 보다 수월히 할 수 있게 됩니다.
자바 공부하시는 분들 중에 C 기반이 돼 있는 사람이 자바를 더 잘 할 수 있습니다. 세계적으로 C 프로그래머들을 살펴보면 백그라운드가 어셈블리를 했다는 것입니다. 어셈블리를 알면 C 할 때 어떻게 컴파일해서 바이너리되는 지를 생각합니다. 가장 효율적으로 빠르고 프로그래밍을 하게 되는 것이죠.
전문성을 기를 때도 더 기초적인 것에 소홀히 하지 말고 기본 원칙에 대해 잘 알아야 합니다. 그러한 사람이 나중에 더욱 빛이 납니다. 전문성을 기르실 때 한번 생각해 볼 값어치가 있습니다.
새로운 일을 할 때만 하는 것이 아니라 새로운 일을 할 때를 돌이켜 보면 창조적인 일이 생깁니다. 현재는 인터넷을 통해서 라이브러리도 소스를 쉽게 받을 수 있습니다. 어떤 사람들은 소스 코드를 받기 쉽다 보니깐 막 갔다 씁니다. 이런 부분은 사실상 우려됩니다.
잘된 것은 안심하고 써도 되지만 소소 코드도 잘못된 것을 사용하면 치명적입니다. 때문에 시간을 투자해서 내부 구조를 다 이해한 다음에 자기가 쓴 프로그래밍에 갔다 써야하는 것이죠. 시간에 쫒기다 보니 그렇게 많이 안되고 있는 것을 알고 있습니다.
3. 장인 정신
혼이 있는 개발자가 많이 나왔으면 좋겠습니다. 누가 시켜서 한 것이 아니라 능동적이고 자기 스스로 만족하는 레벨 수준이 돼야 합니다. 요즘 버그 잡는 것은 QA(품질관리)가 알아서 해준다라고 생각하는 개발자들이 있습니다. 그래서 코딩한 다음에 그냥 바로 QA팀으로 보내줍니다. 이는 굉장히 문제가 많아요. 퀄리티는 시간의 문제가 아닙니다. 의지와 실력의 문제입니다. 버그는 QA가 잡는 것이 아닙니다. QA팀에서 버그가 나올 때 마다 개발자는 부끄러워해야 합니다. 이런 마인드가 필요합니다.
사실은 한사람이 모든 것을 할 수 없습니다. 요즘은 팀으로 이뤄지다 보니깐 제대로 전달을 해야 합니다. 여러 분야의 전문가가 함께 만들어 가야 합니다. 예전에는 전문가의 실력이 전문지식이었지만 이제는 전문 지식 + 커뮤니케이션 능력이 실력입니다.
시험을 칠 때 100점 받을 실력인데, 하나씩 잘못 내려 써서 0점을 받았을 경우 이에 대해 자신의 의사를 표현해야 합니다. 하지만 대학 입시에서 실력은 최고라 할지라도 0점으로 처리됩니다. 세상은 점수로 평가 받고 있습니다. 그 사람을 보는 주위의 시선은 0점입니다. 주위 사람에서 표현하지 못하면 그 사람은 그 팀에서 그 전문성을 쓰지 못합니다. 오히려 실력이 낮은 사람이 팀에 공헌을 하게 되는 것입니다, 스스로 인정받을 수 있도록 커뮤니케이션 능력을 길러야 합니다.
개발자들은 조금이라도 손해 보려고 하지 않는 경향이 있습니다. 하지만 그것이 반복이 되면 결국 손해를 자신이 입습니다. 일반적으로 친구들 사이에도 항상 얻어먹는 친구가 있습니다. 하지만 10년 되면 그 친구와는 멀어지게 마련입니다. 손해 보는 것 같아도 자기가 먼저 내고 그러한 자세가 필요합니다.
자기가 손해 보지 않으려고 하는 것 보다는 친구가 빈틈이 있으면 메워주려는 노력이 필요합니다. 자기가 미리 할 일을 다 했으면 다른 사람도 좀 도와주라고 말하고 싶습니다. 이런 마음이 나중에 쌓이면 많은 사람들이 같이 일하고 싶어 하는 전문가가 됩니다.
영어 실력 향상도 중요