어떤 분이 힘들다고 푸념하면서 새로운 것을 배워야만 좋은 프로그래머인거냐고 질문을 올렸길래 답을 달았다.
일단은 아래와 같이 답을 달았다.항상 새로운 것을 배우는 것은 훌륭한 프로그래머가 아닙니다.(그렇다고 나쁘다는 뜻도 아닙니다. 단지 새로운 것을 배운다는 것 자체가 훌륭한 프로그래머의 정의는 아니다 라는 의미입니다.)
현재 개발을 하면서 어떤 문제가 반복적인 노가다성 작업인지, 인간의 실수를 유발하는 작업인지를 잘 살피고 그 문제를 해결하기 위해 공부하고 해결책을 제시하는 것은 훌륭한 프로그래머입니다.
다른 사람들의 반복 적이고 인간이 하기에는 오류가 많은 것을 자동화해주는 "프로그래머"라는 직업에 종사하면서 자기 자신이 겪고 있는 문제조차 공부하기 싫어 외면한다는 것은 좋은 프로그래머가 아닙니다.
내가 생각하는 좋은 프로그래머는 (특히 서비스 개발쪽에 종사하는 - 주로 웹,모바일 서비스등) 새로운 것을 추구하는 사람이 아니라 주어진 문제에서 발생하는 최적해를 찾아내는 사람이다. 최신 기술이 중요한게 아니라 최적 기술이 더 중요하며 그 와중에도 반복적이고 오류를 발생시키는 문제가 있을 때에는 과감히 새로운 기술을 도입도 할 수 있어야하고, 비록 낡은 기술이라도 현재 상태의 최적해라면 그리고 팀에 의해 정해진 규칙이고 그 규칙이 별다른 문제가 없다면 묵묵히 따를 수도 있어야 한다.
최신 기술만 추구하는 사람들은 보통 서비스는 제대로 만들지도 못하면서 자기 회사 서비스를 자기 개인 코드 연습장처럼 사용하여 서비스 전체를 아예 오픈도 못해보거나 실제 론칭 후에 발생하는 문제들을 해결하지 못해(너무 신기술이라 폭넓게 검증된 적이 없어서) 손을 놔버리는 모습을 보일 때도 있고,
공부하려들지 않는 개발자들은 어떻게 어떻게 꾸역꾸역 서비스를 유지하지만 근본적인 문제를 해결하지 못하고 외면하면서 문제의 크기를 계속 키워서 시스템 전체를 손댈 수 없는 지경의 위험에 빠뜨리는 것을 본다.
이 둘 간의 균형을 어떻게 유지할 것인가?
응용 프로그래밍
2015.02.13 02:07
새로운 것을 배워야 좋은 프로그래머인가요?
조회 수 319 추천 수 0 댓글 0
TAG •
Who's JaeSoo

공부 게시판
공부에 도움되는 글을 올려주세요.
-
[공지] 공부 게시판 입니다.
-
WIndows Application의 실행 속도 측정
-
[Apple] 엔터프라이즈 계정신청 (Enterprise Program)
-
[MSA] MSA란 무엇인가? 개념 이해하기
-
메모리 영역 (code, data, stack, heap)
-
[SVN] Subversion 명령들
-
IBM JDK 1.6 에서 Spring 2.5.2를 사용할 때 GenericTypeResolver 에서 NullPointerException이 발생하는 문제
-
[전자정부 표준프레임워크] 톰캣(Tomcat) 설치하기
-
프로그래밍 격언
-
새로운 것을 배워야 좋은 프로그래머인가요?
-
개발자&웹퍼블리셔 운영서버 배포관리는 어떻게 하시고 계신가요?
-
버전관리 - 형상관리, 소스세이프, CVS, Subversion(SVN), GIT, mercurial(hg), Perforce
-
빌드를 자동화하라 (Automate the Build)
-
단일화된 소스 저장소를 유지하라. (Maintain a Single Source Repository.)
-
지속적인 통합으로 피처요구사항 빌드하기 (Building a Feature with Continuous Integration)
-
지속적인 통합 (Continuous Integration)
-
변경관리/형상관리/빌드배포 자동화 연동 시 주요 이슈
-
형상관리의 기능 범주
-
Conversion Struts to Spring MVC
-
Spring 3.1 Overview
-
Spring MVC 에서 ContentNegotiatingViewResolver를 이용한 단일 RequestMapping 으로 Muilti-View 처리하기