티스토리 뷰

창업

스타트업과 적정기술

나를찾는아이 2013. 1. 17. 16:46
728x90
반응형

적정 기술(適正技術, 영어: appropriate technology, AT)은 한 공동체의 문화적인, 정치적인, 환경적인 면들을 고려하여 만들어진 기술을 말한다. 적정 기술을 지지하는 사람들은 적정 기술이 대세를 이루는 기술보다 더 적은 자원을 사용하며, 유지하기 더 쉽고, 환경에 더 적은 영향을 미친다고 주장한다. 적정 기술이라는 단어는 개발도상국들, 아니면 이미 산업화된 국가들의 소외된 교외 지역들에 알맞는 단순한 기술을 의미하는데, 보통 이 단어가 이용되는 기술들은 자본집약적 기술이라기 보다는 대부분 노동집약적 기술이다. 실제로, 적정 기술은 특정한 지역에서 효율적으로 원하는 결과를 얻을 수 있게 하는 가장 단순한 수준의 기술을 말한다.


전기가 제대로 공급되는지 않는 곳에서는 아무리 좋은 전자제품이 있더라도 무용지물이다.


아프리카에 아무리 성능이 좋은 컴퓨터를 줘도 전기가 제대로 공급이 되지 않기에 컴퓨터는 전혀 쓸모없는 물건일 뿐이다.



적정기술의 의미를 IT분야 좀더 구체적으로 소프트웨어쪽에 적용한다면 이렇게 표현하고 싶다.


더 쉽게 구축할 수 있고, 더 빠르게 구축할 수 있고, 생산성이 높고, 더 많은 사람이 유지보수 할 수 있는, 내가 처해 있는 주변환경(문화적, 정치적, 환경적, 기술적)을 고려한, 효율적으로 원하는 결과를 얻게 하는 가장 단순한 수준의 기술.


여기서는 효율적이라는 말은, 동일한 결과를 얻는데 가장 최소의 비용을 투자한다는 의미이다.





최근에 다소 어처구니 없는 내용이 담긴 포스팅을 하나 봤는데

그 문장이 포스팅에 주된 내용은 아니었지만

"지금 시대가 2012년인데 아직도 php를 쓰세요?"

라는 발칙한 문장이 담긴 포스팅이었다.


그분이 질문은 하셨으니 내가 대신 대답을 하면


"네 씁니다. 아주 잘~ 쓰고 있습니다."


"PHP쓰면 원시인인건가요? 페이스북 php 쓰는데요? 페이스북만으로는 예가 부족한가요? 다른 예를 더 들어드릴까요?"


"질문을 하는 분께선 무슨 최신 언어를 쓰시길래 그러죠?"


"요즘 핫하다는 node.js 여기저기 모듈 발품팔어 찾아다가 쓰고 계신가요? 아니면 열심히 구글링하면서 루비온레일즈로 삽질하면서 개발하고 계신가요? 아니면 뭐 파이썬이라도?"



어떠한 언어든 어떠한 데이터베이스든 모든 기술에는 각각 장단점이 있다.


반드시 뭘 써야한다는 정답은 없다. 자신이 처한 환경에 맞는 적정기술을 사용하는 것이 중요하다.


금융권에서는 여전히 코볼도 쓰는 판국에 최신 언어를 따질게 아니다.



루비온레일즈 좋다. 루비온레일즈로 만들어진 웹서비스를 운영하던 스타트업이 기존 개발자가 퇴사한 이후에 유지보수할 개발자를 못찾았다는 몇년 전의 웃픈 애기도 갑자기 떠오른다.

파이썬도 좋다. 하지만 개발자 구하는 일이 국내에서 정말 쉬운 일이 아니다. 당신이 생각하고 있는 연봉수준으로 쉽게 구할수 없도, 시장에 매물(?)도 많지 않다.



특히나 요즘에 최신기술들이 쏟아져 나오고 있다.


"우리도 nosql, nodejs같은거 사용해야 하나요?" 라는 질문을 많이 하고, 고민도 한다.


요즘 뜨는 기업들이 nosql을 쓰고, 테크 뉴스에 최신 기술의 이름이 계속해서 나온다고 해서 무턱대고 최신기술을 도입해서 쓰는 것은 답이 아니다.



가장 잘 알고, 잘 쓰고 있는 기술을 사용해라. 적정기술을 사용하자.




nosql? 일단 RDBMS부터라도 써보고 한계점에 부딪히면 그 다음에 고민해라.


오라클을 잘 다루면 오라클을 쓰면되고(물론 오라클 비용을 지불할 수 있는 여력도 있다면), mysql을 잘쓰면 mysql을 쓰면 된다.


모르는거 공부하다가 시장에 진입할 타이밍도 놓치게 되고, 문제가 발생하였을때 어쩔줄몰라 당황한다.


발등에 불이 떨어졌는데 방법을 몰라 어떻게 해야할지 모르고 구글에서 비슷한 사례가 검색되어 나타날때까지 검색만하고 앉아있는 모습을 보고 좋아할 사람은 많지 않다.

가장 익숙한 것, 잘하는 것으로 해라.



프레임워크? 다 좋다. 잘 쓰는것으로 해라.


무턱대로 최신으로 나온 프레임워크 도입했다간, 부족한 메뉴얼과 구글링해도 답이 안나오는 상황에서 대책이 없다.




완벽한 개발, 빌드, 배포 시스템?


각 과정을 모니터링하고 문제점 발생시 리포팅 해주고, 개발서버, 스테이지서버, 리얼서버을 분리해서 단계로별로 검증하고, 배포하는 이러한 시스템을 하루아침에 만들수 있나요?


이와 함께 업무 프로세스도 함께 체계적으로 당장 만들기 어렵다면 그냥 리얼서버에서 코드를 수정하는 과감함을 보여도


시장에 적절한 타이밍에 진입하고, 문제에 대해 빠른 대처를 할수 있다면 나쁜선택지는 아니다.



트래픽?


얼마나 대규모 사용자 기반의 서비스를 만들런지 모르겠는데 벌써부터 3억 사용자가 사용할 것을 가정하고,


하루에 오천만장의 사진이 업로드될것을 생각하고,


하루에 20억개의 메시지가 오고갈 생각을 하고 서비스를 만드는 것은 괜한 쓸데없는 걱정이다.


트래픽폭탄은 맞은 다음에 해결해도 나는 충분히 늦지 않는다고 생각한다.


국민게임 애니팡도 트래픽 폭탄을 겪었고, 트위터도 매일매일 고래가 나오던 때가 있다.


다들 그렇게 개선해나갔고 경험을 통해 점점 더 빈틈없고 탄탄한 시스템이 만들어진것이다.


문제가 발생하였을때 기민하게 움직일수 있는 몸가짐, 마음가짐이면 충분하다.



AWS? 꼭 클라우드 써야하나요?


클라우드 서비스 결코 싸지 않다.


대부분의 하드웨어적, 소프트웨어적 운영비용을 감소시켜주기에 종합적인 관점에서 비용이 저렴하다고 말할 수 있는 것이지 모두에게 싸다고 할수 없다.


그냥 몇백만원짜리 서버를 사서 IDC에 입주시키는게 부담스럽다면, 월 5천원원짜리 호스팅부터 써도 늦지 않다.


내가 만난 수많은 스타트업들은 1만원짜리 호스팅을 써도 그 트래픽을 하루에 다 못채운다.




여기에 하나더 덧붙여서 얘기하자면 유지보수의 용이함이다.



몇년전에 PHP의 아버지인 rasmus를 만나 얘기를 들었던적이 있는데


그의 프레젠테이션에서는 단순한것이 얼마나 좋은지에 대한 내용이 있었다.

특히 개발자라면 고개를 끄덕일만한 '경험과 복잡도에 대한 상관관계' 그래프를 보여주었는데

프로젝트 경험, 개발 경험이 늘어날수록 점점 복잡도가 증가하다가

그 경험이 수준을 넘어가게 되면 점점 간결함을 쫓는다는 그런 그래프이다.



스타트업에서의 제품, 서비스를 위한 개발 코드는 개발자 자신의 예술작품을 만드는 것이 아니다.


내가 지나친 과로로 아파서 누워있을때 부사수가 문제의 코드를 수정할 수 있고 누구나 쉽게 유지보수 할수 있는 코드를 만드는 것도 적정기술이다.




node.js다 뭐다 요즘 수많은 기술들이 쏟아져 나오면서 마치 이런거 하나 안배워두면 뒤쳐지는 개발자가 될것 같고, 뒤쳐지는 테크기업이 될것만 같은 느낌을 받고 있는가? 이런 조급한 마음에 어설프게 기술에 휩쓸려 가면 그 과정에 만나는 수많은 고생으로 더 뒤쳐질것이다.


눈앞에 당면한 과제를 해결하기 위한 최선을 해결책을 찾다보면, 자연스럽게 그 부분에 특화된 신기술을 만나게되고 기술을 사용하게 되는데 이렇게 자연스럽게 적용하면된다.


현재의 적정기술을 이용하되 기술의 흐름에는 눈과 귀를 열어두면 된다. 필요할때 찾아서 쓸 수있도록 말이다.



하이테크를 기반으로 하는 스타트업이라면 기술개발에 모든 노력을 쏟아야 하겠지만,


하이테크를 쫓지 않고, 기존의 비즈니스를 꼬집어서 변화를 만들거나, 구시대적 관습, 어디선가 꼬여있는 비즈니스 생태계를 바꾸려는 비즈니스를 하는 스타트업이라면 하이테크에 목멜 이유가 없다.



적정기술로 MVP(minimum viable product)을 만들어내라.


당신의 비즈니스를 할 수 있는 최소한의 제품을 늦지 않게 시장에 내놓자.



728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함