brunch

You can make anything
by writing

C.S.Lewis

by 신현묵 Apr 19. 2018

최신 개발자 문화가, 놀이가 되어야 하는 이유...

개발의 범위, 비즈니스의 속도, 성숙된 개발환경의 변화

MS cobol 3.0으로 코딩하던 시절에는 화면상에 표를 그리고, 방향키로 커서를 이동시키고, 팝업을 구사하는 UI만 구현해도 엄청난 코딩 스킬을 가져야 가능했던 시절이 있었다.

ANSI코드 키부터 잡다한 PC의 주변 기술적 이해가 가능했었지만, Clipper와 같은 환경에서는 API 한번 호출로 그 작업이 마무리되기도 했다.


그리고, 그만큼 소프트웨어 개발자들의 업무 영역 범위가 단위 화면에서 발생되는 데이터의 입출력과 배치작업과도 같은 정제 작업들이 대부분이었고, 대량 접근이라고 해봐야, 근무자들 수천 명 정도가 접근하는 서버를 구성하면 되는 시대였기 때문에, 대부분의 소프트웨어는 그 구조가 그렇게까지 복잡하지는 않았다.


하지만, 시대가 변했다.


단지, 수백수천 명을 상대하던 내부 사용자 그룹의 소프트웨어 서비스가 아니라, 동시에 수백만 명에서 수억 명이 접근할 수 있는 불특정 한 다수를 만족하는 UI를 구현해야 하고, 적절한 서버 성능을 커버하는 서비스를 구현해야 하는 시대이다.


개발자들은 자신들이 만들어 놓은 프레임웍이나 기술, 환경들에 대해서 매우 다양하게 오픈 소스로 공개했고, 상용 서비스들 또한 마찬가지로 발달되었다.


대부분의 서비스들은 적절한 서비스 범위와 서버 리소스에 맞추어서 설정값을 제대로 세팅만 하면, 큰 문제없이 동작하는 환경이 되었고, 개발자들 역시 그런 의존형 코딩 방식에 충분하게 적응하고 있다.


적절한 기술적인 부채를 생각하고 적당한 세팅값 사이에서 서비스의 균형을 만들고, 대부분의 서비스 사용자들을 만족시키면서 소수의 특이한 환경들은 온라인에서 빠르게 업데이트하는 개발 방법과 프로세스들을 사용하기 시작했다.


개발 동료 역시 바르게 교체되고, 기존의 서비스를 그냥 무시한 상황에서 새로운 서비스들이 빠르게 연결되고 끊어지는 상황이 반복되면서 모니터링이나 리팩터링, 개발환경이 어마 무시하게 복잡해졌다.


어떤 동료들이든지 전체 서비스를 이해하기 위해서는 기존의 레거시와 서비스 환경, 고객의 요구와 유저들의 아우성 속에서 적절한 균형을 찾아야 했다.


새로운 개발환경이나 유의미한 서비스들을 적절하게 버무려서 내가 구현하는 서비스에서 문제를 해결하기는 하지만, 또 다른 문제를 만드는 선택지에서 언제나 갈등하는 것이 현재의 개발환경이다.


개발자들은 이러한 환경에서 균형을 잡아야 하고, 갈등과 고민을 즐거운 놀이로 인식하면서, 적당한 선택과 실패, 성공과 좌절을 계속 수레바퀴처럼 인식하게 되는 것이 현재의 개발환경이다.


이런 환경을 놀이의 방법론과 교육방법, 접근방법들을 꽤 많이들 도입했으며, 제조 업체나 건설현장에서 받아들이던 방법론과 버무려지기 시작했다. 데이터 중심의 통계적인 기법부터 매우 다양한 사람들이 뒤섞이기 된 이런 환경을 놀이로 인지하지 않으면... 다들 쉽지 않은 조직 구성이 될 것이다.


현재의 개발 방법은 누가 무엇을 하든지, 흥미롭거나 재미를 느끼는 형태로 구성되어야 한다.


기술 책임자부터, 디자이나 기획자들을 비롯한 개발자들 모두.. 그런 자신의 욕망과 욕심, 재미와 불쾌함의 경계선에서 균형을 잡고, 극복할 수 있는 적당한 어려움을 작게 해결하면서 즐기는 에피소드들이 나열되어야 한다.


현재의 기술 책임자들은 게임 디자이너들의 역할과 유사해졌다.


자신의 동료들에게 적당하게 극복할 수 있는 수준의 문제를 골고루 게 나열하는 것. 


그것이 현재 개발 방법론의 최신 트렌드라는...

이전 11화 CTO, 개발팀장, 능숙한 개발자...
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari